Skip to content
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

routing: control-planes routing should be the single root of our application #3570

Open
johncowen opened this issue Feb 19, 2025 · 0 comments
Labels
kind/feature New feature triage/accepted The issue was reviewed and is complete enough to start working on it
Milestone

Comments

@johncowen
Copy link
Contributor

Description

At the root our our application routing we currently have three siblings:

  • / itself (i.e. Home/ControlPlanesDetailView)
  • /meshes (the Mesh listing MeshListView)
  • /zones (the Zone listing ZoneListView)

This is incorrect as a mesh and a zone live inside a control plane.

We should have a single root / (i.e. "control plane root" which we don't currently have) with two children as siblings

  • / (i.e. "control plane root" which we don't currently have)
    • overview itself (i.e. Home/ControlPlanesDetailView)
    • meshes (the Mesh listing MeshListView)
    • zones (the Zone listing ZoneListView)

This then gives us a place to apply/display things always for an entire single control plane instead of using App.vue to do so.


Perhaps separately (or perhaps not) to this, I would really like to get to the point where we 'mount' our routing configurations ontop of each over from the outside rather than from the inside (we currently do this from the inside meaning tight-coupling of dependencies):

i.e.

// kinda pseudo-code

controlPlaneRoutes

// mount(theRoutes, 'where.to.mount.them')

mount(meshRoutes, 'control-planes')
mount(serviceRoutes, 'control-planes.meshes')
mount(dataplaneRoutes, 'control-planes.meshes')
mount(subscriptionRoutes, 'control-planes.meshes.dataplanes')
mount(networkingRoutes, 'control-planes.meshes.dataplanes')

mount(zoneRoutes, 'control-planes')
mount(subscriptionRoutes, 'control-planes.zones')

mount(ingressRoutes, 'control-planes.zones')
mount(subscriptionRoutes, 'control-planes.zones.ingresses')
mount(networkingRoutes, 'control-planes.zones.ingresses')

mount(egressRoutes, 'control-planes.zones')
mount(subscriptionRoutes, 'control-planes.zones.egresses')
mount(networkingRoutes, 'control-planes.zones.egresses')

This way we have full modular control of our routes (and reusable routes) from The Outside (i.e. looser coupling of dependencies)

@johncowen johncowen added kind/feature New feature triage/pending This issue will be looked at on the next triage meeting labels Feb 19, 2025
@johncowen johncowen changed the title routing: control-planes routing should be at the root of our application routing: control-planes routing should be the single root of our application Feb 19, 2025
@bartsmykla bartsmykla added triage/accepted The issue was reviewed and is complete enough to start working on it and removed triage/pending This issue will be looked at on the next triage meeting labels Feb 24, 2025
@lahabana lahabana added this to the 2.11.x milestone Mar 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New feature triage/accepted The issue was reviewed and is complete enough to start working on it
Projects
None yet
Development

No branches or pull requests

3 participants