Skip to content

Conversation

@jonstacks
Copy link
Collaborator

What

We've broken out the CRDs into their own chart. With that work, this allows multiple versions of the ngrok-operator to be installed in the same cluster by first installing the CRDs and then installing the ngrok-operator chart twice with installCRDs: false for both the the helm installs.

How

A few of the RBAC resources did not include the release name. This fixes it so that the Roles, RoleBindings, ClusterRoles, and ClusterRoleBindings have the release name included.

I've tested this by using the new make command: make deploy_multi_namespace. The eventual goal(not in this PR) is to have this path tested in CI as well.

Breaking Changes

No.

@jonstacks jonstacks added this to the helm-chart-0.22.0 milestone Dec 18, 2025
@jonstacks jonstacks self-assigned this Dec 18, 2025
@jonstacks jonstacks requested a review from a team as a code owner December 18, 2025 17:54
@github-actions github-actions bot added area/helm-chart Issues dealing with the helm chart size/M Denotes a PR that changes 30-99 lines labels Dec 18, 2025
@codecov
Copy link

codecov bot commented Dec 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 48.97%. Comparing base (36b1193) to head (60dfae5).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #736      +/-   ##
==========================================
- Coverage   49.13%   48.97%   -0.17%     
==========================================
  Files          96       96              
  Lines       10604    10604              
==========================================
- Hits         5210     5193      -17     
- Misses       5034     5048      +14     
- Partials      360      363       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

deploy_multi_namespace: _deploy-check-env-vars docker-build manifests _helm_setup kind-load-image ## Deploy multiple copies of the controller to the K8s cluster specified in ~/.kube/config.
helm upgrade ngrok-operator-crds $(CRD_CHART_DIR) --install \
--kube-context=kind-$(KIND_CLUSTER_NAME) \
--namespace kube-system \
Copy link
Collaborator

Choose a reason for hiding this comment

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

Out of curiosity, is this even necessary? All the resources should be cluster scoped right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, this is just the namespace where the helm release info gets stored. For multi-install, I figured putting it in kube-system was good so we can test deleting namespace-a or namespace-b. Since the CRDs extend the kubernetes API, it felt natural to me to put the helm release in kube-system.

The other option I see would be bypassing helm and just doing a kubectl apply -f of the ngrok-crds templates directory. I was leaning the helm direction so that we test the chart install works like our users would. Let me know what you think

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm going to merge since this was just a nit. Let me know what you think and its something we can change pretty easily

Copy link
Collaborator

Choose a reason for hiding this comment

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

ahh, i wasn't considering the helm release secret. that makes sense, and I don't think it matters much for the secret so this is good 👍

Copy link
Collaborator

@alex-bezek alex-bezek left a comment

Choose a reason for hiding this comment

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

Just a couple of makefile nits, looks good

@jonstacks jonstacks force-pushed the stacks/multiple-installs branch from 585ae44 to 60dfae5 Compare December 19, 2025 15:28
@jonstacks jonstacks added this pull request to the merge queue Dec 19, 2025
Merged via the queue into main with commit 029fd83 Dec 19, 2025
12 checks passed
@jonstacks jonstacks deleted the stacks/multiple-installs branch December 19, 2025 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/helm-chart Issues dealing with the helm chart size/M Denotes a PR that changes 30-99 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants