Skip to content

Foundation is Pelotech's take on a opinionated development and delivery platform based on k8s

License

Notifications You must be signed in to change notification settings

pelotech/foundation

Repository files navigation

pre-commit Publish-Kustomizations

Foundation - Pelotech's GitOps K8s Cluster

Foundation is our repository of base, reusable manifests for setting up GitOps k8s clusters, currently targeted for AWS EKS. ArgoCD is installed as the GitOps agent in a self-managed fashion and also includes Pelotech's set of opinionated components to solve everything that K8s doesn't out of the box (DNS/TLS, storage, logs/metrics etc.)

bootstrap application

---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: argocd
  namespace: argocd
spec:
  project: infrastructure
  source:
    repoURL: '[email protected]:pelotech/infrastructure' #changeme
    path: workloads-account/com/gitops #changeme
    targetRevision: main
  destination:
    namespace: argocd
    name: in-cluster
  syncPolicy:
    automated: {}
---
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
  name: infrastructure
  namespace: argocd
  finalizers:
    - resources-finalizer.argocd.argoproj.io
spec:
  sourceRepos:
    - https://github.com/pelotech/foundation
    - https://github.com/pelotech/infrastructure #changeme
    - https://charts.bitnami.com/bitnami
  destinations:
    - namespace: argocd
      server: https://kubernetes.default.svc
    - namespace: tailscale # tailscale
      server: https://kubernetes.default.svc
    - namespace: kube-system # nidhogg, multus
      server: https://kubernetes.default.svc
    - namespace: nidhogg-system
      server: https://kubernetes.default.svc
    - namespace: ingress-nginx
      server: https://kubernetes.default.svc
  sourceNamespaces:
    - argocd
  clusterResourceWhitelist:
    - group: '*'
      kind: '*'