Skip to content

Support instance-wide monorepo #215

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
isc-tleavitt opened this issue Dec 19, 2022 · 4 comments
Open

Support instance-wide monorepo #215

isc-tleavitt opened this issue Dec 19, 2022 · 4 comments
Labels
customer Based on customer feedback (as opposed to something identified by developers)

Comments

@isc-tleavitt
Copy link
Collaborator

Configuration/design would tie in to #214 . WebUI should support staging/commits with a folder-based filter (current namespace only or cross-namespace for the cases where it matters).

@isc-tleavitt isc-tleavitt self-assigned this Dec 19, 2022
@isc-tleavitt isc-tleavitt added enhancement New feature or request customer Based on customer feedback (as opposed to something identified by developers) labels Dec 19, 2022
@isc-tleavitt isc-tleavitt removed their assignment Oct 22, 2024
@isc-tleavitt isc-tleavitt added this to the H1 2025 Targets milestone Dec 4, 2024
@isc-tleavitt isc-tleavitt removed the enhancement New feature or request label Feb 7, 2025
@isc-tleavitt
Copy link
Collaborator Author

Note: #214 was done independently of this to support some use cases (like HCC) where we want each namespace to be able to use Embedded Git independently.

@isc-tleavitt
Copy link
Collaborator Author

From discussion with @isc-pbarton today - with an instance-wide monorepo:

  • Embedded Git should support automatically configuring mappings for settings so that settings and uncommitted queue live instance-wide
  • We need (as a prerequisite/corequisite) Support namespace scoping for git config file #710 to support intentionally-differing behavior between namespaces
  • Like we have a token in configuration for environment, need the same for namespace.
  • "Import All" and pull event handler needs to be able to span namespaces. To do this, we'll need a new instance-wide pull event handler, and we need to be able to parameterize it with the order in which to import.
  • "Export All" + baseline likewise need to be able to span namespaces
  • Uncommitted queue operations need to be able to backtrack to apply to the correct namespace(s) - this is really tricky but simplified because everything goes through the pull event handler.

So "Instance-wide enabled" means:

  • Add mappings
  • Set proper pull event handler
  • Improper pull event handlers should complain/not be allowed - must be or extend our built-in instance-wide pull event handler

@isc-tleavitt
Copy link
Collaborator Author

For protection of HCC (which won't want this... probably?), we should check to see if mappings already exist but not via %ALL (e.g., REPO) and descriptively refuse to enable instance-wide if they do.

@isc-pbarton
Copy link
Collaborator

Should also include documentation for setting up a multi-namespace monorepository, with guidance such as: shared code should be edited in a single namespace, and the "treat mapped items as read-only" setting should be turned on in all namespaces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer Based on customer feedback (as opposed to something identified by developers)
Projects
None yet
Development

No branches or pull requests

2 participants