diff --git a/manifests/_apps/skooner.yaml b/manifests/_apps/skooner.yaml new file mode 100644 index 0000000..d4bfe06 --- /dev/null +++ b/manifests/_apps/skooner.yaml @@ -0,0 +1,24 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: skooner + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: cluster.fun + destination: + namespace: skooner + name: cluster-fun (scaleway) + source: + path: manifests/skooner + repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" + targetRevision: HEAD + syncPolicy: + automated: {} + syncOptions: + - CreateNamespace=true + ignoreDifferences: + - kind: Secret + jsonPointers: + - /data diff --git a/manifests/skooner/manifest.yaml b/manifests/skooner/manifest.yaml new file mode 100644 index 0000000..04dddfd --- /dev/null +++ b/manifests/skooner/manifest.yaml @@ -0,0 +1,99 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: skooner-user + labels: + app.kubernetes.io/name: skooner + +--- + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: skooner-user + labels: + app.kubernetes.io/name: skooner +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin +subjects: +- kind: ServiceAccount + name: skooner-user + namespace: skooner + +--- + +kind: Deployment +apiVersion: apps/v1 +metadata: + name: skooner + labels: + app.kubernetes.io/name: skooner +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: skooner + template: + metadata: + labels: + app.kubernetes.io/name: skooner + spec: + containers: + - name: skooner + image: ghcr.io/skooner-k8s/skooner:stable + ports: + - containerPort: 4654 + livenessProbe: + httpGet: + scheme: HTTP + path: / + port: 4654 + initialDelaySeconds: 30 + timeoutSeconds: 30 + +--- + +kind: Service +apiVersion: v1 +metadata: + name: skooner + labels: + app.kubernetes.io/name: skooner +spec: + ports: + - port: 80 + targetPort: 4654 + name: web + selector: + app.kubernetes.io/name: skooner + +--- + +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: skooner + labels: + app.kubernetes.io/name: skooner + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" +spec: + ingressClassName: nginx + tls: + - hosts: + - skooner.cluster.fun + secretName: skooner-ingress + rules: + - host: skooner.cluster.fun + http: + paths: + - path: / + pathType: ImplementationSpecific + backend: + service: + name: skooner + port: + name: web