From 8fe875bc2cf178720f6abf890ebe301f1c68dcb8 Mon Sep 17 00:00:00 2001 From: dvirlabs Date: Thu, 5 Jun 2025 01:37:46 +0300 Subject: [PATCH] Add navix app --- charts/navix-helm/Chart.yaml | 4 +++ .../templates/backend-deployment.yaml | 29 +++++++++++++++ .../navix-helm/templates/backend-service.yaml | 11 ++++++ .../templates/frontend-deployment.yaml | 20 +++++++++++ .../templates/frontend-ingress.yaml | 23 ++++++++++++ .../templates/frontend-service.yaml | 11 ++++++ charts/navix-helm/values.yaml | 35 +++++++++++++++++++ manifests/navix/values.yaml | 35 +++++++++++++++++++ 8 files changed, 168 insertions(+) create mode 100644 charts/navix-helm/Chart.yaml create mode 100644 charts/navix-helm/templates/backend-deployment.yaml create mode 100644 charts/navix-helm/templates/backend-service.yaml create mode 100644 charts/navix-helm/templates/frontend-deployment.yaml create mode 100644 charts/navix-helm/templates/frontend-ingress.yaml create mode 100644 charts/navix-helm/templates/frontend-service.yaml create mode 100644 charts/navix-helm/values.yaml create mode 100644 manifests/navix/values.yaml diff --git a/charts/navix-helm/Chart.yaml b/charts/navix-helm/Chart.yaml new file mode 100644 index 0000000..96570a8 --- /dev/null +++ b/charts/navix-helm/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v2 +name: navix +version: 0.1.0 +description: A DevOps dashboard called Navix \ No newline at end of file diff --git a/charts/navix-helm/templates/backend-deployment.yaml b/charts/navix-helm/templates/backend-deployment.yaml new file mode 100644 index 0000000..68fe22b --- /dev/null +++ b/charts/navix-helm/templates/backend-deployment.yaml @@ -0,0 +1,29 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: navix-backend +spec: + replicas: 1 + selector: + matchLabels: + app: navix-backend + template: + metadata: + labels: + app: navix-backend + spec: + containers: + - name: backend + image: "{{ .Values.backend.image.repository }}:{{ .Values.backend.image.tag }}" + imagePullPolicy: {{ .Values.backend.image.pullPolicy }} + ports: + - containerPort: 8000 + env: + - name: MINIO_ACCESS_KEY + value: "{{ .Values.backend.env.MINIO_ACCESS_KEY }}" + - name: MINIO_SECRET_KEY + value: "{{ .Values.backend.env.MINIO_SECRET_KEY }}" + - name: MINIO_ENDPOINT + value: "{{ .Values.backend.env.MINIO_ENDPOINT }}" + - name: MINIO_BUCKET + value: "{{ .Values.backend.env.MINIO_BUCKET }}" \ No newline at end of file diff --git a/charts/navix-helm/templates/backend-service.yaml b/charts/navix-helm/templates/backend-service.yaml new file mode 100644 index 0000000..f4e033a --- /dev/null +++ b/charts/navix-helm/templates/backend-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: navix-backend +spec: + type: {{ .Values.backend.service.type }} + selector: + app: navix-backend + ports: + - port: {{ .Values.backend.service.port }} + targetPort: 8000 \ No newline at end of file diff --git a/charts/navix-helm/templates/frontend-deployment.yaml b/charts/navix-helm/templates/frontend-deployment.yaml new file mode 100644 index 0000000..1dd733e --- /dev/null +++ b/charts/navix-helm/templates/frontend-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: navix-frontend +spec: + replicas: 1 + selector: + matchLabels: + app: navix-frontend + template: + metadata: + labels: + app: navix-frontend + spec: + containers: + - name: frontend + image: "{{ .Values.frontend.image.repository }}:{{ .Values.frontend.image.tag }}" + imagePullPolicy: {{ .Values.frontend.image.pullPolicy }} + ports: + - containerPort: 80 \ No newline at end of file diff --git a/charts/navix-helm/templates/frontend-ingress.yaml b/charts/navix-helm/templates/frontend-ingress.yaml new file mode 100644 index 0000000..55977e5 --- /dev/null +++ b/charts/navix-helm/templates/frontend-ingress.yaml @@ -0,0 +1,23 @@ +{{- if .Values.frontend.ingress.enabled }} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: navix-frontend + annotations: + {{- range $key, $value := .Values.frontend.ingress.annotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} +spec: + ingressClassName: {{ .Values.frontend.ingress.className }} + rules: + - host: {{ .Values.frontend.ingress.hosts[0].host }} + http: + paths: + - path: {{ .Values.frontend.ingress.hosts[0].paths[0].path }} + pathType: {{ .Values.frontend.ingress.hosts[0].paths[0].pathType }} + backend: + service: + name: navix-frontend + port: + number: {{ .Values.frontend.service.port }} +{{- end }} \ No newline at end of file diff --git a/charts/navix-helm/templates/frontend-service.yaml b/charts/navix-helm/templates/frontend-service.yaml new file mode 100644 index 0000000..89f997d --- /dev/null +++ b/charts/navix-helm/templates/frontend-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: navix-frontend +spec: + type: {{ .Values.frontend.service.type }} + selector: + app: navix-frontend + ports: + - port: {{ .Values.frontend.service.port }} + targetPort: 80 \ No newline at end of file diff --git a/charts/navix-helm/values.yaml b/charts/navix-helm/values.yaml new file mode 100644 index 0000000..252cf8d --- /dev/null +++ b/charts/navix-helm/values.yaml @@ -0,0 +1,35 @@ +frontend: + image: + repository: harbor.dvirlabs.com/my-apps/navix-frontend + tag: latest + pullPolicy: IfNotPresent + service: + type: ClusterIP + port: 80 + ingress: + enabled: true + className: traefik + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + hosts: + - host: navix.dvirlabs.com + paths: + - path: / + pathType: Prefix + +backend: + image: + repository: harbor.dvirlabs.com/my-apps/navix-backend + tag: latest + pullPolicy: IfNotPresent + service: + type: ClusterIP + port: 8000 + env: + MINIO_ACCESS_KEY: "your-access-key" + MINIO_SECRET_KEY: "your-secret-key" + MINIO_ENDPOINT: "s3.dvirlabs.com" + MINIO_BUCKET: "navix-icons" + ingress: + enabled: false \ No newline at end of file diff --git a/manifests/navix/values.yaml b/manifests/navix/values.yaml new file mode 100644 index 0000000..f8148f0 --- /dev/null +++ b/manifests/navix/values.yaml @@ -0,0 +1,35 @@ +frontend: + image: + repository: harbor.dvirlabs.com/my-apps/navix-frontend + tag: v1-no-cicd + pullPolicy: IfNotPresent + service: + type: ClusterIP + port: 80 + ingress: + enabled: true + className: traefik + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + hosts: + - host: navix.dvirlabs.com + paths: + - path: / + pathType: Prefix + +backend: + image: + repository: harbor.dvirlabs.com/my-apps/navix-backend + tag: v1-no-cicd + pullPolicy: IfNotPresent + service: + type: ClusterIP + port: 8000 + env: + MINIO_ACCESS_KEY: "TDJvsBmbkpUXpCw5M7LA" + MINIO_SECRET_KEY: "n9scR7W0MZy6FF0bznV98fSgXpdebIQjqZvEr1Yu" + MINIO_ENDPOINT: "s3.dvirlabs.com" + MINIO_BUCKET: "navix-icons" + ingress: + enabled: false \ No newline at end of file