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

Unused SpinAppExecutor webhooks cause circular dependency conflict #229

Open
chrismatteson opened this issue May 6, 2024 · 1 comment
Open

Comments

@chrismatteson
Copy link

Spin-Operator sets up validators and mutator webhooks for SpinApp and SpinAppExecutor. The ones for SpinAppExecutor currently are simply No-op and it's causing an issue when trying to install all of SpinKube in a single Helm chart. Namely the templates which trigger the webhooks get setup first here:
https://github.com/spinkube/spin-operator/blob/main/charts/spin-operator/templates/mutating-webhook-configuration.yaml#L45

Then when the template to install the executor is run, the above code causes it to want to reach out to the webhook, which hasn't been setup yet, resulting in a failure.

However these webhook don't currently do anything:
https://github.com/spinkube/spin-operator/blob/main/internal/webhook/spinappexecutor_defaulting.go

So either can try to ensure that the the SpinAppExecutor template happens before mutating-webhook-configuration template or after the webhook is up. But since the webhook isn't doing anything yet, we should probably disable it for now.

Here is the proof of concept code:
https://github.com/jpflueger/spinkube-oneclick

Context:
This will be very helpful for two reasons:

  1. Demos: We need an automatic way to get SpinKube running as fast as possible
  2. Marketplaces: It seems the K8s marketplaces all want Helm as an input
@adamreese
Copy link
Member

Is cert-manager running when you get the error? You might get the error if cert-manager isn't ready

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants