Skip to content

Commit

Permalink
Merge branch 'prerelease/lagoon_v218' into storage-calculator-metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
tobybellwood authored Feb 27, 2024
2 parents 4f2f2a3 + 65b1bc5 commit 3a16ac5
Show file tree
Hide file tree
Showing 17 changed files with 131 additions and 69 deletions.
17 changes: 9 additions & 8 deletions .github/workflows/lint-test-matrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ jobs:
fail-fast: false
matrix:
kindest_node_version:
- v1.23.17@sha256:59c989ff8a517a93127d4a536e7014d28e235fb3529d9fba91b3951d461edfdb
- v1.24.15@sha256:7db4f8bea3e14b82d12e044e25e34bd53754b7f2b0e9d56df21774e6f66a70ab
- v1.25.11@sha256:227fa11ce74ea76a0474eeefb84cb75d8dad1b08638371ecf0e86259b35be0c8
- v1.26.6@sha256:6e2d8b28a5b601defe327b98bd1c2d1930b49e5d8c512e1895099e4504007adb
- v1.28.0@sha256:b7a4cad12c197af3ba43202d3efe03246b3f0793f162afb40a33c923952d5b31
- v1.23.17@sha256:14d0a9a892b943866d7e6be119a06871291c517d279aedb816a4b4bc0ec0a5b3
- v1.24.17@sha256:bad10f9b98d54586cba05a7eaa1b61c6b90bfc4ee174fdc43a7b75ca75c95e51
- v1.25.16@sha256:e8b50f8e06b44bb65a93678a65a26248fae585b3d3c2a669e5ca6c90c69dc519
- v1.26.14@sha256:5d548739ddef37b9318c70cb977f57bf3e5015e4552be4e27e57280a8cbb8e4f
- v1.27.11@sha256:681253009e68069b8e01aad36a1e0fa8cf18bb0ab3e5c4069b2e65cafdd70843
- v1.29.2@sha256:51a1434a5397193442f0be2a297b488b6c919ce8a3931be0ce822606ea5ca245
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -26,7 +27,7 @@ jobs:
run: sudo apt-get -y install python3-wheel

- name: Set up chart-testing
uses: helm/[email protected].0
uses: helm/[email protected].1

- name: Run chart-testing (list-changed)
id: list-changed
Expand All @@ -41,9 +42,9 @@ jobs:
run: ct lint --config ./default.ct.yaml

- name: Create kind cluster
uses: helm/kind-action@v1.8.0
uses: helm/kind-action@v1.9.0
with:
version: v0.20.0
version: v0.22.0
node_image: kindest/node:${{ matrix.kindest_node_version }}
if: |
(steps.list-changed.outputs.changed == 'true') ||
Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
run: sudo apt-get -y install python3-wheel

- name: Set up chart-testing
uses: helm/[email protected].0
uses: helm/[email protected].1

- name: Run chart-testing (list-changed)
id: list-changed
Expand All @@ -84,18 +84,23 @@ jobs:
run: ct lint --config ./default.ct.yaml

- name: Create kind cluster
uses: helm/kind-action@v1.8.0
uses: helm/kind-action@v1.9.0
with:
version: v0.20.0
node_image: kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72
kubectl_version: v1.27.3
version: v0.22.0
node_image: kindest/node:v1.28.7@sha256:9bc6c451a289cf96ad0bbaf33d416901de6fd632415b076ab05f5fa7e4f65c58
kubectl_version: v1.28.7
if: |
(steps.list-changed.outputs.changed == 'true') ||
(contains(github.event.pull_request.labels.*.name, 'needs-testing'))
- name: Run chart-testing (install)
run: ct install --config ./default.ct.yaml --helm-extra-args "--timeout 30m"

