From e7d9a6c8924e1baf26a2e271533dd097e90028cb Mon Sep 17 00:00:00 2001 From: Edward Cheng Date: Sat, 31 Aug 2024 10:14:33 +1000 Subject: [PATCH] add app chartmuseum --- apps/chartmuseum/base/deployment.yaml | 45 +++++++++++++++++++ apps/chartmuseum/base/kustomization.yaml | 5 +++ apps/chartmuseum/base/service.yaml | 20 +++++++++ apps/chartmuseum/env/k3s-cluster/config.json | 12 +++++ apps/chartmuseum/env/k3s-cluster/ingress.yaml | 21 +++++++++ .../env/k3s-cluster/kustomization.yaml | 4 ++ .../k3s-cluster/templates/chartmuseum.yaml | 9 ++++ 7 files changed, 116 insertions(+) create mode 100644 apps/chartmuseum/base/deployment.yaml create mode 100644 apps/chartmuseum/base/kustomization.yaml create mode 100644 apps/chartmuseum/base/service.yaml create mode 100644 apps/chartmuseum/env/k3s-cluster/config.json create mode 100644 apps/chartmuseum/env/k3s-cluster/ingress.yaml create mode 100644 apps/chartmuseum/env/k3s-cluster/kustomization.yaml create mode 100644 resources/namespaces/env/k3s-cluster/templates/chartmuseum.yaml diff --git a/apps/chartmuseum/base/deployment.yaml b/apps/chartmuseum/base/deployment.yaml new file mode 100644 index 0000000..964a1bb --- /dev/null +++ b/apps/chartmuseum/base/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: chartmuseum + namespace: chartmuseum + labels: + app.kubernetes.io/name: chartmuseum +spec: + selector: + matchLabels: + app.kubernetes.io/name: chartmuseum + template: + metadata: + labels: + app.kubernetes.io/name: chartmuseum + spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + containers: + - name: homer + image: ghcr.io/helm/chartmuseum:v0.14.0 + securityContext: + allowPrivilegeEscalation: false + env: + - name: DEBUG + value: "1" + - name: STORAGE + value: "local" + - name: STORAGE_LOCAL_ROOTDIR + value: "/charts" + ports: + - protocol: TCP + containerPort: 8080 + name: http + volumeMounts: + - name: charts + mountPath: /charts + volumes: + - name: charts + hostPath: + path: /mnt/nfs/AppData/chartmuseum/charts + type: Directory + nodeSelector: + kubernetes.io/os: linux diff --git a/apps/chartmuseum/base/kustomization.yaml b/apps/chartmuseum/base/kustomization.yaml new file mode 100644 index 0000000..87b09a3 --- /dev/null +++ b/apps/chartmuseum/base/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./deployment.yaml + - ./service.yaml \ No newline at end of file diff --git a/apps/chartmuseum/base/service.yaml b/apps/chartmuseum/base/service.yaml new file mode 100644 index 0000000..923ee0b --- /dev/null +++ b/apps/chartmuseum/base/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: chartmuseum + namespace: chartmuseum + annotations: + metallb.universe.tf/address-pool: k3s-cluster-ip-pool + metallb.universe.tf/allow-shared-ip: k3s-cluster + labels: + app.kubernetes.io/name: chartmuseum +spec: + selector: + app.kubernetes.io/name: chartmuseum + type: ClusterIP + internalTrafficPolicy: Cluster + ports: + - protocol: TCP + port: 8080 + targetPort: 8080 + name: http diff --git a/apps/chartmuseum/env/k3s-cluster/config.json b/apps/chartmuseum/env/k3s-cluster/config.json new file mode 100644 index 0000000..10571b4 --- /dev/null +++ b/apps/chartmuseum/env/k3s-cluster/config.json @@ -0,0 +1,12 @@ +{ + "appName": "chartmuseum", + "userGivenName": "chartmuseum", + "namespace": "chartmuseum", + "destNamespace": "chartmuseum", + "destServer": "https://kubernetes.default.svc", + "srcPath": "apps/chartmuseum/env/k3s-cluster", + "srcRepoURL": "https://github.com/3dwardch3ng/home-cluster-ops.git", + "srcTargetRevision": "", + "labels": null, + "annotations": null +} \ No newline at end of file diff --git a/apps/chartmuseum/env/k3s-cluster/ingress.yaml b/apps/chartmuseum/env/k3s-cluster/ingress.yaml new file mode 100644 index 0000000..3e22983 --- /dev/null +++ b/apps/chartmuseum/env/k3s-cluster/ingress.yaml @@ -0,0 +1,21 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: chartmuseum-ingress + namespace: chartmuseum + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + ingressClassName: nginx + rules: + - host: "chartmuseum.cluster.edward.sydney" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: chartmuseum + port: + number: 8080 \ No newline at end of file diff --git a/apps/chartmuseum/env/k3s-cluster/kustomization.yaml b/apps/chartmuseum/env/k3s-cluster/kustomization.yaml new file mode 100644 index 0000000..a227ac4 --- /dev/null +++ b/apps/chartmuseum/env/k3s-cluster/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../../base \ No newline at end of file diff --git a/resources/namespaces/env/k3s-cluster/templates/chartmuseum.yaml b/resources/namespaces/env/k3s-cluster/templates/chartmuseum.yaml new file mode 100644 index 0000000..16ded45 --- /dev/null +++ b/resources/namespaces/env/k3s-cluster/templates/chartmuseum.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Namespace +metadata: + annotations: + argocd.argoproj.io/sync-options: Prune=false + creationTimestamp: null + name: chartmuseum +spec: {} +status: {}