Skip to content

Commit

Permalink
update README.md to reflect changes made to release artifacts and ins…
Browse files Browse the repository at this point in the history
…tallation instructions

Signed-off-by: Tim Ramlot <[email protected]>
  • Loading branch information
inteon committed Aug 14, 2024
1 parent cfdfe89 commit 51be18a
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 27 deletions.
40 changes: 13 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,17 @@ an Ingress or Gateway resource in vanilla Kubernetes!

## Prerequisites:

1. Ensure you have [cert-manager](https://github.com/cert-manager/cert-manager) installed
1. Ensure you have [cert-manager installed](https://cert-manager.io/docs/installation/)
through the method of your choice. But make sure you install cert-manager and openshift-routes-deployment in the same namespace. By default this is in the namespace **cert-manager**.
For example, with the regular manifest:
For example, with Helm:

```sh
oc apply -f https://github.com/jetstack/cert-manager/releases/download/v1.13.3/cert-manager.yaml
helm repo add jetstack https://charts.jetstack.io --force-update
helm install \
cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--set crds.enabled=true
```

Both **ClusterIssuer** and namespace based **Issuer** are possible. Here a **ClusterIssuer** is used:
Expand Down Expand Up @@ -56,16 +61,16 @@ CNAME:

## Installation

The openshift-routes component can be installed using the static manifests:
The openshift-routes component can be installed using the Helm chart:

```shell
oc apply -f https://github.com/cert-manager/openshift-routes/releases/latest/download/cert-manager-openshift-routes.yaml
helm install openshift-routes -n cert-manager oci://ghcr.io/cert-manager/charts/openshift-routes
```

or with the Helm chart:
or using templated static manifests:

```shell
helm install openshift-routes -n cert-manager oci://ghcr.io/cert-manager/charts/openshift-routes
oc apply -f <(helm template openshift-routes -n cert-manager oci://ghcr.io/cert-manager/charts/openshift-routes --set omitHelmLabels=true)
```

Please review the [values.yaml](./deploy/chart/values.yaml) file for all configuration options.
Expand Down Expand Up @@ -153,23 +158,4 @@ easier for other people to consume in their projects.

# Release Process

You must have write access to this repository to perform a release.

1. ```bash
git checkout main
git pull origin main
```

2. Create a tag and push it:

```bash
export VERSION=v1.0.2
git tag --annotate --message="Release ${VERSION}" "${VERSION}"
git push origin "${VERSION}"
```

3. Go to the [GitHub Action](https://github.com/cert-manager/openshift-routes/actions) and wait
for the job to finish.
4. Once done, open the draft release in the [Releases](https://github.com/cert-manager/openshift-routes/releases)
page. Remove the auto-generated changelog and click "Generate Release Notes". Then, edit
the changelog so that it reads well for end-users. Once done, click "Publish".
The release process is documented in [RELEASE.md](RELEASE.md).
41 changes: 41 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Releases

## Schedule

The release schedule for this project is ad-hoc. Given the pre-1.0 status of the project we do not have a fixed release cadence. However if a vulnerability is discovered we will respond in accordance with our [security policy](https://github.com/cert-manager/community/blob/main/SECURITY.md) and this response may include a release.

## Process

There is a semi-automated release process for this project. When you create a Git tag with a tagname that has a `v` prefix and push it to GitHub it will trigger the [release workflow].

The release process for this repo is documented below:

1. Create a tag for the new release:
```sh
export VERSION=v0.5.0-alpha.0
git tag --annotate --message="Release ${VERSION}" "${VERSION}"
git push origin "${VERSION}"
```
2. A GitHub action will see the new tag and do the following:
- Build and publish any container images
- Build and bundle the Helm chart
- Create a draft GitHub release
- Upload the Helm chart tarball to the GitHub release
3. Once the draft GitHub release has been created, download and test the resulting Helm chart.
4. Create a PR in the [jetstack/jetstack-charts repository on GitHub](https://github.com/jetstack/jetstack-charts), containing the Helm chart file that is attached to the draft GitHub release. This is only currently possible for maintainers inside Venafi, but will be changed in the future.
5. Wait for the PR to be merged and verify that the Helm chart is available from https://charts.jetstack.io.
6. Visit the [releases page], edit the draft release, click "Generate release notes", then edit the notes to add the following to the top
```
approver-policy provides a policy engine for certificates issued by cert-manager!
```
7. Publish the release.
## Artifacts
This repo will produce the following artifacts each release. For documentation on how those artifacts are produced see the "Process" section.
- *Container Images* - Container images for the are published to .
- *Helm chart* - An official Helm chart is maintained within this repo and published to `charts.jetstack.io` on each release.
[release workflow]: https://github.com/cert-manager/approver-policy/actions/workflows/release.yaml
[releases page]: https://github.com/cert-manager/approver-policy/releases

0 comments on commit 51be18a

Please sign in to comment.