-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Static Manifests Explicitly Target a K8s Version (for all supported versions) #8000
Static Manifests Explicitly Target a K8s Version (for all supported versions) #8000
Conversation
Skipping CI for Draft Pull Request. |
@afirth: This issue is currently awaiting triage. If Ingress contributors determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/kind bug |
Thanks! I will finish the review today. |
@tao12345666333 is there anything I can do to help this along? |
Any chance this get rebased, reviewed and merged anytime soon @afirth? Thanks |
62e00e0
to
b7d25a7
Compare
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: afirth The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Rebased the docs (and fixed some more typos). Maybe reach out on slack to find reviewers? Or perhaps @caseydavenport can help? I'm happy to have a call with an OWNER and step through it if need be (@afirth on cncf slack) |
@afirth This is indeed a huge PR.I didn't spare so much time to finish it. |
/assign |
@afirth: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/close |
@afirth: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
What this PR does / why we need it:
Currently, the static manifests are only compatible with K8s 1.20 APIs. This change generates static manifests for each supported version by calling
helm template
with the recently re-added--kube-version
flagSummary of changes
semverCompare
statements are respected e.g. this onehelm --namespace
is used to set the namespacehelm --kube-version
is used to set the target versiongenerate-deploy-scripts.sh
andadd-namespace.py
move to yaml files whose directory layout matches that of the generated manifestsTypes of changes
Which issue/s this PR fixes
fixes #7810
How Has This Been Tested?
the diff is now visible between 7f3b490d1 and cfeda686a on my fork and shows that only the helm chart version annotation changed
Checklist:
I have added tests to cover my changes.Detailed changes
dc420e6
85c4873
hack/generate-deploy-scripts.sh
are replaced with fileshack/generate-deploy-scripts.sh
is DRYd with a loop over the values filesdeploy/static/provider/
directory is cleaned whenhack/generate-deploy-scripts.sh
is run, in case providers, variants, or K8s target versions are removed in the future60c0f1e
1035cb9
spec.replicas
coming back for one commitaws/deploy-tls-termination.yaml
specified inRELEASE.md
is no longer required and is removedRELEASE_NAME
andNAMESPACE
variables are removed from the shell script as they are only used once. Users wishing to customize the namespace can do so with kustomize by modifiyingnamespace.yaml
and settingnamespace
in their overlay.aws/deploy-tls-termination.yaml
is renamed toaws/nlb-with-tls-termination/deploy.yaml
. This is the only provider with a variant manifest at this time. This change is necessary as multiple files are now used to generate the manifest (plus it smelled a bit)kustomization.yaml
present in each static manifest directory is generated from a template (previously created by hand)33e5bff
add_namespace.py
)adcfd8b
62e00e0
aws/deploy-tls-termination.yaml
are updated with the new pathRELEASE.md
is updated to remove the manual steps and update dependenciesRELEASE.md
Notes to reviewers
Because this introduces reordering and formatting changes to the yaml files (because they are no longer loaded and dumped by python), I've left the intermediate commits and regenerated the manifests at each one, and recommend to review individually.
Additionally, I've loaded the manifests from
main
into kustomize and generated diffs, so you can easily see what materially changed (just the chart version annotations)Further work
If desired I can make a github action to ensure that the static manifests are up to date for each PR