diff --git a/kustomization.yaml b/kustomization.yaml index d03ff5a..d79659f 100644 --- a/kustomization.yaml +++ b/kustomization.yaml @@ -6,6 +6,7 @@ resources: - application.yaml # Core infrastructure + - priority-classes/argocd.yaml - cert-manager/argocd.yaml - traefik/argocd.yaml - argocd-image-updater/argocd.yaml diff --git a/priority-classes/argocd.yaml b/priority-classes/argocd.yaml new file mode 100644 index 0000000..dcff80e --- /dev/null +++ b/priority-classes/argocd.yaml @@ -0,0 +1,17 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: priority-classes + namespace: argocd +spec: + project: default + source: + repoURL: https://github.com/Mayne0213/platform.git + targetRevision: HEAD + path: priority-classes/manifests + destination: + server: https://kubernetes.default.svc + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/priority-classes/manifests/kustomization.yaml b/priority-classes/manifests/kustomization.yaml new file mode 100644 index 0000000..8ba8781 --- /dev/null +++ b/priority-classes/manifests/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - priority-classes.yaml diff --git a/priority-classes/manifests/priority-classes.yaml b/priority-classes/manifests/priority-classes.yaml new file mode 100644 index 0000000..05cb295 --- /dev/null +++ b/priority-classes/manifests/priority-classes.yaml @@ -0,0 +1,28 @@ +# High Priority (1000) - Critical infrastructure +# ArgoCD, Gitea, CNPG, Vault, MinIO +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: high-priority +value: 1000 +globalDefault: false +description: "High priority for critical infrastructure" +--- +# Medium Priority (500) - Observability stack +# Thanos, Prometheus, Loki, Tempo +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: medium-priority +value: 500 +globalDefault: false +description: "Medium priority for observability stack" +--- +# Low Priority (100) - Everything else +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: low-priority +value: 100 +globalDefault: true +description: "Low priority for all other applications"