---
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
  name: platform
  namespace: argocd
spec:
  description: Platform infrastructure and core services
  sourceRepos:
    - https://git.unkin.net/unkin/argocd-apps
    - https://artifactapi.k8s.syd1.au.unkin.net/api/v1/virtual/helm
    - https://purelb.github.io/purelb/charts
    - oci://gcr.io/k8s-staging-nfd/charts
    - oci://ghcr.io/woodpecker-ci/helm/woodpecker
    - oci://ghcr.io/netbox-community/netbox-chart/netbox
    - oci://docker.gitea.com/charts
  destinations:
    - namespace: '*-system'
      server: https://kubernetes.default.svc
    - namespace: 'artifactapi'
      server: https://kubernetes.default.svc
    - namespace: 'age-api'
      server: https://kubernetes.default.svc
    - namespace: 'authentik'
      server: https://kubernetes.default.svc
    - namespace: 'bind-internal'
      server: https://kubernetes.default.svc
    - namespace: 'bind-external'
      server: https://kubernetes.default.svc
    - namespace: 'cert-manager'
      server: https://kubernetes.default.svc
    - namespace: 'certificates'
      server: https://kubernetes.default.svc
    - namespace: 'consul'
      server: https://kubernetes.default.svc
    - namespace: 'dhcp-system'
      server: https://kubernetes.default.svc
    - namespace: 'encapi'
      server: https://kubernetes.default.svc
    - namespace: 'externaldns'
      server: https://kubernetes.default.svc
    - namespace: 'ghp'
      server: https://kubernetes.default.svc
    - namespace: 'gitea'
      server: https://kubernetes.default.svc
    - namespace: 'jfrog'
      server: https://kubernetes.default.svc
    - namespace: 'kanidm'
      server: https://kubernetes.default.svc
    - namespace: 'netbox'
      server: https://kubernetes.default.svc
    - namespace: 'node-feature-discovery'
      server: https://kubernetes.default.svc
    - namespace: 'pdbmux'
      server: https://kubernetes.default.svc
    - namespace: 'priority-classes'
      server: https://kubernetes.default.svc
    - namespace: 'purelb'
      server: https://kubernetes.default.svc
    - namespace: 'puppet'
      server: https://kubernetes.default.svc
    - namespace: 'reposync'
      server: https://kubernetes.default.svc
    - namespace: 'vault'
      server: https://kubernetes.default.svc
    - namespace: 'woodpecker'
      server: https://kubernetes.default.svc
  clusterResourceWhitelist:
    - group: ''
      kind: Namespace
    - group: 'rbac.authorization.k8s.io'
      kind: ClusterRole
    - group: 'rbac.authorization.k8s.io'
      kind: ClusterRoleBinding
    - group: 'apiextensions.k8s.io'
      kind: CustomResourceDefinition
    - group: 'admissionregistration.k8s.io'
      kind: MutatingWebhookConfiguration
    - group: 'admissionregistration.k8s.io'
      kind: ValidatingWebhookConfiguration
    - group: 'scheduling.k8s.io'
      kind: PriorityClass
    - group: 'purelb.io'
      kind: '*'
    - group: 'nfd.k8s-sigs.io'
      kind: NodeFeatureRule
    - group: 'deviceplugin.intel.com'
      kind: '*'
    - group: 'cert-manager.io'
      kind: Certificate
    - group: 'cert-manager.io'
      kind: Issuer
    - group: 'cert-manager.io'
      kind: ClusterIssuer
    - group: 'gateway.networking.k8s.io'
      kind: GatewayClass
    - group: 'networking.k8s.io'
      kind: IngressClass
  namespaceResourceWhitelist:
    - group: '*'
      kind: '*'
