Add a new picture
This commit is contained in:
parent
0082c9905f
commit
18b5c8811c
@ -316,9 +316,32 @@ First, let's set environment variables:
|
||||
|
||||
So after setting all these variables, I can use `envsubst < ./kube/template.yaml` to create a correct generator. After that I only need to append it to one that is already in k8s. *And not to append if it's already there*.
|
||||
|
||||
So let's design out pipeline:
|
||||
|
||||
1. Get an application set is currently deployed to k8s
|
||||
```BASH
|
||||
kubectl get application-set
|
||||
So my pipeline for a non-main branch looks like that:
|
||||
```YAML
|
||||
- name: Deploy a preview ApplicationSet
|
||||
image: alpine/k8s:1.24.10
|
||||
when:
|
||||
branch:
|
||||
exclude:
|
||||
- main
|
||||
environment:
|
||||
KUBECONFIG_CONTENT:
|
||||
from_secret: KUBECONFIG_CONTENT
|
||||
commands:
|
||||
- mkdir $HOME/.kube
|
||||
- echo $KUBECONFIG_CONTENT | base64 -d > $HOME/.kube/config
|
||||
- apk update --no-cache && apk add yq gettext
|
||||
- export ARGO_APP_CHART_VERSION=`cat chart/Chart.yaml | yq '.version'`
|
||||
- export ARGO_APP_BRANCH=$DRONE_BRANCH
|
||||
- export ARGO_APP_HOSTNAME="${DRONE_BRANCH}-dev.badhouseplants.net"
|
||||
- export ARGO_APP_IMAGE_TAG=$DRONE_COMMIT_SHA
|
||||
- kubectl get -f ./kube/applicationset.yaml -o yaml > /tmp/old_appset.yaml
|
||||
- yq "del(.spec.generators[].list.elements[] | select(.name == \"$ARGO_APP_BRANCH\"))" /tmp/old_appset.yaml > /tmp/clean_appset.yaml
|
||||
- envsubst < ./kube/template.yaml > /tmp/elements.yaml
|
||||
- yq '.spec.generators[].list.elements += load("/tmp/elements.yaml")' /tmp/clean_appset.yaml > /tmp/new_appset.yaml
|
||||
- kubectl apply -f /tmp/new_appset.yaml
|
||||
```
|
||||
|
||||
And even though it's very ugly, I already like it. Because it's working
|
||||
|
||||
![Drone pipeline result](/dyn-envs/drone-pipeline.png)
|
Reference in New Issue
Block a user