121 lines
2.8 KiB
Markdown
Executable File
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
|