- name: Run chart-testing (needs-testing)
run: ct install --config ./default.ct.yaml --helm-extra-args "--timeout 30m" --all
if: |
(contains(github.event.pull_request.labels.*.name, 'needs-testing'))
artifacthub-changelog:
runs-on: ubuntu-latest
steps:
Expand Down
9 changes: 1 addition & 8 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,6 @@ jobs:
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
# See https://github.com/helm/chart-releaser-action/issues/6
- name: Install Helm
run: |
curl -fsSLo get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
- name: Add dependency chart repos
run: |
helm repo add banzaicloud-stable https://kubernetes-charts.banzaicloud.com
Expand All @@ -35,6 +28,6 @@ jobs:
helm repo add kube-logging https://kube-logging.github.io/helm-charts
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.5.0
uses: helm/chart-releaser-action@v1.6.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
16 changes: 8 additions & 8 deletions .github/workflows/test-suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: pull_request
jobs:
# runs for lagoon-core, lagoon-remote, lagoon-test
test-suite:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -48,7 +48,7 @@ jobs:
run: sudo apt-get -y install python3-wheel

- name: Set up chart-testing
uses: helm/[email protected].0
uses: helm/[email protected].1

- name: Run chart-testing (list-changed)
id: list-changed
Expand All @@ -69,14 +69,14 @@ jobs:
envsubst < test-suite.kind-config.yaml.tpl > test-suite.kind-config.yaml
- name: Create kind cluster
uses: helm/kind-action@v1.8.0
uses: helm/kind-action@v1.9.0
if: |
(steps.list-changed.outputs.changed == 'true') ||
(contains(github.event.pull_request.labels.*.name, 'needs-testing'))
with:
version: v0.20.0
node_image: kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72
kubectl_version: v1.27.3
version: v0.22.0
node_image: kindest/node:v1.28.7@sha256:9bc6c451a289cf96ad0bbaf33d416901de6fd632415b076ab05f5fa7e4f65c58
kubectl_version: v1.28.7
config: test-suite.kind-config.yaml

- name: Check node IP matches kind configuration
Expand Down Expand Up @@ -123,8 +123,8 @@ jobs:
if: |
(steps.list-changed.outputs.changed == 'true') ||
(contains(github.event.pull_request.labels.*.name, 'needs-testing'))
# run: make -j8 -O fill-test-ci-values TESTS=[${{ matrix.test }}] IMAGE_REGISTRY=testlagoon IMAGE_TAG=main OVERRIDE_BUILD_DEPLOY_DIND_IMAGE=uselagoon/build-deploy-image:main OVERRIDE_ACTIVE_STANDBY_TASK_IMAGE=testlagoon/task-activestandby:main
run: make -j8 -O fill-test-ci-values TESTS=[${{ matrix.test }}]
run: make -j8 -O fill-test-ci-values TESTS=[${{ matrix.test }}] IMAGE_REGISTRY=testlagoon IMAGE_TAG=main OVERRIDE_BUILD_DEPLOY_DIND_IMAGE=uselagoon/build-deploy-image:main OVERRIDE_ACTIVE_STANDBY_TASK_IMAGE=testlagoon/task-activestandby:main
# run: make -j8 -O fill-test-ci-values TESTS=[${{ matrix.test }}]

- name: Free up some disk space
if: |
Expand Down
14 changes: 10 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -79,14 +79,15 @@ install-ingress:
--namespace ingress-nginx \
--wait \
--timeout $(TIMEOUT) \
--set controller.allowSnippetAnnotations=true \
--set controller.service.type=NodePort \
--set controller.service.nodePorts.http=32080 \
--set controller.service.nodePorts.https=32443 \
--set controller.config.proxy-body-size=100m \
--set controller.config.hsts="false" \
--set controller.watchIngressWithoutClass=true \
--set controller.ingressClassResource.default=true \
--version=4.7.2 \
--version=4.9.1 \
ingress-nginx \
ingress-nginx/ingress-nginx

