Files
kubernetes/dev/argocd/README.md
2025-11-23 18:58:51 +01:00

121 lines
2.8 KiB
Markdown
Executable File

#Installatie:
kubectl create ns argocd
#certificaat aanmaken:
kubectl apply -f argocd-certificate.yaml
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: argocd-tls-cert
namespace: argocd
spec:
secretName: argocd-tls-cert
dnsNames:
- argocd-dev.allarddcs.nl
issuerRef:
name: letsencrypt
kind: ClusterIssuer
Hier wordt dus een Certificate aangemaakt met naam "argocd-tls-cert":
NAME TYPE DATA AGE
argocd-tls-cert kubernetes.io/tls 2 76m
dat is opgeslagen in een secret "argocd-tls-cert":
NAME READY SECRET AGE
argocd-tls-cert True argocd-tls-cert 76m
#installeren via helm
helm install argocd -f values.yaml argo-cd/argo-cd -n argocd -f values.yaml
#values.yaml:
ingress:
server:
enabled: true
ingressClassName: traefik
hosts:
- host: argocd-dev.allarddcs.nl
paths:
- "/"
tls:
- hosts:
- argocd-dev.allarddcs.nl
secretName: argocd-tls-cert
configs:
params:
# disable insecure (HTTP)
server.insecure: "false"
server:
tls:
enabled: true
# name of the TLS secret (created via cert-manager)
secretName: argocd-tls-cert
Dit zorgt ervoor dat het eerder aangemaakte certificaat wordt gebruikt door argocd en
dat alleen verkeer via poort 443 mogelijk is.
#ingressroutes:
- door het LP-cluster loopt een ingressrouteTCP met tls: passtrough: true.
- in het DEV-cluster is alleen de ingressrouteTCP nodig:
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: argocd-route-tcp
namespace: argocd
spec:
entryPoints:
- websecure
routes:
- match: HostSNI(`argocd-dev.allarddcs.nl`)
priority: 10
services:
- name: argocd-server
port: 443
- match: HostSNI(`argocd-dev.allarddcs.nl`) && Headers(`Content-Type`, `application/grpc`)
priority: 11
services:
- name: argocd-server
port: 443
tls:
passthrough: true
of het tweede deel nodig is en werkt weet ik niet zeker. In ieder geval doet traefik GEEN tls-interrupt.
#Initieel password opvragen:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
#gitea repository koppelen:
Checken of de repository in git aanwezig is.
project: default
https://gitea-dev.allarddcs.nl/AllardDCS/dev/olproperties (ZONDER.git!!!)
user: allard
password: Gitea01@
#applicatie toevoegen:
repository invullen
pad toevoegen (olproperties)
#api testen:
er staat een argocd binary op pisvrwsv00
argcd login https://argocd-dev.allarddcs
argocd app list
#task argocd-sync-and-wait installeren:
kubectl apply -f argocd-task-sync-and-wait.yaml
#testen kan met:
kubectl apply -f argocd-pipeline.yaml
kubectl create -f argocd-pipeline-run.yaml