civo / kubernetes-marketplace

Marketplace of Kubernetes applications available for quick and easy installation in to Civo Kubernetes clusters
https://www.civo.com/
MIT License
216 stars 181 forks source link

fix: Fix Tekton installation #673

Closed SergK closed 5 months ago

SergK commented 5 months ago

There is an issue by applying single app.yaml file and we fail to create CRDs and CRs in the same apply request [1]. This patch changes the approach on how to install tekton, first by creating CRD and then apply the rest of the Tekton Stack with CRs

[1]. https://github.com/kubernetes/kubectl/issues/1179

Thank you for wanting to submit a Pull Request to the Civo Kubernetes Marketplace repository!

If your pull request is to submit a new application to the marketplace, please answer the following questions:

If your pull request concerns an existing Marketplace application, please make sure you have:

SergK commented 5 months ago

Here is installation check:

image
SergK commented 5 months ago

Hello @ssmiller25, could you please review the patch?

ssmiller25 commented 5 months ago

@SergK Thanks for the PR! Excellent bug you found - something that probably donesn't always appear in testing. Out of curiosity, why did you only put one CRD in the install.sh script? There are 16 in the app.yaml, and I assume all of them could potentially suffer the same issue?

Again, great find. Just hoping to make sure this fully resolves any future issues.

SergK commented 5 months ago

@ssmiller25 The installation process creates only one type of custom resource (CR), which is the "clusterinterceptors" CR. Therefore, we are only pre-creating CRD clusterinterceptors initially, and there's no need to pre-create other CRDs. Another goal is to keep everything working with the original Makefile (upstream updates), simplifying further manual updates so that the Make build will produce the expected results from upstream.

ssmiller25 commented 5 months ago

@SergK Gotcha! Thanks for the clarification! I should have looked to see actual CRs that were created during the install. In that case, everything LGTM!

ssmiller25 commented 5 months ago

@saiyam1814 Everything looks good from my perspective, but I’m unable to submit an approval on GitHub.

SergK commented 5 months ago

@ssmiller25, those CRs are part of the official Tekton interceptor installation payload:

https://storage.googleapis.com/tekton-releases/triggers/previous/v0.25.3/interceptors.yaml

Here is how they are provisioned now: https://github.com/civo/kubernetes-marketplace/blob/master/tekton/app.yaml#L5286

saiyam1814 commented 5 months ago

I will approve sorry for the delay