Skip to content

refactor: profile-controller manifests similar to notebooks v2#199

Merged
google-oss-prow[bot] merged 12 commits into
kubeflow:mainfrom
alokdangre:refactor/profile-controller-manifests
Feb 23, 2026
Merged

refactor: profile-controller manifests similar to notebooks v2#199
google-oss-prow[bot] merged 12 commits into
kubeflow:mainfrom
alokdangre:refactor/profile-controller-manifests

Conversation

@alokdangre
Copy link
Copy Markdown
Contributor

@alokdangre alokdangre commented Feb 14, 2026

Summary

Refactor profile-controller manifests to match the notebooks-style manifests/kustomize layout and keep Istio resources as a reusable component.

  • Move all manifests from config/ to manifests/kustomize/.
  • Restructure top-level folders to strict format:
    • base/
    • components/
    • overlays/
    • samples/
  • Keep Istio manifests as reusable component:
    • components/istio/{authorizationpolicy,virtual-service,params,kustomization}.yaml
  • Update overlays/kubeflow/kustomization.yaml to compose Istio via:
    • components: ../../components/istio
    • while keeping overlay-specific service.yaml and patches/.
  • Consolidate base composition in base/kustomization.yaml and nest generated resources under:
    • base/crd/
    • base/manager/
    • base/rbac/
    • base/patches/
  • Update path consumers to new manifest location:
    • components/profile-controller/Makefile
    • testing/shared/install_profile_controller.sh
    • releasing/update-manifests-images.py
  • Standardize common labels in:
    • manifests/kustomize/base/kustomization.yaml
    • manifests/kustomize/overlays/kubeflow/kustomization.yaml
    • manifests/kustomize/overlays/standalone/kustomization.yaml
  • Keep AuthorizationPolicy selector aligned to app: profiles.

related: #180

Directory Structure

manifests/
└── kustomize/
    ├── base/
    │   ├── crd/
    │   ├── manager/
    │   ├── patches/
    │   ├── rbac/
    │   ├── kustomization.yaml
    │   └── namespace-labels.yaml
    ├── components/
    │   ├── istio/
    │   │   ├── authorizationpolicy.yaml
    │   │   ├── kustomization.yaml
    │   │   ├── params.yaml
    │   │   └── virtual-service.yaml
    │   └── prometheus/
    ├── overlays/
    │   ├── kubeflow/
    │   │   ├── kustomization.yaml
    │   │   ├── patches/
    │   │   └── service.yaml
    │   └── standalone/
    ├── samples/
    └── README.md

Note: kustomize deprecation warnings (commonLabels, patchesStrategicMerge, vars) are pre-existing and not introduced by this refactor.

@alokdangre
Copy link
Copy Markdown
Contributor Author

  • Moved generated dirs under base:
    • crd -> base/crd
    • manager -> base/manager
    • rbac -> base/rbac
    • Moved old default patches into base/patches and merged base/default behavior into kustomization.yaml
    • Moved prometheus resources into components/prometheus.
  • Updated path consumers:
    • components/profile-controller/Makefile
    • install_profile_controller.sh
    • update-manifests-images.py
  • Updated docs/comments for new structure:
    • README.md
    • kustomization.yaml

@thesuperzapper thesuperzapper changed the title refactor(profile): extract istio resources into component refactor: extract istio resources into component Feb 15, 2026
Move kubeflow overlay Istio manifests (authorization policy, virtual service, params config) into config/components/istio and compose them from overlays/kubeflow. Update common labels in default and overlay kustomizations and align the authorization policy selector with app labels.

Signed-off-by: alokdangre <alokdangre@gmail.com>
Reorganize profile-controller manifests under manifests/kustomize.\nUpdate Makefile, release tooling, and install script paths to the new layout.

Signed-off-by: alokdangre <alokdangre@gmail.com>
@alokdangre alokdangre force-pushed the refactor/profile-controller-manifests branch from ddc831a to f00e26b Compare February 16, 2026 04:10
@google-oss-prow google-oss-prow Bot added area/ci area - related to ci area/profiles area - related to profile-controller area/release area - related to releasing labels Feb 16, 2026
Switch workflows to manifests/kustomize and update envtest CRD path for profile-controller unit tests.

Signed-off-by: alokdangre <alokdangre@gmail.com>
@alokdangre alokdangre force-pushed the refactor/profile-controller-manifests branch from 12dbbfe to 311fad8 Compare February 16, 2026 06:06
Signed-off-by: alokdangre <alokdangre@gmail.com>
Copy link
Copy Markdown
Contributor

@andyatmiami andyatmiami left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alokdangre

Most importantly - I appreciate your willingness to learn and jump in on this admittedly complex refactoring of profile-controller. I'm sure you and I both will learn a lot as we get this PR in shape to be merge-able.

That being said - we have a lot of work we need to do to get this PR ready 😇

I would highly encourage you to make the folder hierarchy AS SIMILAR AS POSSIBLE to what the controller directory looks like in notebooks-v2:

⚠️ There will be certainly some differences with profile-controller as compared to notebooks-v2/controller - as profile-controller acts like both the backend and controller of notebooks-v2 as a single thing. Additionally, the kfam logic in this repo is also wild and not a pattern you will find in notebooks-v2 😎

ℹ️ I'm sure there is going to be a couple rounds of reviews necessary to get this ready to roll. As such - please understand all the PR comments contained herein are NOT exhaustive. Lets focus first on fixing, above all else, the directory structure. As other things clean up - I can then focus more on the content of the files - which I didn't have enough focus time to do on this PR.

Comment thread components/profile-controller/controllers/suite_test.go Outdated
Comment thread components/profile-controller/manifests/kustomize/base/crd/kustomization.yaml Outdated
Comment thread components/profile-controller/manifests/kustomize/README.md Outdated
Comment thread components/profile-controller/Makefile Outdated
Comment thread components/profile-controller/README.md Outdated
@google-oss-prow google-oss-prow Bot added size/XXL and removed size/L labels Feb 17, 2026
@alokdangre alokdangre force-pushed the refactor/profile-controller-manifests branch 2 times, most recently from 4dacdfa to fa661ec Compare February 17, 2026 11:33
…s-v2

- Flatten crd directory: remove bases/ and patches/ subdirs
- Move RBAC files to base/manager/
- Create base/webhook/ for webhook patches
- Create components/kfam/ for kfam service
- Move auth_proxy resources to components/prometheus/
- Update kustomization.yaml files to use new structure
- Replace deprecated kustomize fields (commonLabels, namePrefix, vars)
- Hardcode resource names with profiles- prefix
- Update Makefile and suite_test.go paths

Signed-off-by: alokdangre <alokdangre@gmail.com>
@alokdangre alokdangre force-pushed the refactor/profile-controller-manifests branch from fa661ec to d360d4a Compare February 17, 2026 13:01
@alokdangre
Copy link
Copy Markdown
Contributor Author

@alokdangre

Most importantly - I appreciate your willingness to learn and jump in on this admittedly complex refactoring of profile-controller. I'm sure you and I both will learn a lot as we get this PR in shape to be merge-able.

That being said - we have a lot of work we need to do to get this PR ready 😇

I would highly encourage you to make the folder hierarchy AS SIMILAR AS POSSIBLE to what the controller directory looks like in notebooks-v2:

⚠️ There will be certainly some differences with profile-controller as compared to notebooks-v2/controller - as profile-controller acts like both the backend and controller of notebooks-v2 as a single thing. Additionally, the kfam logic in this repo is also wild and not a pattern you will find in notebooks-v2 😎

ℹ️ I'm sure there is going to be a couple rounds of reviews necessary to get this ready to roll. As such - please understand all the PR comments contained herein are NOT exhaustive. Lets focus first on fixing, above all else, the directory structure. As other things clean up - I can then focus more on the content of the files - which I didn't have enough focus time to do on this PR.

@andyatmiami thanks fo reviewing, i now understand and implemented the folder structure as per notebooks v2

@thesuperzapper thesuperzapper changed the title refactor: extract istio resources into component refactor: profile-controller manifests similar to notebooks v2 Feb 19, 2026
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
@google-oss-prow google-oss-prow Bot added area/dashboard area - related to central dashboard area/dashboard-angular area - related to central dashboard angular area/poddefaults area - related to poddefaults webhook labels Feb 23, 2026
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
@thesuperzapper
Copy link
Copy Markdown
Member

/ok-to-test

@thesuperzapper
Copy link
Copy Markdown
Member

Thanks to everyone for working to get this over the line, especially @andyatmiami and @alokdangre for doing extended live coding sessions to figure a lot of this legacy stuff out.

I have been pushing commits as we were working, and am now happy to merge this, especially as all tests now pass, and because we will be doing more testing before we cut a final 2.0.0 release anyway, hopefully we come across anything we missed during that process.

But thanks again as this series of PRs has left the dashboard manifests in a much more maintainable state for future releases!

/lgtm
/approve

@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: thesuperzapper

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow Bot merged commit 3e61392 into kubeflow:main Feb 23, 2026
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved area/ci area - related to ci area/dashboard area - related to central dashboard area/dashboard-angular area - related to central dashboard angular area/poddefaults area - related to poddefaults webhook area/profiles area - related to profile-controller area/release area - related to releasing lgtm ok-to-test size/XXL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants