From 5873ac34ada5445b7b02b8eb75baea872d6608e9 Mon Sep 17 00:00:00 2001 From: Nicholas openSUSE Software Engineer Date: Mon, 7 Oct 2024 22:14:08 -0300 Subject: [PATCH] [dev-v2.10] documentation strategy from wiki (#4538) --- README.md | 271 +----------------- .../how_to_resolve_patch_failure.md | 150 ---------- docs/assets_lifecycle.png | Bin 87030 -> 0 bytes docs/deprecation.md | 42 --- docs/dev_workflow.png | Bin 118240 -> 0 bytes docs/developing.md | 216 -------------- docs/experimental.md | 44 --- docs/makefile.md | 59 ---- docs/packages.md | 81 ------ docs/validation.md | 80 ------ 10 files changed, 2 insertions(+), 941 deletions(-) delete mode 100644 docs/How-To-Guides/how_to_resolve_patch_failure.md delete mode 100644 docs/assets_lifecycle.png delete mode 100755 docs/deprecation.md delete mode 100644 docs/dev_workflow.png delete mode 100755 docs/developing.md delete mode 100755 docs/experimental.md delete mode 100755 docs/makefile.md delete mode 100755 docs/packages.md delete mode 100755 docs/validation.md diff --git a/README.md b/README.md index e7620128d..ecda5b0dd 100644 --- a/README.md +++ b/README.md @@ -2,273 +2,6 @@ This repository contains Helm charts served by Rancher Apps & Marketplace. -- More information on `how to make changes` to this repository: [`docs/developing.md`](docs/developing.md). -- More information on `experimental features`: [`docs/experimental.md`](docs/experimental.md). -- More information on `commands` that can be run in this repository: [`docs/makefile.md`](docs/makefile.md). -- More information on `Packages`: [`docs/packages.md`](docs/packages.md). -- More information on `CI validation`: [`docs/validation.md`](docs/validation.md). -- [New Out Of Band Release Process](#new-out-of-band-release-process) -- [New Assets Lifecycle](#new-assets-lifecycle) -- [New Release Process Workflow](#new-release-process-workflow) -- [Issues](#issues) -- [Branches](#branches) -- [Making Changes](#making-changes) -- [Adding Net-New dependencies to dev-v2.X](#adding-net-new-dependencies-to-dev-2x) -- [Versioning Charets](#versioning-charts) -- [Upstream Charts](#upstream-charts) -- [Local Charts](#local-charts) -- [Rancher Version Annotations](#rancher-version-annotations) -- [Versioning FAQ](#versioning-faq) -- [Supporting Images in Airgap](#supporting-images-in-airgap) +It is currently maintained by the Release Team. ---- - -### New Out Of Band Release Process -Starting on `17/May/2024`. - -This is only valid for `release-v2.*` branches. -Since this implementation, all teams may release each chart when they want. - -##### Overview of the process: -1. Assuming you have a chart ready and merged on `dev-v2.*` branch. -2. On your local machine: `fetch`, `pull` and `checkout` to `release-v2.*` -3. Create a new branch from `release-v2.*` -4. Execute `make forward-port` -5. Clear your `release.yaml` file, leave only your chart that will be released -6. Add, Commit and push your changes to your forked repository - -**Attention**: If you have a CRD that must be released with the chart, you should repeat `Step 4.` until `Step 6.` for the CRD chart. - -7. Create a Pull Request from your forked repository to `rancher/charts` pointing to `release-v2.*` - - -##### How to use `forward-port`: - -**Usage:** - -```(bash) -make forward-port CHART= VERSION= BRANCH= UPSTREAM= -``` - -Script Arguments Reference: -- CHART=`Chart name, exactly the same as in /charts and /assets folder` -- VERSION=`The version you want to release, the same one you would write into release.yaml` -- BRANCH=`The branch where the ready chart is merged in the remote repository` -- UPSTREAM=`The git remote name where the chart is present` - - -**Real-Example:** - -```(bash) -make forward-port CHART=rancher-istio VERSION=103.3.0+up1.21.1 BRANCH=dev-v2.8 UPSTREAM=upstream -``` - -In this case, we are at branch `release-v2.8`, we have a new version of Istio at `dev-v2.8`. - -The script will get all necessary changes for `assets`, `charts`, `release.yaml` and `index.yaml` and handle them all automatically. - -The changes will be pulled from the remote repository, the `UPSTREAM` variable tells which git remote the script must pull from, in my case I renamed it to upstream, the default value is `origin`. - -``` -❯ git remote -v -fork https://github.com/nicholasSUSE/charts (fetch) -fork https://github.com/nicholasSUSE/charts (push) -upstream https://github.com/rancher/charts (fetch) -upstream https://github.com/rancher/charts (push) - -``` - -### New Assets Lifecycle - -Starting on `17/May/2024` there is a new asset lifecycle in place. - -We will keep only the relevant assets in the corresponding branch. - -This means a cycle of always 3 active branches, with each branch always holding up to 2 previous versions before it. - -In a nutshell: -- release-v2.7 hold chart versions for Rancher: (2.5; 2.6; 2.7) -- release-v2.8 hold chart versions for Rancher: (2.6; 2.7; 2.8) -- release-v2.9 hold chart versions for Rancher: (2.7; 2.8; 2.9) - -![Assets Lifecycle](./docs/assets_lifecycle.png) - - -### New Release Process Workflow - -Starting on `17/May/2024` there is a new workflow for developing and releasing charts in place. - - -![Release Workflow](./docs/dev_workflow.png) - -Main changes from the previous workflow: - -- The development workflow is still the same however QA should test Charts from `dev-v2.X` branches now. -- Instead of the Mapps team releasing Charts in Bataches and waiting for Chart development to be ready, now each team owner is responsible for the release process using `make forward-port`. - - See: [New Out Of Band Release Process](#new-out-of-band-release-process) -- Each Chart owner must be aware of Rancher release dates and must coordinate with QA in order to have the Charts released before the Rancher release happens. - -### Issues - -All issues must be created in the [`rancher/rancher`](https://github.com/rancher/rancher) repository. - -### Branches - -- `dev-2.X` branches contain charts that are under active development, to be released in an upcoming Rancher release. -- `release-v2.X` branches contain charts that have already been developed, tested, and released on an existing Rancher release. - -### Making Changes - -Since this repository uses [`rancher/charts-build-scripts`](https://github.com/rancher/charts-build-scripts), making changes to this repository involves three steps: -1. Adding or modifying an existing `Package` tracked in the `packages/` directory. Usually involves `make prepare`, `make patch`, and `make clean`. -2. Running `make charts` to automatically generate assets used to serve a Helm repository (`charts/`, `assets/`, and `index.yaml`) based on the contents of `packages/`. -3. [CI] Running `make validate` to ensure that all generated assets are up-to-date and ready to be merged. - - -#### Adding Net-New dependencies to dev-2.x -A new build artifact was introduced in v2.7.0 of Rancher, titled `rancher-image-origins.txt`, which denotes the source code repository (github repository) of each image used in Charts and System-Charts. - -When adding new dependencies to dev-2.7+, a PR must first be raised and merged in the Rancher repository with the required changes to the `pkg/image/origins.go` file. - -This ensures that the artifact is up-to-date -with the latest images, and will prevent build failures within Rancher when attempting to generate the artifact. Changes to this file are **not** required when updating versions of existing dependencies. - -#### Versioning Charts - -Two kinds of charts exist in this repository. For each type the versioning is different. - -- upstream charts -- local charts. - -##### Upstream Charts - -In this repository, all packages specify the `version` field in the `package.yaml`. - -The upstream charts follow this versioning: `1.0.#+upX.Y.Z` - -`X`.`Y`.`Z` is the upstream chart's `major`.`minor`.`patch` - -The `1.0.#` versioning scheme roughly corresponds to the following rules (with exceptions): -- **Major Version**: represents the Rancher minor version these charts are being released to. - - Anything less than `100`: Rancher 2.5 - - `100`: Rancher 2.6 - - `101` and `102`: Rancher 2.7 - - `103`: Rancher 2.8 - - `104`: Rancher 2.9 - - etc. -- **Minor Version**: represents a release line of a given chart within a Rancher minor version. -- **Patch Version**: represents a patch to a given release line of a chart within a Rancher minor version. - - -For more information on how package versioning works, please see [`docs/developing.md`](docs/developing.md). - -##### Local Charts - -- For local charts, we don't follow any complex versioning scheme. Only one `semver`, versioning scheme `x.x.x` is being followed. - -#### Rancher Version Annotations - -In addition to modifying the chart version, the `catalog.cattle.io/rancher-version` annotation is required for user-facing charts that show up in Rancher UI; there is no need to add the annotation to CRD charts or internal charts (like fleet). - -General guidelines when releasing a new version of a user-facing chart: - -1. **Ensure the chart has the annotation `catalog.cattle.io/rancher-version` with a lower and upper bound, such as `>= 2.6.0-0 < 2.7.0-0`**. - - - This indicates that a fresh install of the chart should be allowed in any version of Rancher over `2.6.0-0` and below `2.7.0-0` line. - - - It should be freshly installable in `2.6.0+`, but should not be freshly installable in Rancher `2.7.0+`. The lower bound is particularly useful for charts that will **not** work in an older version of Rancher, e.g. `catalog.cattle.io/rancher-version: >= 2.6.2-0 < 2.7.0-0` indicates that this chart should only be freshly installable in Rancher `2.6.2+`, but should not be freshly installable in `Rancher 2.7.0+`. - - If you do this, it is also recommended that you **modify the previously released chart to have `catalog.cattle.io/rancher-version: < 2.6.2-0`**. For instructions on how to modify existing charts, see [`docs/developing.md`](docs/developing.md). -2. **Ensure the chart has the annotation `catalog.cattle.io/kube-version` with a lower and upper bound, such as `>= 1.16.0-0 < 1.25.0-0`**. - - This indicates that a fresh install of the chart should be allowed in a cluster with any version of Kubernetes over `1.16.0` and below `1.25.0` line. It should be freshly installable in a `1.16.0+` cluster, but should not be freshly installable in `1.25.0+`. - -#### Versioning FAQ - -1. Do we directly backport charts to previous Rancher minor versions (e.g. make `100.x.x` available in Rancher `2.5`)? - - - No, we do not. If a fix needs to go to both Rancher `2.5` and `v2.6`, we just release a new chart in each branch. Then, we forward-port the one released in the `release-v2.5` branch to `release-v2.6`. - - - If a fix that went into Rancher `2.6` needs to be backported to Rancher `2.5`, it will be the developer's responsibility to bump the chart version in `dev-v2.5`, copy back the changes, and release a **new** chart following the Rancher `2.5` versioning scheme to `release-v2.5`. - -2. If Rancher `2.5` releases Monitoring `14.5.100` and `16.6.0` and Rancher `2.6` releases Monitoring `100.0.0+up14.5.100` and `100.0.1+up16.6.0`, how do we prevent users from "downgrading" from `16.6.0` to `100.0.0+up14.5.100` on a `helm upgrade` after upgrading Rancher minor versions? - - - Currently, this is unavoidable. There is an expectation that users should look at the upstream annotation on the chart version (e.g. `+upX.Y.Z`), read the Rancher minor version release notes, or consult the chart's `README.md` or `app-README.md` before performing an upgrade on their applications after migrating to a new Rancher minor version. - - - We are still looking for a better way to mitigate this kind of risk. - -3. For Rancher version annotations, why don't we need to add the lower bound all the time? - - - Each Rancher minor version has its dedicated chart release branch (e.g. `release-v2.5`, `release-v2.6`, etc.), so a chart designed for Rancher `2.6.x` will never be available or show up in Rancher `2.5.x`; therefore, we do not need to worry about setting a lower bound of `> 2.5.99-0` on all charts. - -#### Supporting Images in Airgap - -Currently, the scripts used to generate the `rancher-images.txt` (used for mirroring a private registry in a air-gapped Rancher setup) rely on `values.yaml` files in charts that nest all image repository and tags used by the Helm chart under `repository` and `tag` fields. - -For example: - -```yaml -image: org/repo:v0.0.0 # will not be picked up - -hello: - world: - # will be picked up, even though it is nested under hello.world.* - repository: org/repo - tag: v0.0.0 - os: windows # optional, takes in a comma-delimited list of supported OSs. By default, the OS is assumed to be "linux" but you can specify "windows" or "linux,windows" as well. -``` - -Therefore, any charts that are committed into this repository must nest references to Docker images in this format within each chart's `values.yaml`; if an upstream chart you are referencing does not follow this format, it is recommended that you refactor the chart's values.yaml to look like this: - -```yaml -images: - config_reloader: - repository: rancher/mirrored-jimmidyson-configmap-reload - tag: v0.4.0 - fluentbit: - repository: rancher/mirrored-fluent-fluent-bit - tag: 1.7.9 - fluentbit_debug: - repository: rancher/mirrored-fluent-fluent-bit - tag: 1.7.9-debug - fluentd: - repository: rancher/mirrored-banzaicloud-fluentd - tag: v1.12.4-alpine-1 - nodeagent_fluentbit: - os: "windows" - repository: rancher/fluent-bit - tag: 1.7.4 -``` - -#### Pull Request rules - -Please create your Pull Request title following this rule: - -``` -[dev-v2.X] -[release-v2.X] -``` - -A working example: -``` -[dev-v2.8] rancher-istio 103.2.0+up1.19.6 update -``` - -- ``: The full name of the charts exactly how it is written under `/charts folder` -- ``: The full version of the chart, exactly how it is written under `release.yaml` -- ``: `update`; `remove`; `add` - -What you should keep in mind for releasing charts: - -##### Basics -- Each Pull Request should only modify one chart with its dependencies. - -##### release.yaml -- Each chart version in release.yaml DOES NOT modify an already released chart. If so, stop and modify the versions so that it releases a net-new chart. -- Each chart version in release.yaml IS exactly 1 more patch or minor version than the last released chart version. If not, stop and modify the versions so that it releases a net-new chart. - -##### Chart.yaml and index.yaml -- The `index.yaml` file has an entry for your new chart version. -- The `index.yaml` entries for each chart matches the `Chart.yaml` for each chart. -- Each chart has ALL required annotations - - kube-version annotation - - rancher-version annotation - - permits-os annotation (indicates Windows and/or Linux) +More information on [Wiki](https://github.com/rancher/charts/wiki) \ No newline at end of file diff --git a/docs/How-To-Guides/how_to_resolve_patch_failure.md b/docs/How-To-Guides/how_to_resolve_patch_failure.md deleted file mode 100644 index 16c613376..000000000 --- a/docs/How-To-Guides/how_to_resolve_patch_failure.md +++ /dev/null @@ -1,150 +0,0 @@ -## How to resolve patch failures - - -### Problem - -- This guide will help you resolve patch failure errors like the one shown below. - -``` -time="2023-12-01T13:45:56+05:30" level=info msg="Pulling k8snetworkplumbingwg/sriov-network-operator@bcab8844d807ee1db558533248273ccd492874bb/deployment/sriov-network-operator from upstream into charts" -time="2023-12-01T13:46:31+05:30" level=info msg="Loading dependencies for chart" -time="2023-12-01T13:46:31+05:30" level=info msg="Pulling https://github.com/kubernetes-sigs/node-feature-discovery/releases/download/v0.14.1/node-feature-discovery-chart-0.14.1.tgz from upstream into charts" -time="2023-12-01T13:46:33+05:30" level=info msg="Loading dependencies for chart" -time="2023-12-01T13:46:33+05:30" level=info msg="Applying changes from generated-changes" -time="2023-12-01T13:46:33+05:30" level=info msg="Updating chart metadata with dependencies" -time="2023-12-01T13:46:33+05:30" level=warning msg="Detected 'apiVersion:v2' within Chart.yaml; these types of charts require additional testing" -time="2023-12-01T13:46:33+05:30" level=info msg="Applying changes from generated-changes" -time="2023-12-01T13:46:33+05:30" level=info msg="Applying: generated-changes/patch/Chart.yaml.patch" -time="2023-12-01T13:46:33+05:30" level=error msg="\npatching file Chart.yaml\nHunk #1 FAILED at 1.\n1 out of 1 hunk FAILED -- saving rejects to file Chart.yaml.rej\n" -time="2023-12-01T13:46:33+05:30" level=fatal msg="encountered error while preparing main chart: encountered error while trying to apply changes to charts: unable to generate patch with error: exit status 1" -``` - -- This patch failure occured when running `make prepare` on `rancher-sriov` package. The patch file Chart.yaml.patch failed to apply here. So, how do you fix these kinds of patch failures. - -### Solution - -- First, we move out the patch file `Chart.yaml.patch` out of `generated-changes` folder. Here, for example, I am moving the patch file to the github repo directory. - -``` -charts$ mv packages/rancher-sriov/generated-changes/patch/Chart.yaml.patch ./ -``` - -- Later, we run `make prepare` again. If any of the patch files fail, we move out in the similar manner and run `make prepare` again. - - -- Now, we manually apply the Chart.yaml.patch onto `./packages/rancher-sriov/charts/Chart.yaml`. After manually applying the patch file - - -##### *Chart.yaml.patch* - -```--- charts-original/Chart.yaml -+++ charts/Chart.yaml -@@ -1,17 +1,29 @@ -+annotations: -+ catalog.cattle.io/auto-install: sriov-crd=match -+ catalog.cattle.io/certified: rancher -+ catalog.cattle.io/experimental: "true" -+ catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.28.0-0' -+ catalog.cattle.io/namespace: cattle-sriov-system -+ catalog.cattle.io/os: linux -+ catalog.cattle.io/permits-os: linux -+ catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' -+ catalog.cattle.io/release-name: sriov -+ catalog.cattle.io/upstream-version: 1.2.0 - apiVersion: v2 --appVersion: 1.1.0 --dependencies: --- condition: rancher-nfd.enabled -- name: rancher-nfd -- repository: file://./charts/rancher-nfd -+appVersion: 1.2.0 - description: SR-IOV network operator configures and manages SR-IOV networks in the - kubernetes cluster - home: https://github.com/k8snetworkplumbingwg/sriov-network-operator -+icon: https://charts.rancher.io/assets/logos/sr-iov.svg - keywords: - - sriov -+- Networking - kubeVersion: '>= 1.16.0' --name: sriov-network-operator -+maintainers: -+- email: charts@rancher.com -+ name: Rancher Labs -+name: sriov - sources: --- https://github.com/k8snetworkplumbingwg/sriov-network-operator -+- https://github.com/rancher/charts - type: application - version: 0.1.0 -``` - -the `./packages/rancher-sriov/charts/Chart.yaml` is modified from - - -##### *Chart.yaml before manual patching* - - -``` -apiVersion: v2 -appVersion: 1.1.0 -dependencies: -- condition: rancher-nfd.enabled - name: rancher-nfd - repository: file://./charts/rancher-nfd - version: 0.14.1 -description: SR-IOV network operator configures and manages SR-IOV networks in the - kubernetes cluster -home: https://github.com/k8snetworkplumbingwg/sriov-network-operator -keywords: -- sriov -kubeVersion: '>= 1.16.0' -name: sriov-network-operator -sources: -- https://github.com/k8snetworkplumbingwg/sriov-network-operator -type: application -version: 0.1.0 -``` - -to - -##### *Chart.yaml after manual patching* - - ``` - annotations: - catalog.cattle.io/auto-install: sriov-crd=match - catalog.cattle.io/certified: rancher - catalog.cattle.io/experimental: "true" - catalog.cattle.io/kube-version: '>= 1.16.0-0 < 1.28.0-0' - catalog.cattle.io/namespace: cattle-sriov-system - catalog.cattle.io/os: linux - catalog.cattle.io/permits-os: linux - catalog.cattle.io/rancher-version: '>= 2.8.0-0 < 2.9.0-0' - catalog.cattle.io/release-name: sriov - catalog.cattle.io/upstream-version: 1.2.0 -apiVersion: v2 -appVersion: 1.2.0 -description: SR-IOV network operator configures and manages SR-IOV networks in the - kubernetes cluster -home: https://github.com/k8snetworkplumbingwg/sriov-network-operator -icon: https://charts.rancher.io/assets/logos/sr-iov.svg -keywords: -- sriov -- Networking -kubeVersion: '>= 1.16.0' -name: sriov -maintainers: -- email: charts@rancher.com - name: Rancher Labs -sources: -- https://github.com/rancher/charts -type: application -version: 0.1.0 - ``` - - -That's all. `maker prepare` is completed. Make sure to delete the `Chart.yaml.patch` in the repo directory - -``` -charts$ rm Chart.yaml.patch -``` - diff --git a/docs/assets_lifecycle.png b/docs/assets_lifecycle.png deleted file mode 100644 index 3660026051930d3675f7bc768fa2294653aac7b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87030 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 f_y4_tkSM>PzK!(a|JAb2UKCR-+L8vMTil7+Wf diff --git a/docs/deprecation.md b/docs/deprecation.md deleted file mode 100755 index 37f3e6cc8..000000000 --- a/docs/deprecation.md +++ /dev/null @@ -1,42 +0,0 @@ -## Rancher Charts Deprecation Policy - -### Introduction - -This deprecation policy applies to all Helm charts maintained in this repository. It is designed to inform users about our approach to deprecating and removing charts, ensuring that transitions are smooth and expectations are managed appropriately. - -### Objectives - -Our deprecation policy aims to: - -- Provide clear and consistent guidelines on the lifecycle of Helm charts within our repository. -- Ensure stability for users utilizing our charts. -- Encourage the adoption of the latest features, fixes, and improvements. -- Efficiently manage project resources by focusing on charts that offer significant value to our users. - -### Versioning and Releases - -We adhere to [Semantic Versioning (SemVer)](https://semver.org/) for our Helm charts, where releases may introduce bug fixes, new features, or improvements. SemVer dictates: - -- **Major versions (X.y.z)** introduce breaking changes. -- **Minor versions (x.Y.z)** add functionality in a backward-compatible manner. -- **Patch versions (x.y.Z)** are for backward-compatible bug fixes. - -A chart may be deprecated for a number of reasons: upstream chart is no longer available or is not receiving updates, replacement by another chart, a business decision, etc. This repository follows the deprecation policy of Rancher. - -### Deprecation Timeline - -- **General Availability**: The chart is available in Rancher version X.Y.Z - -- **Notice Period**: Deprecation notice provided to users in Rancher X.(Y+1).0. The chart will be supported and maintained through out the supported lifecycle of the minor release. - -- **Chart Deprecated**: The chart will be deprecated in Rancher X.(Y+2).0. The chart will be available to support users who need to upgrade from the X.Y.Z release. The chart is only available as-is and will only receive critical security updates. - -- **End of Life (EOL)**: the chart EOL will be in Rancher X.(Y+3).0. The chart is removed from Rancher in this release. Users must have migrated away from or disabled this feature before upgrading to this release. - -### Migration Assistance - -For significant deprecations, migration guides or documentation will be provided to help users transition to newer versions or alternatives. - -## Exceptions - -Special circumstances, such as critical security vulnerabilities, may necessitate immediate action beyond this policy. Any exceptions will be communicated transparently and promptly. diff --git a/docs/dev_workflow.png b/docs/dev_workflow.png deleted file mode 100644 index 9621e59914c183933e943db591598d4f7d93e5c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118240 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 X+5cV;G{ # can be nested, e.g. rancher-monitoring/rancher-windows-exporter is acceptable -mkdir -p packages/${PACKAGE} -touch packages/${PACKAGE}/package.yaml -``` - -Once the `packages/${PACKAGE}/package.yaml` file has been created, you will need to fill it in. A full explanation of the expected fields in the `package.yaml` can be found under [docs/packages.md](./packages.md); however, here are some simple common configurations you can use: - -#### Local Chart - -```yaml -url: local -# Depending on your organization, one of the following two fields might also need to be provided -# version: x.y.z -# packageVersion: 1 -``` - -*Note: For local charts, you will also need to commit the Helm chart itself under `packages/${PACKAGE}/charts`.* - -#### Upstream Chart Types - -From a Git Repository - -```yaml -url: https://github.com/ORG/REPO.git -commit: xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxX -subdirectory: charts/mychart # optional -# Depending on your organization, one of the following two fields might also need to be provided -# version: x.y.z -# packageVersion: 1 -``` - -From a Chart Archive - -```yaml -url: https://github.com/ORG/REPO/releases/download/VERSION/CHART.tgz -subdirectory: charts/mychart # optional -# Depending on your organization, one of the following two fields might also need to be provided -# version: x.y.z -# packageVersion: 1 -``` - -### Making Changes To Packages - -As a developer making changes to a particular package, you will usually follow the following steps: - -0. If you are working with a single `Package`, set `export PACKAGE=` - - Note: This informs the scripts that you only want to make changes to a particular package. This will prevent the scripts from running commands on every package in this repository. - - Note: Starting v0.3.0 of the scripts, `PACKAGE` can refer to a nested structure, e.g. you can place packages under `packages/my-stuff/package-1` and `packages/my-stuff/package-2`. If you want to target all packages in this nested structure, set `PACKAGE=my-stuff`. If you want to target a specific package in this nested structure, set `PACKAGE=my-stuff/package-1`. It should be noted, however, that `make patch` will **only** work if you point to a specific package, so setting `PACKAGE=my-stuff` would cause it to fail. -1. If necessary, update the `version` or `packageVersion` field in the `package.yaml`. Then run `make charts` and commit the changes. - - Note: It is recommended that your commit message says something along the lines of `Bump ${PACKAGE} version to ${NEW_VERSION}`. -2. Run `make prepare`. This will produce a chart under `packages/${PACKAGE}/charts` that will serve as your working copy of the chart. -3. Make modifications **directly** to the working copy of the chart in `packages/${PACKAGE}/charts`. - - Note: **Do not modify `charts/${PACKAGE}/${CHART}/${VERSION}/` directly** since it will be overridden by changes to `packages/${PACKAGE}/charts`. -4. When you are happy with your changes, run `make patch`. This will automatically construct a `packages/${PACKAGE}/generated-changes` directory after assessing your current working directory in `packages/${PACKAGE}/charts`. - - Note: **You should never directly modify `packages/${PACKAGE}/generated-changes`** unless you are trying to change `packages/${PACKAGE}/generated-changes/dependencies` to update your chart dependencies. This directory is automatically constructed / destroyed by `make patch` to save the least amount of information necessary to reconstruct your working directory on a `make prepare`. -5. Run `make clean` to clean up your working directory. Then, commit your changes to Git with a commit message that indicates what you have changed. - - Note: **To avoid losing unsaved changes, do not run `make clean` unless you have already ran `make patch`.** `make clean` will delete the `packages/${PACKAGE}/charts` directory, so any modifications you made to the working copy of the chart will be lost. -6. To test your changes, run `make charts`. This will automatically create an `assets/${PACKAGE}/${CHART}-${VERSION}.tgz`, the `charts/${PACKAGE}/${CHART}/${VERSION}/` directory, and create or modify an existing `index.yaml`. Commit these changes to Git, usually with a commit titled `make charts`. - - Note: If you push the `make charts` commit to a repository, that repository would be a valid Helm repository to serve your chart. - -If you need to make additional changes after testing, repeat steps 2-6. - -If your repository is configured to use upstream validation (e.g. check if `validation.url` and `validation.branch` is specified in the root `configuration.yaml`), you will also need to add this new chart's name and version to the `release.yaml` or else you will fail CI. If you run `make validate` locally, it will automatically generate this file for you. - -For more information on how to do this or why this is required, please see [`docs/validation.md`](validation.md). - -Otherwise, you are ready to make a PR! - -### Rebasing An Existing Package - -For forked charts only (e.g. any chart where the `package.yaml` does not have `url: local`), currently the scripts do not have good support for rebasing charts to a new upstream. - -The reason why this is the case is that the patch files defined under `packages/${PACKAGE}/generated-changes/patch/*` are based on the old upstream, so when you change the URL it is unable to reconcile how to apply the patch. - -Therefore, the best way to currently rebase is to follow the following workflow: - -0. Set `PACKAGE=` pointing to the specific package you want to work with. -1. If the chart has not been released yet, delete your existing charts, assets, and `index.yaml` entries corresponding to the chart you are rebasing by running `CHART= VERSION= make remove` for each chart (e.g. if you have a chart that also packages a CRD chart, you will need to run `make remove` twice for the main chart and the CRD chart). Then, commit your changes to Git with a commit message that says "Remove charts/assets for " -2. Without making any other changes, run `make prepare`. This will apply your existing patches on your existing upstream to produce `packages/${PACKAGE}/${workingDir}` (usually `packages/${PACKAGE}/charts`). -3. Modify the `package.yaml` to point to your new upstream. -4. Run `make patch`. This will destroy the current contents of `packages/${PACKAGE}/generated-changes` and reconstruct everything as if you were patching the new upstream with your **existing** chart. -5. Run `make clean`. Then, commit your changes to Git with a commit message that says "Rebase from to "; this will make it easier for reviewers to see what you actually introduced in the next commit. -6. Follow the same developer workflow as defined under `Making Changes to Packages` to change the version, add back in changes introduced by upstream, and generate charts / assets. - -Once these steps are compplete, you should have something similar to the following four commits: -1. "Remove charts/assets for " -2. "Rebase from to " -3. "Add changes from rebasing to " -4. "make charts" - -As a result, developers reviewing your chart can see changes made to `packages/` by reviewing changes between commit 2 and commit 3; they can also inspect changes introduced to `charts/` by viewing the overall diff on the PR, since the old assets will show as renamed / modified. - -You are ready to make a PR! - -### Known Issue: Making Changes to the Version of an Existing Package - -If you are working with a repository using `charts-build-scripts` that uses remote validation (e.g. `validate.url` and `validate.branch` are provided in the `configuration.yaml`) and you are making a change that would modify the version of an existing package (e.g. replacing a version like `0.1.2-rc3` with `0.1.2-rc4`), please see the section `Modifying Chart Versions That Exist In Upstream` within [`docs/validation.md`](validation.md) for how to ensure CI still passes after making your change. - -### Versioning Packages - -Generally, repositories that are using `charts-build-scripts` use one of the following two types of built-in versioning schemes for packages: - -#### Version - -This versioning scheme is used if `version` is specified in the `package.yaml`. - -If a valid semver for `version` is provided, the final version of the chart will be the same as the `version` provided. - -The only caveat is that **if** the main chart corresponds to some upstream chart whose chart version is not the same as the `version` provided, then the upstream version will be appended as a build annotation following the pattern `+up`. - -*e.g. If `version` is 100.0.0 and the upstream chart's version is `1.2.3`, the final version will be `100.0.0+up1.2.3`.* - -#### PackageVersion - -This versioning scheme is used if `packageVersion` is specified in the `package.yaml`. - -If a two-digit `packageVersion` is provided, the final version of the chart that is produced under the generated assets will be the same as the version specified by the main chart in the package, except the patch version of will be `int(originalPatchVersion * 100 + packageVersion)`. - -Examples: -- If the main chart version is `1.2.3` and the packageVersion is `1`, the final chart version will be `1.2.301`. -- If the main chart version is `1.2.3` and the packageVersion is `56`, the final chart version will be `1.2.356`. -- If the main chart version is `2.1.0` and the packageVersion is `12`, the final chart version will be `2.1.12`. - - *Note: It is not `2.1.012` since a leading zero in the patch version is invalid semver.* - -##### When should I update the packageVersion? - -You should generally update the `packageVersion` **once per release**. - -If the chart version you are currently modifying has already been released before, you should **bump the `packageVersion` by 1** to ensure you aren't modifying an already released chart. - -*e.g. if chart version `1.2.301` is released, bumping the `packageVersion` to `2` will result in `1.2.302` being released next.* - -If the chart version you are currently modifying has never been released before, you should **reset the `packageVersion` to 1**. - -*e.g. if chart version `1.2.301` is released, but you are currently working on releasing a package based on `1.3.0`, you should reset the `packageVersion` to `1` to release `1.3.1`.* - -*Note: You should reset the packageVersion to 1 instead of 0 since the scripts will always introduce at least one change to the chart.* - -### Updating Dependencies and Subcharts - -The scripts used to maintain this repository natively supports managing dependencies / subcharts for Helm charts. - -Subcharts can be added by creating a file under `packages/${PACKAGE}/generated-changes/dependencies/${SUBCHART}/dependency.yaml`. - -The following utility script can be used to create the necessary `dependency.yaml` file in the right location: - -```shell -PACKAGE= -SUBCHART= -mkdir -p packages/${PACKAGE}/generated-changes/dependencies/${SUBCHART} -touch packages/${PACKAGE}/generated-changes/dependencies/${SUBCHART}/dependency.yaml -``` - -Once the `dependency.yaml` file has been created, you will need to fill it in. The `dependency.yaml` supports a **subset** of `package.yaml` fields (namely, those associated with `UpstreamOptions`; i.e. you can specify local charts, GitHub Repositories, or Chart Archives). More information on UpstreamOptions can be found in [docs/packages.md](./packages.md). - -Once declared, `make prepare` will automatically pull in your dependency under `packages/${PACKAGE}/charts/charts` and add a corresponding entry to the `packages/${PACKAGE}/charts/Chart.yaml` (or `requirement.yaml`, for Helm charts using the older `apiVersion: v1`). You will also be able to patch your dependency from there as if it was part of the original main chart. - -*Note: The name of your subchart, and the alias you can use to override settings of your subchart from the main chart, will be dependent on the name of the directory you place the `dependency.yaml` in. For example, if you created your `dependency.yaml` under `packages/mypackage/generated-changes/dependencies/mydep/dependency.yaml` and ran `PACKAGE=mypackage make prepare`, all subchart settings will be located under the main chart's `values.yaml` under `mydep.*` (e.g. `mydep.enabled`), even if the chart `mydep` points to is named something else.* - -*Note: A common practice for managing dependencies via these scripts is to keep the actual patches on the dependency in a separate package and refer to it in your main chart. To take this approach, declare your dependency as a separate packages under `packages/${DEPENDENCY}` and simply specify `url: packages/${DEPENDENCY}` in the `dependency.yaml` of your main chart. Then, on a `make prepare`, it will prepare the dependency's package first and pull it in on trying to prepare the main chart. It should also be noted that it is the developer's responsibility to ensure that no cyclical dependencies are introduced in this fashion.* - -*Note: if you manage a dependency as a separate package, it's often a good idea to set `doNotRelease: true` on that dependency package's `package.yaml` to indicate that the dependency should not be independently released. This prevents `make charts` from generating assets for the dependency, since it will already be packaged directly into your main chart.* - -*Note: When adding net-new dependencies, a PR must first be raised and merged in the `rancher/Rancher` repository with the required updates to the `rancher/pkg/image/origins.go` file. This file must be updated with the name of the dependency (without any version information) and the Github repository URL from where the image originates from. This information is used to generate an artifact during Rancher releases, and failure to provide it will interfere with Rancher's CI. This file does not need to be updated when bumping versions of released dependencies.* - -#### Known Issue: Managed Files - -In any Helm chart managed by these scripts, we consider the `Chart.yaml` / `requirements.yaml` to be `Managed Files` since they are the only files that end up going through a three-way merge. - -Specifically, the three-way merge occurs because there are three parties involved in applying changes on a `make prepare`: -1. The upstream chart source, which provides the base `Chart.yaml` / `requirements.yaml` -2. The scripts themselves, which make changes to support adding in dependencies based on those specified under `generated-changes/dependencies`. -3. The user, who commits patches to those files after running `make patch` - -As a result, on updating dependencies for charts, these files are prone to having conflicts. - -The only workaround for this issue is to delete the patch files manually (e.g. `rm packages/${PACKAGE}/generated-changes/patch/Chart.yaml.patch` and/or `rm packages/${PACKAGE}/generated-changes/patch/requirements.yaml.patch`), run `make prepare`, and redo the patches you added to these files manually. - -### Making Changes to Released Charts - -If a chart version that you want to make changes to has already been released (i.e. the chart already exists in `charts/`, `assets/` and `index.yaml` and the `Package` that was tracking that chart version has moved on to a future version), you will usually follow the following steps: - -1. Make the change directly to the `charts/{chart}/{version}` files -2. Run `make zip` to automatically zip up `charts/{chart}/{version}` -> `assets/{chart}-{version}.tgz` and update the `index.yaml`. This might also introduce some changes to `charts/{chart}/{version}`, such as when you add an annotation to `charts/{chart}/{version}/Chart.yaml` that needs to be re-ordered alphabetically. - -In addition, if your repository is configured to use upstream validation (e.g. check if `validation.url` and `validation.branch` is specified in the root `configuration.yaml`), you will also need to add this modified chart's name and version to the `release.yaml` or else you will fail CI. If you run `make validate` locally, it will automatically generate this file for you. - -For more information on how to do this or why this is required, please see [`docs/validation.md`](validation.md). - -Otherwise, you are ready to make a PR! - -### Troubleshooting - -Open up an issue on [https://github.com/rancher/charts-build-scripts](https://github.com/rancher/charts-build-scripts). diff --git a/docs/experimental.md b/docs/experimental.md deleted file mode 100755 index 560187144..000000000 --- a/docs/experimental.md +++ /dev/null @@ -1,44 +0,0 @@ -## Experimental - -- [Caching](#caching) -- [Using Manifest Upstreams Instead of Helm Charts](#using-manifest-upstreams-instead-of-helm-charts) -- [Performing only local or upstream validation](#performing-only-local-or-upstream-validation) - -### Caching - -If you specify `export USE_CACHE=1` before running the scripts, a cache will be used that is located at `.charts-build-scripts/.cache`. This cache is only used on `make prepare`, `make patch`, and `make charts`; it is intentionally disabled on `make validate`. - -This cache will be used to store references to anything that is pulled into the scripts (e.g. anything defined via `UpstreamOptions`, such as your upstream charts). If used, the speed of the above three commands may dramatically increase since it is no longer relying on making a network call to pull in your charts from the given cached upstream. - -However, currently caching is only implemented for `UpstreamOptions` that point to a GitHub Repository at a particular commit, since that is an immutable reference (e.g. any amends to that commit would result in a brand-new commit hash). - -If you would like to clean up your cache, either delete the `.charts-build-scripts/.cache` directory or run `make clean-cache`. - -### Using Manifest Upstreams Instead of Helm Charts - -If your package.yaml points to an upstream that does not declare a Chart.yaml, the default behavior of the scripts is as follows: -1) Move all YAML files to `templates` -2) Create a dummy, hard-coded `Chart.yaml`: - -```yaml -apiVersion: v2 -appVersion: 0.1.0 -description: A Helm chart for Kubernetes -name: my-helm-chart -type: application -version: 0.1.0 -``` - -This will be applied on the upstream chart before applying `make patch`, which means that the `generated-changes/patch/Chart.yaml.patch` represents changes you introduce on top of this dummy, hard-coded `Chart.yaml`. As a result, you can proceed to make changes such as adding dependencies, adding annotations, etc. - -Note: This feature is marked as experimental since it's unclear if there are any additional requirements necessary to support edge cases around pulling upstream manifests. Please open up an issue on [https://github.com/rancher/charts-build-scripts](https://github.com/rancher/charts-build-scripts) if you have any suggestions! - -### Performing only local or upstream validation - -In order to make it easier to debug issues related to a failure in `make validate`, two command-line flags were introduced. - -If you would like to perform local validation only (e.g. checking if `make charts` produces no changes), you can run `./bin/charts-build-scripts validate --local`. - -If you would like to perform remote validation only (e.g. checking if all differences between your current repository and an upstream repository are tracked in the `release.yaml`), you can run `./bin/charts-build-scripts validate --upstream`. - -Note: These options have **not** been exposed as environment variables since an average consumer of the scripts should rarely, if at all, have any reason for using these options. diff --git a/docs/makefile.md b/docs/makefile.md deleted file mode 100755 index 484d8faf9..000000000 --- a/docs/makefile.md +++ /dev/null @@ -1,59 +0,0 @@ -## Makefile - -- [Basic Commands](#basic-commands) -- [Package Commands](#package-commands) -- [Assets, Chart, and Index Commands](#assets,-chart,-and-index-commands) -- [CI Commands](#ci-commands) -- [Docs and Scripts Commands](#docs-and-scripts-commands) -- [Advanced Commands](#advanced-commands) - -### Basic Commands - -`make pull-scripts`: Pulls in the version of the `charts-build-scripts` indicated in scripts. - -### Package Commands - -`make prepare`: Pulls in your charts from upstream and creates a basic `generated-changes/` directory with your dependencies from upstream. By default, this prepares every `Package` in your repository, but it can be scoped by providing `PACKAGE=`, where `packagePrefix` can either be 1) the exact folder in which a `package.yaml` resides in `packages/` or 2) a directory that contains multiple directories with `package.yaml` files; in the latter case, all packages in that prefix will be prepared. *If you are working with a local chart with no dependencies, this command does nothing.* - -`make patch`: Updates your `generated-changes/` to reflect the difference between upstream and the current working directory of your branch (note: this command should only be run after `make prepare`). Unlike `make prepare`, `PACKAGE=` must point to an exact folder in which a `package.yaml` resides in `packages/`. *If you are working with a local chart with no dependencies, this command does nothing.* - -`make clean`: Cleans up all the working directories of charts to get your repository ready for a PR. Supports `PACKAGE=` as defined above. *If you are working with a local chart with no dependencies, this command does nothing.* - -`make charts`: Runs `make prepare` and then exports your charts to `assets/` and `charts/` and generates or updates your `index.yaml`. Supports `PACKAGE=` as defined above. - -Please see [`docs/developing.md`](developing.md) for more information on how to use these commands in a normal developer workflow. - -### Assets, Chart, and Index Commands - -`make index`: Reconstructs the `index.yaml` based on the existing charts. Used by `make charts` and `make validate` under the hood. - -`make remove`: Removes the asset and chart associated with a provided chart version. Performs the equivalent of an `rm -rf` on the provided `CHART=` and `VERSION=` entries and runs `make index`. - -`make zip`: Reconstructs archives in the `assets` directory based on the current contents in `charts` and updates the `charts/` contents based on the packaged archive(s). Can be scoped to specific charts via specifying `CHART={chart}` or `CHART={chart}/{version}`. Runs `make index` after reconstruction. - -Please see [`docs/developing.md`](developing.md) for more information on how to use these commands to modify released charts. - -### CI Commands - -`make validate`: Checks whether all generated assets used to serve a Helm repository (`charts/`, `assets/`, and `index.yaml`) are up-to-date. If `validate.url` and `validate.branch` are provided in the configuration.yaml, it will also ensure that any additional changes introduced only modify chart or package versions specified in the `release.yaml`; otherwise it will output the expected `release.yaml` based on assets it detected changes in. - -Please see [`docs/validation.md`](validation.md) for more information on how CI is performed. - -### Docs and Scripts Commands - -`make template`: Updates the current directory by applying the configuration.yaml on [upstream Go templates](https://github.com/rancher/charts-build-scripts/tree/master/templates/template) to pull in the most up-to-date docs, scripts, etc. from [rancher/charts-build-scripts](https://github.com/rancher/charts-build-scripts). - -### Advanced Commands - -`make list`: Prints the list of all packages tracked in the current repository and recognized by the scripts. `export PORCELAIN=1` allows you to specify that the output of this command should be script-friendly. - -`make unzip`: Reconstructs all charts in the `charts` directory based on the current contents in `assets`. Can be scoped to specific charts via specifying `ASSET=` or `ASSET=/-.tgz`. Runs `make index` after reconstruction. - -`make standardize`: Takes an arbitrary Helm repository (defined as any repository with a set of Helm charts under `charts/`) and standardizes it to the expected repository structure of these scripts. - -`make clean-cache`: Deletes `.charts-build-scripts/.cache`. Only used if `export USE_CACHE=1` is set, which indicates that you are using the experimental caching feature introduced in v0.3.0 of the scripts. Please see [`docs/experimental.md`](experimental.md) for more information. - -`BRANCH_VERSION="<2.X>" CHART="" DEBUG="" make enforce-lifecycle`: Lists all assets versions and then starts to remove older versions with `make remove` enforcing the rules defined at: [New Assets Lifecycle](../README.md#new-assets-lifecycle). -If run without specifying `CHART=`, will enforce lifecycle rules in all charts. - -`BRANCH_VERSION="<2.x>" CHART="" make lifecycle-status`: Analyzes the state of the current branch, analyzes the state of the official development and production branches for the given branch version, saves everything to logs on `logs/` folder. \ No newline at end of file diff --git a/docs/packages.md b/docs/packages.md deleted file mode 100755 index dece6033d..000000000 --- a/docs/packages.md +++ /dev/null @@ -1,81 +0,0 @@ -## Packages - -- [What is a Package?](#what-is-a-package?) -- [UpstreamOptions](#upstreamoptions) -- [Additional Charts CRD Options](#additional-charts-crd-options) -- [Directory Structure](#directory-structure) - - -### What is a Package? - -A Package represents a grouping of one or more Helm Charts. It is declared within `packages//package.yaml` with the following spec: - -```text -version: # The version of the generated chart. This value will override the upstream chart's version. Mutually exclusive with packageVersion -packageVersion: 1 # The value range is from 1 to 99. Mutually exclusive with version -workingDir: # The directory within your package that will contain your working copy of the chart (e.g. charts) -url: # A URL pointing to an UpstreamConfiguration -subdirectory: # Optional field for a specific subdirectory for all upstreams -commit: # Optional field for a specific commit if your URL point to a Github Repository -doNotRelease: # Optional field to specify that this chart should not produce any generated changes on running `make charts`. -additionalCharts: -# These contain other charts that you would like to package alongside this chart -- workingDir: # same as above - upstreamOptions: - url: # same as above - subdirectory: # optional, same as above - commit: # optional, same as above - crdOptions: - templateDirectory: # A directory within packages//template that will contain a template for your CRD chart - crdDirectory: # Where to place your CRDs within a CRD chart (e.g. crds for default charts) - addCRDValidationToMainChart: # Whether to add additional validation to your main chart to check that the CRD chart is installed. -``` - -As seen in the spec above, every Package must have exactly one Chart designated as a main Chart (multiple main Charts are not supported at this time) and all other Charts will be considered AdditionalCharts. - -#### UpstreamOptions - -Charts or AdditionalCharts can provide UpstreamOptions with the following possible configurations: -- Chart Archive: provide the `url` and optionally `subdirectory` -- Github Repository: provide the `url` (e.g. `https://github.com/rancher/charts-build-scripts.git`) and optionally a `subdirectory` and a `commit` -- Package: provide a `url: packages/` and the main Chart from that package can be pulled. You should ensure that a loop is not introduced. -- Local: provide `url: local` and the package will assume the contents of `workingDir` are exactly the chart you want to use. - -#### Additional Charts CRD Options - -AdditionalCharts can provide CRDOptions instead of or in addition to -UpstreamOptions. These CRDOptions allow the scripts to automatically construct a -CRD chart from your main Chart's contents based on the template provided. - -A CRD Chart is a Helm Chart whose sole purpose is to install CRDs onto a cluster before the main Chart is installed. - -You should not need a CRD chart if your main chart has the following qualities: -1) Your main chart does not install any CRDs. -2) Even if your main chart installs CRDs, it never installs resources of that kind as part of the release. In this case, CRDs can just remain in your `templates/` directory to be managed by Helm. -3) Neither option from above applies to you, but you do not need to facilitate automatically upgrading CRDs or providing a way for a user to cleanly delete CRDs via a second Helm release. In this case, the current Helm feature of having your CRDs placed in the `crds/` directory should work for you. - -### Directory Structure - -```text -packages/ - / - package.yaml # A file that represents your package's overall configuration - generated-changes/ - additional-charts/ - # Contains one directory per additional chart, keeping track of its dependencies and patches - / - generated-changes/ - # Same as above, but no more additionalCharts - dependencies/ - # Contains one directory per dependency. - - dependency.yaml # The UpstreamConfiguration of a particular dependency - exclude/ - # Files that were excluded from upstream verbatim. Follows the same directory structure as the chart - overlay/ - # Files that were overlaid onto upstream verbatim. Follows the same directory structure as the chart - patch/ - # Files that were patches from upstream. Follows the same directory structure as the chart and contains Unified Unix Diffs - templates/ - # Contains any templates. Currently only used by CRDOptions -``` diff --git a/docs/validation.md b/docs/validation.md deleted file mode 100755 index 5000e906c..000000000 --- a/docs/validation.md +++ /dev/null @@ -1,80 +0,0 @@ -## Validation - -- [Repository CI Validation](#repository-ci-validation) -- [What is the release yaml file](#what-is-the-release-yaml-file) -- [Modifying Chart Versions That Exist In Upstream](#modifying-chart-versions-that-exist-in-upstream) - -### Repository CI Validation - -In order to provide a way for CI to ensure that the current state of a repository is valid and all necessary commits that produce generated changes have been run by developers, `make validate` runs a series of checks on a clean Git repository. - -Specifically, the workflow used by `make validate` does the following: -1. Ensure Git is clean; if not, fail. -2. Run `make charts`; if Git is no longer clean, fail and leave behind the assets. -3. **Only if `validate.url` and `validate.branch` are provided in the `configuration.yaml`**, pull in the specified Git repository, standardize the repository, and check each asset: - - For any assets that exist in upstream, check if it is modified or does not exist in local. If so, copy it over, unzip it, and fail. - - For any assets that exist in local but not in upstream, check if it corresponds to an entry in the `release.yaml`; if not, fail. -4. Run `make unzip`; if Git is no longer clean, fail. - -### What is the release yaml file - -The `release.yaml` is only specified if `validate.url` and `validate.branch` are provided in the repository's `configuration.yaml`. It is created automatically if you run `make validate`, which will produce a list of assets that have been modified based on your upstream repository. - -When a GitHub repository is provided for this repository to validate against, the scripts ensure that any changes introduced to the current repository make **no additions, modifications, or deletions** to the upstream repository's `charts/`, `assets/`, or `index.yaml`. - -**However, if this were the case always, we would not be able to add charts or make modifications to existing charts!** - -Therefore, to signal to the scripts that you are adding a new chart to upstream, making a modification to an existing chart, or removing a chart, you will need to specify the versions under `${CHART}`. - -For example: - -```yaml -: -- -- -- -- ... -rancher-monitoring: -- 100.0.0+up16.6.0 -rancher-monitoring-crd: -- 100.0.0+up16.6.0 -fleet: -- 100.0.0+up0.3.6 -fleet-agent: -- 100.0.0+up0.3.6 -fleet-crd: -- 100.0.0+up0.3.6 -longhorn: -- 100.0.0+up1.1.2 -- 100.0.0+up1.2.0 -longhorn-crd: -- 100.0.0+up1.1.2 -- 100.0.0+up1.2.0 -``` - -### Modifying Chart Versions That Exist In Upstream - -One of the caveats with using the `release.yaml` is that **renames are not supported** (e.g. you cannot remove and replace a chart in a single step). - -As a result, if you attempt to modify a version of a chart that already exists in upstream, **both the old version and the new version must exist in the release.yaml for CI to pass**. Once the changes have been merged, you can later remove the old version from the release.yaml (usually as part of a release process). - -To give a concrete example of such a scenario, let's say that you have currently committed `my-chart` version `0.1.2-rc3`. You then take the following steps: -1. You modify the `package.yaml` to point at a new upstream URL that points to `0.1.2-rc4` and resolve any conflicts with the patch files under `packages/my-chart-package/generated-changes` -2. You run `CHART=my-chart VERSION=0.1.2-rc3 make remove` to delete the older version of the chart -3. You run `make charts` to produce the new assets and charts for `my-chart` version `0.1.2-rc4`. -4. You modify the release.yaml to **replace** `my-chart[0] = 0.1.2-rc3` with `my-chart[0] = 0.1.2-rc4`. -5. You make a PR to your repository. - -In this case, CI will fail since you are attempting to remove `0.1.2-rc3` but it is not tracked in the `release.yaml`. - -Therefore, the correct resolution would be to leave your `release.yaml` as: - -```yaml -... -my-chart: -- 0.1.2-rc3 -- 0.1.2-rc4 -... -``` - -That way, both the removal of `0.1.2-rc3` and the addition of `0.1.2-rc4` are accepted. Later, you can remove `0.1.2-rc3` once the PR has been committed.