ArgoCD
This repository uses ArgoCD to deploy applications, based on Helm charts. We encourage the community contributing to the official project.
Repository Setup
Navigate to ArgoCD Settings
> Repositories
and connect to official project repository:
Key | Value |
---|---|
Method | HTTPS |
Type | git |
Project | default |
URL | https://github.com/axivo/k3s-applications.git |
Applications Provisioning
Application charts are released with version control, based on repository tags. See below an example of application provisioning in ArgoCD.
Application Resource
In this example, we will create an Ubuntu Server pod, deployed into default
namespace. Navigate to Applications
and create an application, then edit the resource manifest as YAML
and paste the following content:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: ubuntu
namespace: kube-system
spec:
destination:
name: ''
namespace: default
server: 'https://kubernetes.default.svc'
source:
path: argo/ubuntu
repoURL: 'https://github.com/axivo/k3s-applications.git'
targetRevision: ubuntu/v1.0.0
helm:
valueFiles:
- values.yaml
sources: []
project: default
syncPolicy:
automated:
prune: true
selfHeal: true
Metadata
This repository uses the kube-system
namespace for ArgoCD role provisioning. Adjust the metadata.namespace
value accordingly, if you deploy ArgoCD in a different namespace.
The spec.destination.name
is inherited from metadata.name
value.
Shell Login
Example of pod shell login:
$ kubectl get pods -n default -o go-template \
--template='{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'
ubuntu-6589cf5fb4-p9z2b
$ kubectl exec -itn default ubuntu-6589cf5fb4-p9z2b -- bash
root@ubuntu-6589cf5fb4-p9z2b:/#