Skip to content

Commit 1752e10

Browse files
authored
Merge pull request #583 from jetstack/release-v1.1.0-alpha.0
[Release v1.1.0-alpha.0] Bump Helm chart version to 1.1.0-alpha.0
2 parents ebb701c + 59c27fa commit 1752e10

File tree

2 files changed

+97
-83
lines changed

2 files changed

+97
-83
lines changed

README.md

Lines changed: 81 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,18 @@ If you use the Prometheus Operator, you can use `--set metrics.podmonitor.enable
5151
which will add the venafi-kubernetes-agent metrics to your Prometheus server.
5252

5353
The following metrics are collected:
54-
* Go collector: via the [default registry](https://github.com/prometheus/client_golang/blob/34e02e282dc4a3cb55ca6441b489ec182e654d59/prometheus/registry.go#L60-L63) in Prometheus client_golang.
55-
* Process collector: via the [default registry](https://github.com/prometheus/client_golang/blob/34e02e282dc4a3cb55ca6441b489ec182e654d59/prometheus/registry.go#L60-L63) in Prometheus client_golang.
56-
* Agent metrics:
57-
* `data_readings_upload_size`: Data readings upload size (in bytes) sent by the jscp in-cluster agent.
5854

55+
- Go collector: via the [default registry](https://github.com/prometheus/client_golang/blob/34e02e282dc4a3cb55ca6441b489ec182e654d59/prometheus/registry.go#L60-L63) in Prometheus client_golang.
56+
- Process collector: via the [default registry](https://github.com/prometheus/client_golang/blob/34e02e282dc4a3cb55ca6441b489ec182e654d59/prometheus/registry.go#L60-L63) in Prometheus client_golang.
57+
- Agent metrics:
58+
- `data_readings_upload_size`: Data readings upload size (in bytes) sent by the jscp in-cluster agent.
5959

6060
## Tiers, Images and Helm Charts
6161

6262
The Docker images are:
6363

64-
| Image | Access | Tier | Docs |
65-
|-----------------------------------------------------------|---------|---------------------------------------------|-----------------------------|
64+
| Image | Access | Tier | Docs |
65+
| --------------------------------------------------------- | ------- | ------------------------------------------- | --------------------------- |
6666
| `quay.io/jetstack/preflight` | Public | Tier 1 and 2 of Jetstack Secure | |
6767
| `quay.io/jetstack/venafi-agent` | Public | Not meant for users, used for mirroring | |
6868
| `registry.venafi.cloud/venafi-agent/venafi-agent` | Public | Tier 1 of Venafi TLS Protect for Kubernetes | |
@@ -74,14 +74,16 @@ The Docker images are:
7474

7575
The Helm charts are:
7676

77-
| Helm Chart | Access | Tier | Documentation |
78-
|----------------------------------------------------------------------|---------|---------------------------------------------|----------------------------------|
79-
| `oci://eu.gcr.io/jetstack-secure-enterprise/charts/jetstack-agent` | Private | Tier 2 of Jetstack Secure | [Jetstack Enterprise Registry][] |
80-
| `oci://us.gcr.io/jetstack-secure-enterprise/charts/jetstack-agent` | Private | Tier 2 of Jetstack Secure | [Jetstack Enterprise Registry][] |
81-
| `oci://registry.venafi.cloud/charts/venafi-kubernetes-agent` | Public | Tier 1 of Venafi TLS Protect for Kubernetes | |
82-
| `oci://private-registry.venafi.cloud/charts/venafi-kubernetes-agent` | Private | Tier 2 of Venafi TLS Protect for Kubernetes | |
83-
| `oci://private-registry.venafi.eu/charts/venafi-kubernetes-agent` | Private | Tier 2 of Venafi TLS Protect for Kubernetes | |
84-
77+
| Helm Chart | Access | Tier | Access Documentation |
78+
| --------------------------------------------------------------------------- | ------- | ------------------------------------------- | -------------------------------- |
79+
| `oci://eu.gcr.io/jetstack-secure-enterprise/charts/jetstack-agent` | Private | Tier 2 of Jetstack Secure | [Jetstack Enterprise Registry][] |
80+
| `oci://us.gcr.io/jetstack-secure-enterprise/charts/jetstack-agent` | Private | Tier 2 of Jetstack Secure | [Jetstack Enterprise Registry][] |
81+
| `oci://quay.io/jetstack/charts/venafi-kubernetes-agent` | Public | Not meant for users, used for mirroring | |
82+
| `oci://eu.gcr.io/jetstack-secure-enterprise/charts/venafi-kubernetes-agent` | Private | Not meant for users, used for mirroring | |
83+
| `oci://us.gcr.io/jetstack-secure-enterprise/charts/venafi-kubernetes-agent` | Private | Not meant for users, used for mirroring | |
84+
| `oci://registry.venafi.cloud/charts/venafi-kubernetes-agent` | Public | Tier 1 of Venafi TLS Protect for Kubernetes | |
85+
| `oci://private-registry.venafi.cloud/charts/venafi-kubernetes-agent` | Private | Tier 2 of Venafi TLS Protect for Kubernetes | [Venafi Private Registry][] |
86+
| `oci://private-registry.venafi.eu/charts/venafi-kubernetes-agent` | Private | Tier 2 of Venafi TLS Protect for Kubernetes | [Venafi Private Registry][] |
8587