Expand All @@ -106,7 +107,7 @@ install-registry: install-ingress
--set clair.enabled=false \
--set notary.enabled=false \
--set trivy.enabled=false \
--version=1.13.0 \
--version=1.14.0 \
registry \
harbor/harbor

Expand Down Expand Up @@ -162,7 +163,7 @@ install-minio: install-ingress
--timeout $(TIMEOUT) \
--set auth.rootUser=lagoonFilesAccessKey,auth.rootPassword=lagoonFilesSecretKey \
--set defaultBuckets='lagoon-files\,restores' \
--version=12.8.7 \
--version=13.6.2 \
minio \
bitnami/minio

Expand Down Expand Up @@ -261,7 +262,7 @@ install-lagoon-remote: install-lagoon-build-deploy install-lagoon-core install-m
# Do not install without lagoon-core
#
.PHONY: install-lagoon-build-deploy
install-lagoon-build-deploy: install-lagoon-core install-registry
install-lagoon-build-deploy: install-lagoon-core
$(HELM) dependency build ./charts/lagoon-build-deploy/
$(HELM) upgrade \
--install \
Expand All @@ -288,6 +289,11 @@ install-lagoon-build-deploy: install-lagoon-core install-registry
lagoon-build-deploy \
./charts/lagoon-build-deploy

# allow skipping registry install for install-lagoon-remote target
ifneq ($(SKIP_INSTALL_REGISTRY),true)
install-lagoon-build-deploy: install-registry
endif

