weave-gitops icon indicating copy to clipboard operation
weave-gitops copied to clipboard

[Spike] Investigate merging 2 repos

Open katya-makarevich opened this issue 2 years ago • 7 comments

Outcome:

  • options to merge 2 repos OSS and Enterprise described on high level
  • approx. effort for each option with the strategy to execute
  • pros/cons vs current scenario in terms of current engineering pain points and other business opportunities
  • recommendation on whether to do it or not

Timebox:

  • 3 days

katya-makarevich avatar Mar 29 '23 13:03 katya-makarevich

Also tackle #3003 in tandem with this spike.

JamWils avatar Mar 29 '23 13:03 JamWils

  • licensing under entitlements
  • clear integration points between OSS and EE and how this situation enhances

enekofb avatar May 11 '23 12:05 enekofb

@jpellizzari adding notes out of scoping conversation for q2 planning

enekofb avatar May 11 '23 12:05 enekofb

@LappleApple just mentioned in our product engineering roundtable that we could leverage her opensource strategy experience ... i thought it would be useful here!

enekofb avatar May 11 '23 13:05 enekofb

Heya, any news on this front? Do we have a timeline?

lasomethingsomething avatar Jun 05 '23 10:06 lasomethingsomething

@LappleApple No timeline, still doing fact-finding on the "why/if" we should do this.

jpellizzari avatar Jun 05 '23 18:06 jpellizzari

Things we will need to think about:

  • How do releases work?
  • How does installation work?
  • How do we "move" things over gradually?
  • How do we check entitlements securely?

On combining the UIs:

My recommended design would be to have multiple entry points, one for OSS, one for EE. It would look something like this:

https://github.com/jpellizzari/wego-repo-example/blob/d2a385572bd76bfef0fb8317aa1c0892a010c39e/ui/Core.tsx#L10

https://github.com/jpellizzari/wego-repo-example/blob/d2a385572bd76bfef0fb8317aa1c0892a010c39e/ui/Enterprise.tsx#L7

This would allow us to easily control which features show up. The backend logic would also be simple, as the backend server (nginx) would just need to decide which .html file to load. This would probably be done with different docker images at build time.

jpellizzari avatar Jun 08 '23 16:06 jpellizzari