diff --git a/Chart.yaml b/Chart.yaml index bcff1ce..6ad6a1f 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: backend +name: fullstack-chart description: A Helm chart for Kubernetes # A chart can be either an 'application' or a 'library' chart. diff --git a/templates/api-ingress.yaml b/templates/api-ingress.yaml index 7322486..7a7bec1 100644 --- a/templates/api-ingress.yaml +++ b/templates/api-ingress.yaml @@ -2,9 +2,11 @@ kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: {{ .Values.api.appName }} + {{ if eq .Values.environment "production" }} annotations: cert-manager.io/cluster-issuer: letsencrypt traefik.ingress.kubernetes.io/router.middlewares: "{{ .Release.Namespace }}-redirect-https@kubernetescrd" + {{ end }} spec: rules: - host: {{ .Values.api.host }} diff --git a/templates/cluster-issuer.yaml b/templates/cluster-issuer.yaml index c871e47..5ca0797 100644 --- a/templates/cluster-issuer.yaml +++ b/templates/cluster-issuer.yaml @@ -4,7 +4,11 @@ metadata: name: letsencrypt spec: acme: + {{ if eq .Values.environment "production" }} server: https://acme-v02.api.letsencrypt.org/directory + {{ else }} + server: https://acme-staging-v02.api.letsencrypt.org/directory + {{ end }} email: {{ .Values.email }} privateKeySecretRef: name: letsencrypt diff --git a/templates/frontend-deployment.yaml b/templates/frontend-deployment.yaml index 24cf07e..b549b91 100644 --- a/templates/frontend-deployment.yaml +++ b/templates/frontend-deployment.yaml @@ -1,26 +1,26 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ .Values.nextjs.appName }} # Name of the deployment + name: {{ .Values.frontend.appName }} # Name of the deployment labels: - app: {{ .Values.nextjs.appName }} # Name of your application + app: {{ .Values.frontend.appName }} # Name of your application spec: selector: matchLabels: - app: {{ .Values.nextjs.appName }} # Name of your application - replicas: {{ .Values.nextjs.replicas }} # Number of replicas + app: {{ .Values.frontend.appName }} # Name of your application + replicas: 1 # Number of replicas template: metadata: labels: - app: {{ .Values.nextjs.appName }} # Name of your application + app: {{ .Values.frontend.appName }} # Name of your application spec: containers: - # Containers are the individual pieces of your application that you want - # to run. - - name: {{ .Values.nextjs.appName }} # Name of the container - image: {{ .Values.nextjs.image }} - ports: - # Ports are the ports that your application uses. - - containerPort: {{ .Values.nextjs.containerPort }} # The port that your application uses + # Containers are the individual pieces of your application that you want + # to run. + - name: {{ .Values.frontend.appName }} # Name of the container + image: {{ .Values.frontend.image }} + ports: + # Ports are the ports that your application uses. + - containerPort: {{ .Values.frontend.containerPort }} # The port that your application uses imagePullSecrets: - name: docker-regcred diff --git a/templates/frontend-ingres.yaml b/templates/frontend-ingres.yaml index b432906..3412ed0 100644 --- a/templates/frontend-ingres.yaml +++ b/templates/frontend-ingres.yaml @@ -1,23 +1,25 @@ kind: Ingress apiVersion: networking.k8s.io/v1 metadata: - name: {{ .Values.nextjs.appName }} + name: {{ .Values.frontend.appName }} + {{ if eq .Values.environment "production" }} annotations: cert-manager.io/cluster-issuer: letsencrypt traefik.ingress.kubernetes.io/router.middlewares: "{{ .Release.Namespace }}-redirect-https@kubernetescrd" + {{ end }} spec: rules: - - host: {{ .Values.nextjs.host }} + - host: {{ .Values.frontend.host }} http: paths: - path: / pathType: Prefix backend: service: - name: {{ .Values.nextjs.appName }} + name: {{ .Values.frontend.appName }} port: number: 80 tls: - - hosts: - - {{ .Values.nextjs.host }} - secretName: {{ .Values.nextjs.host | replace "." "-" }} + - hosts: + - {{ .Values.frontend.host }} + secretName: {{ .Values.frontend.host | replace "." "-" }} diff --git a/values.yaml b/values.yaml index 3638f4d..7237996 100644 --- a/values.yaml +++ b/values.yaml @@ -1,4 +1,5 @@ email: your-mail@web.com +environment: staging api: appName: nice-name