Try syncing

This commit is contained in:
Nikolai Rodionov 2023-02-25 20:37:04 +01:00
parent 18b5c8811c
commit d60bb788a6
3 changed files with 46 additions and 17 deletions

View File

@ -65,6 +65,16 @@ steps:
- yq '.spec.generators[].list.elements += load("/tmp/elements.yaml")' /tmp/clean_appset.yaml > /tmp/new_appset.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 - kubectl apply -f /tmp/new_appset.yaml
- name: Sync application
image: argoproj/argocd
environment:
ARGOCD_SERVER:
from_secret: ARGOCD_SERVER
ARGOCD_AUTH_TOKEN:
from_secret: ARGOCD_AUTH_TOKEN
commands:
- argocd app sync -l app=badhouseplants -l branch=$DRONE_BRANCH
--- ---
# ---------------------------------------------- # ----------------------------------------------
# -- Upload a newer version of my CV # -- Upload a newer version of my CV

View File

@ -342,6 +342,35 @@ So my pipeline for a non-main branch looks like that:
- kubectl apply -f /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 And even though it's very ugly, I already like it. Because it works.
![Drone pipeline result](/dyn-envs/drone-pipeline.png) ![Drone pipeline result](/dyn-envs/drone-pipeline.png)
I would like to move the whole pipeline logic out of the `.drone.yml` file. But I will do it later.
After our application set is deployed, we need to update the application the is created by it. I would like to use the `argocd` cli tool for that. to sync one app we need to use selectors, and I'd like to go with labels. So let's first add labels to our `ApplicationSet`
```YAML
...
template:
metadata:
name: "{{ app }}-{{ name }}"
namespace: argo-system
labels:
branch: "{{ name }}"
application: "{{ app }}"
...
```
And now let's create a job like that:
```YAML
- name: Sync application
image: argoproj/argocd
environment:
ARGOCD_SERVER:
from_secret: ARGOCD_SERVER
ARGOCD_AUTH_TOKEN:
from_secret: ARGOCD_AUTH_TOKEN
commands:
- argocd app sync -l app=badhouseplants -l branch=$DRONE_BRANCH
```

View File

@ -5,25 +5,15 @@ metadata:
namespace: argo-system namespace: argo-system
spec: spec:
generators: generators:
- list: - list:
elements: elements: []
- name: dynamic-charts
app: badhouseplants
branch: dynamic-charts
chart_version: 0.3.6
value: |
istio:
hosts:
- dynamic-charts-dev.badhouseplants.net
hugo:
image:
tag: 5d742a71731320883db698432303c92aee4d68a1
baseURL: https://dynamic-charts-dev.badhouseplants.net/
buildDrafts: true
template: template:
metadata: metadata:
name: "{{ app }}-{{ name }}" name: "{{ app }}-{{ name }}"
namespace: argo-system namespace: argo-system
labels:
branch: "{{ name }}"
application: "{{ app }}"
spec: spec:
project: "default" project: "default"
source: source: