Argocd: Difference between revisions
Jump to navigation
Jump to search
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=What does it mean?= | =What does it mean?= | ||
argo cd Argo continuous delivery | |||
Application Is a group of Kubernetes resources as defined by a manifest. | Application Is a group of Kubernetes resources as defined by a manifest. | ||
ApplicationSet Is the representation of an ApplicationSet controller deployment. | ApplicationSet Is the representation of an ApplicationSet controller deployment. | ||
AppProject Is a logical grouping of Argo CD Applications. | AppProject Is a logical grouping of Argo CD Applications. | ||
=download binary= | =download binary= | ||
curl -sSL | sudo curl -sSL https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 -o /usr/local/bin/argocd ; sudo chmod 755 /usr/local/bin/argocd | ||
=login= | =login= | ||
argocd login openshift-gitops-server-openshift-gitops.apps.$(oc get DNS cluster -o=jsonpath='{.spec.baseDomain}') --username kubeadmin --password <password> --sso --insecure | argocd login openshift-gitops-server-openshift-gitops.apps.$(oc get DNS cluster -o=jsonpath='{.spec.baseDomain}') --username kubeadmin --password <password> --sso --insecure | ||
=get admin password= | |||
oc -n argocd get secret argocd-cluster -o jsonpath='{.data.admin\.password}' -n argocd | base64 -d | |||
=add repo to argocd= | =add repo to argocd= | ||
argocd repo add https://inter.net/spam.git --username <username> --password <password> --insecure-skip-server-verification | argocd repo add https://inter.net/spam.git --username <username> --password <password> --insecure-skip-server-verification | ||
Line 19: | Line 22: | ||
=list applications= | =list applications= | ||
argocd | argocd app list | ||
=list app projects= | |||
argocd proj list | |||
=sync application= | =sync application= | ||
argocd --grpc-web app sync openshift-gitops/rb-infra-ocp-02 | argocd --grpc-web app sync openshift-gitops/rb-infra-ocp-02 | ||
Sync all apps. | |||
argocd app list | grep -v ^NAME | awk '{print $1}' | while read i ; do echo '*' $i ; argocd --grpc-web app sync "${i}" ; done | |||
=what does it mean= | =what does it mean= | ||
Line 28: | Line 36: | ||
=look at attributes= | =look at attributes= | ||
oc api-resources | grep -Ei 'argo|git' | while read line end ; do echo '***' $line $end ; oc get $line -A ; done | oc api-resources | grep -Ei 'argo|git' | while read line end ; do echo '***' $line $end ; oc get $line -A ; done | ||
=prevent argocd from syncing= | |||
Deny scheduling of application | |||
argocd proj windows add default --kind deny --schedule "* * * * *" --duration 2m --applications "*" | |||
argocd proj list | grep -v ^NAME | awk '{print $1}' | while read i ; do echo '*' $i ; argocd proj windows add $i --kind deny --schedule "* * * * *" --duration 2m --applications "*" ; done | |||
Remove deny of scheduling | |||
argocd proj windows delete default 0 | |||
Toggle allow/deny manual syncing. | |||
argocd proj windows enable-manual-sync default 0 | |||
argocd proj windows disable-manual-sync default 0 | |||
Look at status of project | |||
argocd proj list | grep -v ^NAME | awk '{print $1}' | while read i ; do echo '*' $i ; argocd proj windows list $i ; done | |||
=delete apps= | |||
argocd app list | grep -v ^NAME | awk '{print $1}' | while read i ; do echo '*' $i ; argocd --grpc-web app delete -y "${i}" ; done | |||
=remove finalizers= | |||
oc get app --no-headers | awk '{print $1}' | while read i ; do echo '*' $i ; oc patch --type=merge app $i -p '{"metadata":{"finalizers":null}}' ; done |
Latest revision as of 14:04, 4 March 2024
What does it mean?
argo cd Argo continuous delivery Application Is a group of Kubernetes resources as defined by a manifest. ApplicationSet Is the representation of an ApplicationSet controller deployment. AppProject Is a logical grouping of Argo CD Applications.
download binary
sudo curl -sSL https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 -o /usr/local/bin/argocd ; sudo chmod 755 /usr/local/bin/argocd
login
argocd login openshift-gitops-server-openshift-gitops.apps.$(oc get DNS cluster -o=jsonpath='{.spec.baseDomain}') --username kubeadmin --password <password> --sso --insecure
get admin password
oc -n argocd get secret argocd-cluster -o jsonpath='{.data.admin\.password}' -n argocd | base64 -d
add repo to argocd
argocd repo add https://inter.net/spam.git --username <username> --password <password> --insecure-skip-server-verification
file completion
. <(argocd completion bash)
add constant variables
export ARGOCD_OPTS="--grpc-web"
list applications
argocd app list
list app projects
argocd proj list
sync application
argocd --grpc-web app sync openshift-gitops/rb-infra-ocp-02
Sync all apps.
argocd app list | grep -v ^NAME | awk '{print $1}' | while read i ; do echo '*' $i ; argocd --grpc-web app sync "${i}" ; done
what does it mean
ApplicationSet Automating the generation of Argo CD Applications with the ApplicationSet Controller
look at attributes
oc api-resources | grep -Ei 'argo|git' | while read line end ; do echo '***' $line $end ; oc get $line -A ; done
prevent argocd from syncing
Deny scheduling of application
argocd proj windows add default --kind deny --schedule "* * * * *" --duration 2m --applications "*" argocd proj list | grep -v ^NAME | awk '{print $1}' | while read i ; do echo '*' $i ; argocd proj windows add $i --kind deny --schedule "* * * * *" --duration 2m --applications "*" ; done
Remove deny of scheduling
argocd proj windows delete default 0
Toggle allow/deny manual syncing.
argocd proj windows enable-manual-sync default 0 argocd proj windows disable-manual-sync default 0
Look at status of project
argocd proj list | grep -v ^NAME | awk '{print $1}' | while read i ; do echo '*' $i ; argocd proj windows list $i ; done
delete apps
argocd app list | grep -v ^NAME | awk '{print $1}' | while read i ; do echo '*' $i ; argocd --grpc-web app delete -y "${i}" ; done
remove finalizers
oc get app --no-headers | awk '{print $1}' | while read i ; do echo '*' $i ; oc patch --type=merge app $i -p '{"metadata":{"finalizers":null}}' ; done