#
# The following targets facilitate local development only and aren't used in CI.
#
Expand Down
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,18 @@ Documentation on probes for pod startup is [here](https://kubernetes.io/docs/con

### Run chart-testing (lint) locally

```bash
docker run --rm --interactive --detach --network host --name ct "--volume=$(pwd):/workdir" "--workdir=/workdir" --volume=$(pwd)/default.ct.yaml:/etc/ct/ct.yaml quay.io/helmpack/chart-testing:latest cat
docker exec ct git config --global --add safe.directory /workdir
docker exec ct ct lint
```
$ docker run --rm --interactive --detach --network host --name ct "--volume=$(pwd):/workdir" "--workdir=/workdir" --volume=$(pwd)/default.ct.yaml:/etc/ct/ct.yaml quay.io/helmpack/chart-testing:latest cat
$ docker exec ct ct lint

### Run chart-testing (install) locally

Prerequisite: install [ct](https://github.com/helm/chart-testing).

```bash
kind create cluster -n chart-testing
ct install --charts=charts/lagoon-logging
kind delete cluster -n chart-testing
```
10 changes: 2 additions & 8 deletions charts/lagoon-core/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ type: application
# time you make changes to the chart and its templates, including the app
# version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 1.41.0
version: 1.42.0

# This is the version number of the application being deployed. This version
# number should be incremented each time you make changes to the application.
Expand All @@ -41,10 +41,4 @@ dependencies:
annotations:
artifacthub.io/changes: |
- kind: changed
description: bump lagoon-opensearch-sync version to v0.7.1
- kind: changed
description: updated to insights-handler:v0.0.2
- kind: changed
description: pinned insights to trivy:0.48.0
- kind: changed
description: update lagoon appVersion to v2.17.0
description: modify keycloak liveness and readiness endpoint
4 changes: 2 additions & 2 deletions charts/lagoon-core/templates/keycloak.deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ spec:
containerPort: 8080
livenessProbe:
httpGet:
path: /
path: /auth
port: http-8080
readinessProbe:
httpGet:
path: /
path: /auth
port: http-8080
startupProbe:
exec:
Expand Down
11 changes: 4 additions & 7 deletions charts/lagoon-logging/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ type: application
# time you make changes to the chart and its templates, including the app
# version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.80.0
version: 0.81.1

dependencies:
- name: logging-operator
Expand All @@ -31,10 +31,7 @@ dependencies:
# It should be started afresh for each release
# Valid supported kinds are added, changed, deprecated, removed, fixed and security
annotations:
artifacthub.io/containsSecurityUpdates: "true"
artifacthub.io/changes: |
- kind: changed
description: update uselagoon/logs-dispatcher image to v3.4.0
- kind: added
description: schedule Logging Pods also on infra nodes
- kind: added
description: ability to configure toleration/affinity on FluentD deployment
- kind: security
description: avoid test role and rolebinding being wrongly installed
5 changes: 4 additions & 1 deletion charts/lagoon-logging/ci/linter-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,10 @@ cdnLogsCollector:
buffer:
storageClassName: standard
size: 1Gi
serviceType: ClusterIP
service:
type: ClusterIP
annotations:
sh.lagoon.chart.testKey: lagoonTestValue
tls:
caCert: |-
-----BEGIN CERTIFICATE-----
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@ metadata:
name: {{ include "lagoon-logging.cdnLogsCollector.fullname" . }}
labels:
{{- include "lagoon-logging.cdnLogsCollector.labels" . | nindent 4 }}
{{- with .Values.cdnLogsCollector.service.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.cdnLogsCollector.serviceType }}
type: {{ .Values.cdnLogsCollector.service.type }}
selector:
{{- include "lagoon-logging.cdnLogsCollector.selectorLabels" . | nindent 4 }}
ports:
Expand Down
55 changes: 55 additions & 0 deletions charts/lagoon-logging/templates/tests/cdn-service-annotations.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: service-reader
annotations:
"helm.sh/hook": test
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
"helm.sh/hook-weight": "-2"
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["services"]
verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-services
annotations:
"helm.sh/hook": test
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
"helm.sh/hook-weight": "-1"
subjects:
- kind: Group
name: system:serviceaccounts # all serviceaccounts
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: service-reader
apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: Pod
metadata:
name: {{ include "lagoon-logging.logsDispatcher.fullname" . }}-test-cdn-service-annotations
labels:
{{- include "lagoon-logging.logsDispatcher.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
"helm.sh/hook-weight": "0"
spec:
containers:
- name: kubectl
image: alpine:latest
command:
- sh
args:
- "-c"
- |
set -eu
apk add --no-cache kubectl jq
kubectl get svc -o json {{ include "lagoon-logging.cdnLogsCollector.fullname" . }} |
jq -e '.metadata.annotations["sh.lagoon.chart.testKey"] == "lagoonTestValue"'
restartPolicy: Never
1 change: 1 addition & 0 deletions charts/lagoon-logging/templates/tests/test-connection.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ metadata:
{{- include "lagoon-logging.logsDispatcher.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
spec:
containers:
- name: nc
Expand Down
4 changes: 3 additions & 1 deletion charts/lagoon-logging/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,9 @@ cdnLogsCollector:
size: 8Gi
storageClassName: ""

serviceType: LoadBalancer
service:
type: LoadBalancer
annotations: {}

# TLS configuration is required
# These should be server certificates, and the CDN should be configured to
Expand Down
7 changes: 2 additions & 5 deletions charts/lagoon-remote/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,11 @@ dependencies:
- name: lagoon-build-deploy
repository: https://uselagoon.github.io/lagoon-charts/
version: 0.26.3
- name: dioscuri
repository: https://amazeeio.github.io/charts/
version: 0.4.1
- name: dbaas-operator
repository: https://amazeeio.github.io/charts/
version: 0.3.0
- name: nats
repository: https://nats-io.github.io/k8s/helm/charts/
version: 0.19.17
digest: sha256:1f873430b35bd44722954a1f02699e32c5e7468a9a77a135e5df3ca3766a8ed2
generated: "2023-12-08T13:18:21.18121865+11:00"
digest: sha256:19d026667151fe980c86b856f5e061d89bd669afaef89e1e88a69b8730950bb5
generated: "2024-02-15T10:02:47.025667985+11:00"
Loading

0 comments on commit 3a16ac5

Please sign in to comment.