diff --git a/README.md b/README.md index a3f1973e6..ab030447f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Helm Operator [![CircleCI](https://circleci.com/gh/fluxcd/helm-operator.svg?style=svg)](https://circleci.com/gh/fluxcd/helm-operator) -[![GoDoc](https://godoc.org/github.com/fluxcd/helm-operator?status.svg)](https://godoc.org/github.com/fluxcd/flux) +[![GoDoc](https://godoc.org/github.com/fluxcd/helm-operator?status.svg)](https://godoc.org/github.com/fluxcd/helm-operator) [![Documentation](https://img.shields.io/badge/latest-documentation-informational)](https://docs.fluxcd.io/en/latest/) The Helm Operator provides an extension to [Flux](https://github.com/fluxcd/flux) @@ -58,12 +58,12 @@ be interested in the following: If you have any questions about Helm Operator and continuous delivery: -- Read [the Helm Operator docs](https://github.com/fluxcd/flux/tree/master/docs). +- Read [the Helm Operator docs](https://docs.fluxcd.io/projects/helm-operator/). - Invite yourself to the CNCF community slack and ask a question on the [#flux](https://cloud-native.slack.com/messages/flux/) channel. - To be part of the conversation about Helm Operator's development, join the [flux-dev mailing list](https://lists.cncf.io/g/cncf-flux-dev). -- [File an issue.](https://github.com/fluxcd/flux/issues/new) +- [File an issue.](https://github.com/fluxcd/helm-operator/issues/new) Your feedback is always welcome! diff --git a/docs/faq.md b/docs/faq.md index 741372df4..9da0189eb 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -1,9 +1,9 @@ # Frequently asked questions -### I'm using SSL between Helm and Tiller. How can I configure Flux to use the certificate? +### I'm using SSL between Helm and Tiller. How can I configure the operator to use the certificate? When installing Flux, you can supply the CA and client-side certificate using the `helmOperator.tls` options, -more details [here](https://github.com/fluxcd/flux/blob/master/chart/flux/README.md#installing-weave-flux-helm-operator-and-helm-with-tls-enabled). +more details [here](./tutorials/get-started.md). ### I've deleted a HelmRelease file from Git. Why is the Helm release still running on my cluster? diff --git a/docs/references/helmrelease-custom-resource.md b/docs/references/helmrelease-custom-resource.md index 6e11789c0..5b100a56e 100644 --- a/docs/references/helmrelease-custom-resource.md +++ b/docs/references/helmrelease-custom-resource.md @@ -2,7 +2,7 @@ Each release of a chart is declared by a `HelmRelease` resource. The schema for these resources is given in [the custom -resource definition](https://github.com/fluxcd/flux/blob/master/deploy-helm/flux-helm-release-crd.yaml). They +resource definition](https://github.com/fluxcd/helm-operator/blob/master/deploy/flux-helm-release-crd.yaml). They look like this: ```yaml @@ -263,7 +263,7 @@ As a workaround, you can mount a `repositories.yaml` file with authentication already configured, into the operator container. > **Note:** When using a custom `repositories.yaml` the -[default](https://github.com/fluxcd/flux/blob/master/docker/helm-repositories.yaml) +[default](https://github.com/fluxcd/helm-operator/blob/master/docker/helm-repositories.yaml) that ships with the operator is overwritten. This means that for any repository you want to make use of you should manually add an entry to your `repositories.yaml` file. @@ -294,7 +294,7 @@ kubectl create secret generic flux-helm-repositories --from-file=./repositories. Lastly, mount that secret into the container. This can be done by setting `helmOperator.configureRepositories.enable` to `true` for the flux Helm release, or as shown in the commented-out sections of the -[example deployment](https://github.com/fluxcd/flux/blob/master/deploy-helm/helm-operator-deployment.yaml). +[example deployment](https://github.com/fluxcd/helm-operator/blob/master/deploy/helm-operator-deployment.yaml). #### Azure ACR repositories @@ -323,7 +323,7 @@ access. To provide an SSH key, put the key in a secret under the entry `identity`, and mount it into the operator container as shown in the -[example deployment](https://github.com/fluxcd/flux/blob/master/deploy-helm/helm-operator-deployment.yaml). +[example deployment](https://github.com/fluxcd/helm-operator/blob/master/deploy/helm-operator-deployment.yaml). The default ssh_config expects an identity file at `/etc/fluxd/ssh/identity`, which is where it'll be if you just uncomment the blocks from the example. diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 9a9d2f78b..61fad1353 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -1,7 +1,7 @@ # Troubleshooting Also see the [issues labeled with -`FAQ`](https://github.com/fluxcd/flux/labels/FAQ), which often +`question`](https://github.com/fluxcd/helm-operator/labels/question), which often explain workarounds. ## Error creating helm client: failed to append certificates from file: /etc/fluxd/helm-ca/ca.crt diff --git a/docs/tutorials/get-started.md b/docs/tutorials/get-started.md index 250a53e4e..7e5f210bf 100644 --- a/docs/tutorials/get-started.md +++ b/docs/tutorials/get-started.md @@ -162,7 +162,7 @@ helm upgrade --install \ --set helmOperator.tls.secretName=helm-client \ --set helmOperator.tls.caContent="$(cat ./tls/ca.pem)" \ flux \ - fluxcd/flux + fluxcd/helm-operator ``` > **Note:** diff --git a/internal_docs/releasing.md b/internal_docs/releasing.md index 08dbecb8b..f0e46626c 100644 --- a/internal_docs/releasing.md +++ b/internal_docs/releasing.md @@ -1,10 +1,9 @@ -# How to release Flux and the Helm operator +# How to release the Helm operator The release process needs to do these things: - create a new release on GitHub, with a tag - push Docker image(s) to Docker Hub - - possibly upload the [`fluxctl` binaries](/docs/references/fluxctl.md#binary-releases) to the GitHub release - make sure the version is entered into the checkpoint database so that up-to-date checks report back accurate information - close out the GitHub milestone that was used to track the release @@ -12,15 +11,11 @@ Much of this is automated, but it needs a human to turn the wheel. ## Overview -The Flux daemon and the Helm operator have separate releases, and use different branches and tags. Flux daemon releases use just a semver version, like `1.8.1`, and the Helm operator uses the prefix "helm", e.g., `helm-0.5.0`. +The Helm operator releases use branches and tags with semver versions, like `1.2.3`. -Each minor version has its own "release series" branch, from which patch releases will be put together, called e.g., `release/1.8.x`, or for the Helm operator, `release/helm-0.5.x`. +Each minor version has its own "release series" branch, from which patch releases will be put together, called e.g., `release/1.2.x`. -The CircleCI script runs builds for tags, which push Docker images and upload binaries. This is triggered by creating a release in GitHub, which will create the tag. - -## Requirements - -- CircleCI must have a secret environmental variable called `GITHUB_TOKEN` which is a personal access token. (This is almost certainly already set up, but mentioned here in case it needs to be reinstated.) +The CircleCI script runs builds for tags, which push Docker images. This is triggered by creating a release in GitHub, which will create the tag. ## Release process @@ -35,9 +30,9 @@ The CircleCI script runs builds for tags, which push Docker images and upload bi For example, ```sh - git checkout release/1.8.x + git checkout release/1.2.x git pull origin - git checkout -b release/1.8.1 + git checkout -b release/1.2.1 ``` 3. Put the commits you want in the release, into your branch @@ -48,32 +43,32 @@ The CircleCI script runs builds for tags, which push Docker images and upload bi 4. Put an entry into the changelog - For the Flux daemon, it's `CHANGELOG.md`; for the Helm operator, it's `CHANGELOG-helmop.md`. Follow the format established, and commit your + The changelog is in `CHANGELOG.md` in the root of the project. Follow the format established, and commit your change. If you cherry-picked commits, remember to only mention those changes. To compile a list of people (GitHub usernames) to thank, you can use a script (if you have access to weaveworks/dx) or peruse the commits/PRs merged/issues since the last release. There's no exact way to do it. Be generous. -5. Consider updating the deploy manifest examples and the Helm chart. +5. Update the versions in the deploy manifest examples and the Helm chart. - The example manifests are in [deploy](./deploy/) and [deploy-helm](./deploy-helm/). Check the changes included in the release, to see if arguments, volume mounts, etc., have changed. + The example manifests templates are in [`pkg/install/templates`](./../pkg/install/templates/), the Helm chart is in [`chart/helm-operator`](./../chart/helm-operator). Check the changes included in the release, to see if arguments, volume mounts, etc., have changed. Read on, for how to publish a new Helm chart version. 6. Post the branch as a PR to the release series - Push the patch release branch -- e.g., `release/1.8.1` -- to GitHub, and create a PR from it. + Push the patch release branch -- e.g., `release/1.2.1` -- to GitHub, and create a PR from it. - > **Note:** You will need to change the branch the PR targets, from `master` to the release series, e.g., `release/1.8.x`, while creating the PR. + > **Note:** You will need to change the branch the PR targets, from `master` to the release series, e.g., `release/1.2.x`, while creating the PR. 7. Get the PR reviewed, and merge it. **Creating the release** -8. [Create a release in GitHub](https://github.com/weaveworks/flux/releases/new) +8. [Create a release in GitHub](https://github.com/fluxcd/helm-operator/releases/new) - Use a tag name as explained above; semver for the Flux daemon, `helm-` then the semver for the Helm operator. + Use a tag name as explained above; semver (`1.2.3`). Copy and paste the changelog entry. You may need to remove newlines that have been inserted by your editor, so that it wraps nicely. @@ -97,12 +92,10 @@ change. ## Helm chart release process -1. Create a new branch as in `chart-bump` -2. Update `appVersion` with the new Flux version in `chart/flux/Chart.yaml` -3. Bump the chart version in `chart/flux/Chart.yaml` -4. Update `image.tag` with the new Flux version in `chart/flux/values.yaml` -5. For Flux Helm Operator update `helmOperator.tag` in `chart/flux/values.yaml` -6. Create a PR from `chart-bump` -7. After the PR is merged, tag the master with the chart version `git tag chart-0.2.2` and push it upstream -8. Checkout the `gh-pages` branch and run `./bin/update-chart.sh chart-0.2.2`, this will generate a new chart release package -9. Add all files generated by `update-chart.sh` and push those changes to `gh-pages` +1. Create a new branch (i.e. `release/chart-1.0.0`) +2. Update `appVersion` with the new Flux Helm operator version in `chart/helm-operator/Chart.yaml` +3. Bump the chart version in `chart/helm-operator/Chart.yaml` +4. (Maybe) update `image.tag` with the new version in `chart/helm-operator/values.yaml` +6. Create a PR +7. After the PR is merged, tag the master with the chart version `git tag chart-1.0.0` and push it upstream +8. CI will build and publish the chart to `fluxcd/charts`