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

Add clusterId and checks for KubernetesOperators registration #474

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

hjkatz
Copy link
Collaborator

@hjkatz hjkatz commented Oct 29, 2024

What

Describe what the change is solving

During k8sop registration we try to match the k8sop in ngrok API with the configured KubernetesOperator in ngrok-operator.

Currently we're matching on:

  • operator name
  • operator namespace
  • operator namespace UID
  • operator binding name (if exists)

But, the operator name and namespace may be the same (likely) in different clusters, however we do not have a field to check for cluster name/id.

So this PR tentatively adds that feature (but doesn't implement the ngrok API side of things just yet).

How

Describe the solution

Breaking Changes

Are there any breaking changes in this PR?

Yes, .Values.clusterId is now a required field.

@hjkatz hjkatz requested a review from a team as a code owner October 29, 2024 18:20
@github-actions github-actions bot added area/controller Issues dealing with the controller area/helm-chart Issues dealing with the helm chart labels Oct 29, 2024
Copy link
Collaborator Author

hjkatz commented Oct 29, 2024

@hjkatz hjkatz force-pushed the hkatz/k8sop-registration branch 3 times, most recently from 4af89d0 to c3a2b49 Compare November 1, 2024 14:01
@@ -62,6 +62,7 @@ spec:
- /api-manager
args:
- --release-name={{ .Release.Name }}
- --cluster-id={{ .Values.clusterId | required "Missing required .Values.clusterId!"}}
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think we need a way to have this not be supplied for an initial install. The requirements we talked about in slack are detained a bit better by this old issue where we resolved the issue that we required an authtoken and API key on start #317

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 reading from that issue that the desire is the ngrok-operator can be installed into a non-functional/non-reconciling state and we give an error event on the kind: KubernetesOperator itself.

Is that what you mean?

Copy link
Collaborator

Choose a reason for hiding this comment

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

yep, i think something like that would fufill the requirements. Similarly, if you one click install, the operator is just going to log and event that it needs the credentias I believe. The idea is a helm instal without custom options should "just work" to at least helm install, but it may not fully function.

@hjkatz hjkatz changed the base branch from main to hkatz/one-click-demo November 12, 2024 22:48
@hjkatz hjkatz changed the base branch from hkatz/one-click-demo to graphite-base/474 November 13, 2024 16:01
@hjkatz hjkatz changed the base branch from graphite-base/474 to main November 13, 2024 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/controller Issues dealing with the controller area/helm-chart Issues dealing with the helm chart
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants