diff --git a/k8s/core/argocd/appprojects.yaml b/k8s/core/argocd/appprojects.yaml index 0c7b1d9..621758b 100644 --- a/k8s/core/argocd/appprojects.yaml +++ b/k8s/core/argocd/appprojects.yaml @@ -47,3 +47,20 @@ spec: server: https://kubernetes.default.svc sourceRepos: - ssh://git@gt.hexor.cy:30022/ab/homelab.git + +--- +apiVersion: argoproj.io/v1alpha1 +kind: AppProject +metadata: + name: desktop + namespace: argocd +spec: + clusterResourceWhitelist: + - group: '*' + kind: '*' + description: Hexor Home Lab Desktop Apps + destinations: + - namespace: '*' + server: https://kubernetes.default.svc + sourceRepos: + - ssh://git@gt.hexor.cy:30022/ab/homelab.git diff --git a/k8s/desktop/khm/app.yaml b/k8s/desktop/khm/app.yaml new file mode 100644 index 0000000..d4b9c5f --- /dev/null +++ b/k8s/desktop/khm/app.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: khm-client + namespace: argocd +spec: + project: desktop + destination: + namespace: default + server: https://kubernetes.default.svc + source: + repoURL: ssh://git@gt.hexor.cy:30022/ab/homelab.git + targetRevision: HEAD + path: k8s/desktop/khm + syncPolicy: + automated: + selfHeal: true + prune: true diff --git a/k8s/desktop/khm/khm-client-cronjob.yaml b/k8s/desktop/khm/khm-client-cronjob.yaml new file mode 100644 index 0000000..b2f89fc --- /dev/null +++ b/k8s/desktop/khm/khm-client-cronjob.yaml @@ -0,0 +1,59 @@ +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: khm-client + labels: + app: khm-client +spec: + schedule: "* * * * *" + concurrencyPolicy: Forbid + successfulJobsHistoryLimit: 3 + failedJobsHistoryLimit: 3 + jobTemplate: + spec: + template: + metadata: + labels: + app: khm-client + spec: + restartPolicy: OnFailure + nodeSelector: + node-role.kubernetes.io/desktop: "" + tolerations: + - key: workload + operator: Equal + value: desktop + effect: NoSchedule + hostNetwork: false + containers: + - name: khm-client + image: 'ultradesu/khm:latest' + imagePullPolicy: Always + securityContext: + privileged: false + resources: + requests: + memory: "64Mi" + cpu: "50m" + limits: + memory: "256Mi" + cpu: "200m" + command: + - /usr/local/bin/khm + - --known-hosts + - /host-ssh/known_hosts + - --host + - https://khm.hexor.cy + - --flow=work + - --basic-auth=ultradesu:JiMkWGaA0UZRkzzqtdPvvE0D5vIMCrH7LZGvK2Ux6eGSWECrPlh7UH1khdEm + - --in-place + volumeMounts: + - name: known-hosts + mountPath: /host-ssh/known_hosts + subPath: known_hosts + volumes: + - name: known-hosts + hostPath: + path: /Users/ab/.ssh/known_hosts + type: File diff --git a/k8s/desktop/khm/kustomization.yaml b/k8s/desktop/khm/kustomization.yaml new file mode 100644 index 0000000..97d14ce --- /dev/null +++ b/k8s/desktop/khm/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - app.yaml + - khm-client-cronjob.yaml