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

refactor: supress usage of kustomize in build #5691

Merged
merged 31 commits into from
Dec 19, 2022

Conversation

eddycharly
Copy link
Member

@eddycharly eddycharly commented Dec 14, 2022

Signed-off-by: Charles-Edouard Brétéché charles.edouard@nirmata.com

Explanation

This PR removes dependency to kustomize by not using it for creating helm chart CRDs, manifests, etc...

We maintain helm but not kustomize code so it's better to remove it from our build pipeline as it's going to become more and more obsolete.

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
@codecov
Copy link

codecov bot commented Dec 14, 2022

Codecov Report

Merging #5691 (3e96649) into main (14d82cb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #5691   +/-   ##
=======================================
  Coverage   34.64%   34.64%           
=======================================
  Files         190      190           
  Lines       21071    21071           
=======================================
  Hits         7300     7300           
  Misses      12961    12961           
  Partials      810      810           
Impacted Files Coverage Δ
pkg/policy/generate/validate.go 22.03% <ø> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
@eddycharly eddycharly marked this pull request as draft December 14, 2022 22:13
eddycharly and others added 8 commits December 14, 2022 23:13
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
@eddycharly eddycharly changed the title refactor: supress usage of kustomize in build (part 1) refactor: supress usage of kustomize in build Dec 15, 2022
eddycharly and others added 7 commits December 15, 2022 15:38
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
@eddycharly eddycharly marked this pull request as ready for review December 16, 2022 13:14
@realshuting
Copy link
Member

realshuting commented Dec 19, 2022

With the current changes, labels selector in the deployment will change and as it is immutable it will trigger the error below:

We need to add instructions on how to upgrade Kyverno while preserving all existing policies.

@eddycharly
Copy link
Member Author

@realshuting label selector should not change with the latest commits.

@eddycharly
Copy link
Member Author

I will update the PR

@$(KUSTOMIZE) build ./config > ./config/install.yaml
@echo Generate install_debug.yaml... >&2
@$(KUSTOMIZE) build ./config/debug > ./config/install_debug.yaml
.PHONY: codegen-manifest-install
Copy link
Member

Choose a reason for hiding this comment

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

Has anything changed regarding the release process?

run make codegen-install, it writes the install.yaml to config/install.yaml
run make codegen-helm-all, it updates Helm charts docs and CRDs

Copy link
Member Author

Choose a reason for hiding this comment

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

run make codegen-install is not necessary, I removed the yaml manifests from the repo, they will be generated on demand.

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Copy link
Member

@realshuting realshuting left a comment

Choose a reason for hiding this comment

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

make codegen-helm-crd is the only command needed for releasing 1.9.0+ correct? I will update the wiki accordingly.

@eddycharly eddycharly merged commit 41fd4fb into kyverno:main Dec 19, 2022
@eddycharly eddycharly deleted the rm-kustomize-1 branch December 19, 2022 15:26
MdSahil-oss pushed a commit to MdSahil-oss/kyverno that referenced this pull request Dec 29, 2022
* refactor: supress usage of kustomize in build (part 1)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* clean

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* labels

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* simplify templating flags

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Md Sahil <Mohdssahil1@gmail.com>
MdSahil-oss pushed a commit to MdSahil-oss/kyverno that referenced this pull request Jan 11, 2023
* refactor: supress usage of kustomize in build (part 1)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* clean

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* labels

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* simplify templating flags

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: MdSahil-oss <Mohdssahil1@gmail.com>
MdSahil-oss pushed a commit to MdSahil-oss/kyverno that referenced this pull request Jan 11, 2023
* refactor: supress usage of kustomize in build (part 1)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* e2e

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* clean

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* labels

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* simplify templating flags

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: MdSahil-oss <Mohdssahil1@gmail.com>
@james-callahan
Copy link
Contributor

Wait why was kustomize support removed?
It was so much nicer to use than helm for kyverno :/

@eddycharly
Copy link
Member Author

Install manifests are available in release artifacts. Does this help ?

@james-callahan
Copy link
Contributor

Install manifests are available in release artifacts. Does this help ?

No. To do a hashlocked kustomize build you want to be able to use a reference of github.com/kyverno/kyverno/config/someapp?ref=123456123456commithash123456123456

You also want the base kustomization to not have e.g. any namespaces

@eddycharly
Copy link
Member Author

We also publish to oci. I think @stefanprodan uses that with kustomize in flux.

Another option is tu use helm to generate the manifests

@james-callahan
Copy link
Contributor

We also publish to oci.

That's a helm thing; doesn't work with kustomize.

Another option is tu use helm to generate the manifests

The whole point here is avoiding helm...

@eddycharly
Copy link
Member Author

We publish manifests to oci, not talking about the helm chart here.

@james-callahan
Copy link
Contributor

We publish manifests to oci,

I'm not sure how that would be helpful?
With a kustomize remote reference https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/resource/ you have a few protocols available, but as far as I know nothing is suitable for fetching an image from an OCI filesystem bundle. https://github.com/hashicorp/go-getter#url-format

@stefanprodan
Copy link
Contributor

stefanprodan commented Feb 14, 2023

@james-callahan see here an example of deploying Kyverno with Flux and Kustomize, using the OCI artifact and verifying its cosign signature are Flux features. https://github.com/fluxcd/flux2-multi-tenancy/tree/main/infrastructure/kyverno

@james-callahan
Copy link
Contributor

@james-callahan see here an example of deploying Kyverno with Flux and Kustomize, using the OCI artifact and verifying its cosign signature are Flux features. https://github.com/fluxcd/flux2-multi-tenancy/tree/main/infrastructure/kyverno

  • That requires people to use Flux (which we don't).
  • It doesn't allow you to use the main feature of kustomize which is selective customisations to specific fields via overlays

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

Successfully merging this pull request may close these issues.

None yet

4 participants