Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update release docs and minor fixes #3481

Merged
merged 6 commits into from
Sep 23, 2021
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/developer/end-to-end-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,10 @@ Our CI system relies on the [kubeapps/integration-tests](https://hub.docker.com/
The `kubeapps/integration-tests` image is built using this [Makefile](../../integration/Makefile). Manually edit this file to specify the proper version tag.

```bash
# Get the tags from https://hub.docker.com/r/kubeapps/integration-tests
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could link directly to https://hub.docker.com/r/kubeapps/integration-tests/tags?page=1&ordering=last_updated . But more importantly, although it should be obvious, you don't mention here to "and then increment the patch version of the latest tag to get the IMAGE_TAG that you'll use below.

cd integration
# edit the Makefile with the proper version tag
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's also another reference to manually editing the Makefile to specify the proper tag on line 92.

make build
make push
IMAGE_TAG=v1.0.1 make build
IMAGE_TAG=v1.0.1 make push
```

> It will build and push the image using this [Dockerfile](../../integration/Dockerfile) (we are using the base image as in the [Kubeapps Dashboard build image](../../dashboard/Dockerfile)).
Expand Down
33 changes: 28 additions & 5 deletions docs/developer/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ yarn upgrade

> As part of this release process, this Node image tag _may_ be updated to the latest minor/patch version. In case of a major version, the change _should_ be tracked in a separate PR. Analogously, its dependencies _may_ also be updated, but in case of a major change, it _should_ be tracked in a separate PR.

> **Note**: this image is not being built automatically. Consequently, a [manual build process](./end-to-end-tests.md#building-the-"kubeapps/integration-tests"-image) _must_ be triggered if you happen to upgrade the integration image or its dependencies.
> **Note**: this image is not being built automatically. Consequently, a [manual build process](./end-to-end-tests.md#building-the-kubeappsintegration-tests-image) _must_ be triggered if you happen to upgrade the integration image or its dependencies.

### 0.3 - Development chart

Expand All @@ -70,7 +70,6 @@ Even though the official [Bitnami chart](https://github.com/bitnami/charts/tree/
Currently, the [values.yaml](../../chart/kubeapps/values.yaml) uses the following container images:

- [bitnami/nginx](https://hub.docker.com/r/bitnami/nginx/tags)
- [bitnami/kubectl](https://hub.docker.com/r/bitnami/kubectl/tags)
- [bitnami/oauth2-proxy](https://hub.docker.com/r/bitnami/oauth2-proxy/tags)

> As part of this release process, these image tags _must_ be updated to the latest minor version. In case of a major version, the change _should_ be tracked in a separate PR.
Expand All @@ -82,18 +81,42 @@ The chart [requirements.yaml](../../chart/kubeapps/requirements.yaml) _must_ be
- Check if the latest versions are already included by running:

```bash
helm dependency list ./chart/kubeapps
helm dep list ./chart/kubeapps
```

- If they are not, run this other command to update the `requirements.lock` file:

```bash
helm dependency update ./chart/kubeapps
# It requires Helm >=3.7.0, otherwise, just run `helm dep update ./chart/kubeapps`
helm repo update bitnami
helm dep update --skip-refresh ./chart/kubeapps
```

> As part of this release process, the chart dependencies _must_ be updated to the latest versions. In case of a major version, the change _should_ be tracked in a separate PR.

### 0.4 - Upgrading the code dependencies
### 0.4 - Protobuf dependencies and autogenerated code

As per the introduction of the new Kubeapps APIs service, it is based upon automatic code generation for both the frontend code and backend code. Given that generation rules can evolve to improve or reduce possible bugs, it is important to perform a periodic update.

- To upgrade the `buf`-related dependencies, just execute:

```bash
# You need to have the buf binary installed, if not, go to https://docs.buf.build/installation/
buf mod update cmd/kubeapps-apis/
```

- Next, the autogenerated code ought to be regenerated. Note that some of the fronted code files might not comply with the `prettier` rules, therefore, triggering the linter may be required.

```bash
# You need to have the buf binary installed, if not, go to https://docs.buf.build/installation/
cd cmd/kubeapps-apis
make generate
npx prettier --write ../../dashboard/src/
```

> As part of this release process, the buf.lock dependencies _must_ be updated to the latest versions. In case of a major version, the change _should_ be tracked in a separate PR.

### 0.5 - Upgrading the code dependencies

Currently, we have three types of dependencies: the [dashboard dependencies](../../dashboard/package.json), the [golang dependencies](../../go.mod), and the [rust dependencies](../../cmd/pinniped-proxy/Cargo.toml). They _must_ be upgraded to the latest minor/patch version to get the latest bug and security fixes.

Expand Down
2 changes: 1 addition & 1 deletion docs/user/offline-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ repository: bitnami/nginx
tag: 1.19.2-debian-10-r32
```

> This list includes but is not limited to: `bitnami/kubeapps-apprepository-controller`, `bitnami/kubeapps-asset-syncer`,`bitnami/kubeapps-assetsvc`, `bitnami/kubeapps-dashboard`, `bitnami/kubeapps-kubeops`, `bitnami/kubectl`, `bitnami/nginx`, `bitnami/oauth2-proxy`, `bitnami/postgresql`.
> This list includes but is not limited to: `bitnami/kubeapps-apprepository-controller`, `bitnami/kubeapps-asset-syncer`,`bitnami/kubeapps-assetsvc`, `bitnami/kubeapps-dashboard`, `bitnami/kubeapps-kubeops`,`bitnami/kubeapps-pinniped-proxy`, `bitnami/kubeapps-apis`, `bitnami/nginx`, `bitnami/oauth2-proxy`, `bitnami/postgresql`.

For simplicity, in this guide, we use a single-node cluster created with [Kubernetes in Docker (`kind`)](https://github.com/kubernetes-sigs/kind). In this environment, as the images have to be preloaded, we first have to pull the images (`docker pull`) and next load them into the cluster (`kind load docker-image`):

Expand Down
6 changes: 4 additions & 2 deletions integration/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
IMAGE_TAG ?= dev

default: build

build:
docker build -t kubeapps/integration-tests:v1.0.1 .
docker build -t kubeapps/integration-tests:$(IMAGE_TAG) .

push:
docker push kubeapps/integration-tests:v1.0.1
# docker push kubeapps/integration-tests:$(IMAGE_TAG)