Title here
Summary here
This project covers setting up a Git repository for application manifests and using ArgoCD to deploy them.
argocd app create myapp \
--repo https://github.com/myrepo.git \
--path k8s-manifests \
--dest-server https://kubernetes.default.svc \
--dest-namespace defaultThis project explores managing deployments across multiple clusters.
argocd cluster add <cluster-name>apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: multi-cluster-app
spec:
generators:
- list:
elements:
- cluster: dev
- cluster: staging
template:
metadata:
name: '{{cluster}}-app'
spec:
project: default
source:
repoURL: https://github.com/myrepo.git
path: k8s-manifests
destination:
server: '{{cluster}}'
namespace: defaultThis project integrates ArgoCD with CI/CD pipelines using GitHub Actions.
name: Deploy to K3s
on: push
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Trigger ArgoCD sync
run: |
argocd app sync myappThis project focuses on securing ArgoCD with authentication and access controls.
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
data:
url: https://argocd.example.com
oidc.config: |
name: GitHub
issuer: https://github.com/login/oauth
clientID: <client-id>
clientSecret: <client-secret>apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-rbac-cm
namespace: argocd
data:
policy.csv: |
p, role:developer, applications, get, */*, allow
p, role:developer, applications, sync, */*, allow
g, alice, role:developerThis project ties together everything covered in previous projects to build a robust, production-ready ArgoCD environment.
By completing these hands-on projects, you will gain real-world experience in deploying, managing, and securing Kubernetes applications using ArgoCD.