8688
## Release Process
8789

@@ -92,99 +94,98 @@ The release process is semi-automated.
9294

9395
### Step 1: Incrementing Versions And Git Tag
9496

95-
1. Choose the next semver version number.
96-
This project has only ever incremented the "patch" number (never the "minor" number) regardless of the scope of the changes.
97-
1. Create a branch.
98-
1. Increment version numbers in the `venafi-kubernetes-agent` Helm chart.
99-
(the `jetstack-secure` Helm chart uses a different version scheme and is updated and released separately):
100-
1. Increment the `version` value in [Chart.yaml](deploy/charts/venafi-kubernetes-agent/Chart.yaml).
101-
DO NOT use a `v` prefix.
102-
The `v` prefix [breaks Helm OCI operations](https://github.com/helm/helm/issues/11107).
103-
1. Increment `appVersion` value in [Chart.yaml](deploy/charts/venafi-kubernetes-agent/Chart.yaml).
104-
Use a `v` prefix, to match the Docker image tag.
105-
1. Commit the changes.
106-
1. Create a pull request and wait for it to be approved.
107-
1. Merge the branch.
10897
1. Go to the GitHub Releases page and click "Draft a New Release".
109-
- Click "Create a new tag" with the version number prefixed with `v` (e.g., `v0.1.49`).
110-
- Use the title "v0.1.49",
98+
- Click "Create a new tag" with the version number prefixed with `v` (e.g., `v1.1.0`).
99+
- Use the title "v1.1.0",
111100
- Click "Generate Release Notes"
112101
- Edit the release notes to make them readable to the end-user.
113102
- Click "Publish" (don't select "Draft")
114-
115-
> [!WARNING]
116-
>
117-
> Don't worry about the "signing" pipeline job failing. It hasn't be working for a while. It should be removed as we don't need the provenance steps anymore. We are now signing our image during the replication of the OCI images to Harbor using the Venafi keys.
103+
2. Inform Michael McLoughlin of the new release so he can update the
104+
documentation at <https://docs.venafi.cloud/>.
118105

119106
> [!NOTE]
120107
>
121-
> For context, the new tag will trigger the following:
108+
> For context, the new tag will create the following images:
122109
>
123-
> | Image | Automation |
124-
> | --------------------------------------------------------- | ------------------------------------------------------------------------------ |
125-
> | `quay.io/jetstack/preflight` | Built by GitHub Actions [release-master](.github/workflows/release-master.yml) |
126-
> | `quay.io/jetstack/venafi-agent` | Built by GitHub Actions [release-master](.github/workflows/release-master.yml) |
127-
> | `registry.venafi.cloud/venafi-agent/venafi-agent` | Mirrored by a GitLab cron job |
128-
> | `private-registry.venafi.cloud/venafi-agent/venafi-agent` | Mirrored by a GitLab cron job |
129-
> | `private-registry.venafi.eu/venafi-agent/venafi-agent` | Mirrored by a GitLab cron job |
110+
> | Image | Automation |
111+
> | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
112+
> | `quay.io/jetstack/preflight` | No longer built. Use `quay.io/jetstack/venafi-agent` instead. |
113+
> | `quay.io/jetstack/venafi-agent` | Automatically built by GitHub Actions [release-master](.github/workflows/release-master.yml) on Git tags |
114+
> | `registry.venafi.cloud/venafi-agent/venafi-agent` | Automatically mirrored by Harbor Replication rule [public-img-and-chart-replication.tf][] that runs every 30 minutes, all image tags containing `X.X.X` are replicated, including e.g. `1.0.0-alpha.0` |
115+
> | `private-registry.venafi.cloud/venafi-agent/venafi-agent` | Automatically mirrored by Harbor Replication rule [private-img-and-chart-replication.tf][] that runs every 10 minutes, all image tags containing `X.X.X` are replicated, including e.g. `1.0.0-alpha.0` |
116+
> | `private-registry.venafi.eu/venafi-agent/venafi-agent` | Automatically mirrored by Harbor Replication rule [private-img-and-chart-replication.tf][] that runs every 10 minutes, all image tags containing `X.X.X` are replicated, including e.g. `1.0.0-alpha.0` |
130117
>
131-
> The above GitLab cron job is managed by David Barranco. It mirrors the image
132-
> `quay.io/jetstack/venafi-agent`.
133-
134-
### Step 2: Release the Helm Chart "venafi-kubernetes-agent"
135-
136-
The [venafi-kubernetes-agent](deploy/charts/venafi-kubernetes-agent/README.md) chart
137-
is released manually, as follows:
138-
139-
```sh
140-
export VERSION=0.1.43
141-
helm package deploy/charts/venafi-kubernetes-agent --version "${VERSION}"
142-
docker login -u oauth2accesstoken --password-stdin eu.gcr.io < <(gcloud auth application-default print-access-token)
143-
helm push venafi-kubernetes-agent-${VERSION}.tgz oci://eu.gcr.io/jetstack-secure-enterprise/charts
144-
```
145-
146-
> ℹ️ To test the Helm chart before releasing it, use a [pre-release suffix](https://semver.org/#spec-item-9). E.g.
147-
> `export VERSION=0.1.43-alpha.0`.
148-
149-
The chart will be mirrored to:
150-
* `registry.venafi.cloud/charts/venafi-kubernetes-agent` (Public)
151-
* `private-registry.venafi.cloud/charts/venafi-kubernetes-agent` (Private, US)
152-
* `private-registry.venafi.eu/charts/venafi-kubernetes-agent` (Private, EU)
153-
154-
### Step 3: Release the Helm Chart "jetstack-secure"
118+
> and the following OCI Helm charts:
119+
>
120+
> | Helm Chart | Automation |
121+
> | --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
122+
> | `oci://eu.gcr.io/jetstack-secure-enterprise/charts/jetstack-agent` | Manually triggered, GitHub Actions workflow [release_venafi-agent_chart.yaml][] |
123+
> | `oci://us.gcr.io/jetstack-secure-enterprise/charts/jetstack-agent` | Manually triggered, GitHub Actions workflow [release_venafi-agent_chart.yaml][] |
124+
> | `oci://quay.io/jetstack/charts/venafi-kubernetes-agent` | Automatically built by GitHub Actions [release-master](.github/workflows/release-master.yml) on Git tags[] |
125+
> | `oci://eu.gcr.io/jetstack-secure-enterprise/charts/venafi-kubernetes-agent` | Manually triggered, GitHub Actions workflow [release_js-agent_chart.yaml][] |
126+
> | `oci://us.gcr.io/jetstack-secure-enterprise/charts/venafi-kubernetes-agent` | Manually triggered, GitHub Actions workflow [release_js-agent_chart.yaml][] |
127+
> | `oci://registry.venafi.cloud/charts/venafi-kubernetes-agent` | Automatically mirrored by Harbor Replication rule [public-img-and-chart-replication.tf][] that runs every 30 minutes, all image tags containing `X.X.X` are replicated, including e.g. `v1.0.0-alpha.0` |
128+
> | `oci://private-registry.venafi.cloud/charts/venafi-kubernetes-agent` | Automatically mirrored by Harbor Replication rule [private-img-and-chart-replication.tf][] that runs every 10 minutes, all image tags containing `X.X.X` are replicated, including e.g. `v1.0.0-alpha.0` |
129+
> | `oci://private-registry.venafi.eu/charts/venafi-kubernetes-agent` | Automatically mirrored by Harbor Replication rule [private-img-and-chart-replication.tf][] that runs every 10 minutes, all image tags containing `X.X.X` are replicated, including e.g. `v1.0.0-alpha.0` |
130+
>
131+
> Here is the flow replication:
132+
>
133+
> ```text
134+
> v1.1.0 (Git tag)
135+
> ├── oci://quay.io/jetstack/charts/venafi-kubernetes-agent --version 1.1.0 (this project's GitHub Actions)
136+
> │ ├── oci://us.gcr.io/jetstack-secure-enterprise/charts/venafi-kubernetes-agent (Enterprise Builds's GitHub Actions)
137+
> │ └── oci://eu.gcr.io/jetstack-secure-enterprise/charts/venafi-kubernetes-agent (Enterprise Builds's GitHub Actions)
138+
> │ ├── oci://registry.venafi.cloud/charts/venafi-kubernetes-agent --version 1.1.0 (Harbor Replication)
139+
> │ └── oci://private-registry.venafi.cloud/charts/venafi-kubernetes-agent --version 1.1.0 (Harbor Replication)
140+
> │ └── oci://private-registry.venafi.eu/charts/venafi-kubernetes-agent --version 1.1.0 (Harbor Replication)
141+
> └─ quay.io/jetstack/venafi-agent:v1.1.0 (this project's GitHub Actions)
142+
> ├── registry.venafi.cloud/venafi-agent/venafi-agent:v1.1.0 (Harbor Replication)
143+
> ├── private-registry.venafi.cloud/venafi-agent/venafi-agent:v1.1.0 (Harbor Replication)
144+
> └── private-registry.venafi.eu/venafi-agent/venafi-agent:v1.1.0 (Harbor Replication)
145+
> ```
146+
147+
[public-img-and-chart-replication.tf]: https://gitlab.com/venafi/vaas/delivery/harbor/-/blob/3d114f54092eb44a1deb0edc7c4e8a2d4f855aa2/public-registry/module/subsystems/tlspk/replication.tf
148+
[private-img-and-chart-replication.tf]: https://gitlab.com/venafi/vaas/delivery/harbor/-/blob/3d114f54092eb44a1deb0edc7c4e8a2d4f855aa2/private-registry/module/subsystems/tlspk/replication.tf
149+
[release_venafi-agent_chart.yaml]: https://github.com/jetstack/enterprise-builds/blob/main/.github/workflows/release_venafi-agent_chart.yaml
150+
[release_js-agent_chart.yaml]: https://github.com/jetstack/enterprise-builds/blob/main/.github/workflows/release_js-agent_chart.yaml
151+
152+
### Step 2: Test the Helm chart "venafi-kubernetes-agent" with venctl connect
153+
154+
NOTE(mael): TBD
155+
156+
### (Optional) Step 3: Release the Helm Chart "jetstack-secure"
155157
156158
This step is performed by Peter Fiddes and Adrian Lai separately from the main
157159
release process.
158160
161+
Run the Helm Chart workflow
162+
[release_js-agent_chart.yaml](https://github.com/jetstack/enterprise-builds/actions/workflows/release_js-agent_chart.yaml).
163+
159164
The [jetstack-agent](deploy/charts/jetstack-agent/README.md) chart has a different version number to the agent.
160-
This is because the first version of *this* chart was given version `0.1.0`,
165+
This is because the first version of _this_ chart was given version `0.1.0`,
161166
while the app version at the time was `0.1.38`.
162167
And this allows the chart to be updated and released more frequently than the Docker image if necessary.
163168
This chart is for [Jetstack Secure](https://platform.jetstack.io/documentation/installation/agent#jetstack-agent-helm-chart-installation).
164169
165170
1. Create a branch
166-
1. Increment version numbers.
171+
2. Increment version numbers.
167172
1. Increment the `version` value in [Chart.yaml](deploy/charts/jetstack-agent/Chart.yaml).
168173
DO NOT use a `v` prefix.
169174
The `v` prefix [breaks Helm OCI operations](https://github.com/helm/helm/issues/11107).
170-
1. Increment the `appVersion` value in [Chart.yaml](deploy/charts/jetstack-agent/Chart.yaml).
175+
2. Increment the `appVersion` value in [Chart.yaml](deploy/charts/jetstack-agent/Chart.yaml).
171176
Use a `v` prefix, to match the Docker image tag.
172-
1. Increment the `image.tag` value in [values.yaml](deploy/charts/jetstack-agent/values.yaml).
177+
3. Increment the `image.tag` value in [values.yaml](deploy/charts/jetstack-agent/values.yaml).
173178
Use a `v` prefix, to match the Docker image tag.
174-
1. Update the Helm unit test snapshots:
175-
```sh
176-
helm unittest ./deploy/charts/jetstack-agent --update-snapshot
177-
```
178-
1. Create a pull request and wait for it to be approved.
179-
1. Merge the branch
180-
1. Push a tag, using the format: `chart-vX.Y.Z`.
179+
4. Update the Helm unit test snapshots:
180+
```sh
181+
helm unittest ./deploy/charts/jetstack-agent --update-snapshot
182+
```
183+
3. Create a pull request and wait for it to be approved.
184+
4. Merge the branch
185+
5. Push a tag, using the format: `chart-vX.Y.Z`.
181186
This unique tag format is recognized by the private CI pipeline that builds and publishes the chart.
182187
183188
The chart will be published to
184189
the [Jetstack Enterprise Registry](https://platform.jetstack.io/documentation/installation/agent#1-obtain-oci-registry-credentials)
185190
by a private CI pipeline managed by Venafi.
186191
187-
### Step 4: Document the release
188-
189-
Finally, inform Michael McLoughlin of the new release so he can update the documentation at https://docs.venafi.cloud/.
190-
Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
apiVersion: v2
22
name: venafi-kubernetes-agent
3+
type: application
4+
35
description: |-
46
The Venafi Kubernetes Agent connects your Kubernetes or Openshift cluster to the Venafi Control Plane.
5-
type: application
6-
version: 1.0.0
7-
appVersion: "v1.0.0"
7+
8+
maintainers:
9+
- name: Venafi
10+
11+
url: https://venafi.com
12+
13+
sources:
14+
- https://github.com/jetstack/jetstack-secure
15+
16+
# These versions are meant to be overridden by `make helm-chart`. No `v` prefix
17+
# for the `version` because Helm doesn't support auto-determining the latest
18+
# version for OCI Helm charts that use a `v` prefix.
19+
version: 0.0.0
20+
appVersion: "v0.0.0"

0 commit comments

Comments
 (0)