Skip to content

Commit 93cf17f

Browse files
committed
feat: add chart for auth-server
1 parent 916993a commit 93cf17f

9 files changed

+249
-0
lines changed

charts/auth-server/.helmignore

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*~
18+
# Various IDEs
19+
.project
20+
.idea/
21+
*.tmproj

charts/auth-server/Chart.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: v1
2+
description: Elegant Themes Auth Server
3+
icon: https://raw.githubusercontent.com/nodejs/nodejs.org/main/public/static/images/logo-hexagon.svg
4+
maintainers:
5+
6+
name: Elegant Themes
7+
name: auth-server
8+
version: 1.0.0

charts/auth-server/app-readme.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Auth Server

charts/auth-server/questions.yml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
questions:
2+
# - variable: s3_bucket_name
3+
# label: S3 Bucket Name
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{{- define "addCIDRToIPs" -}}
2+
{{- $ips := . | split "," -}}
3+
{{- $ipsWithCIDR := list -}}
4+
{{- range $ip := $ips -}}
5+
{{- $ipsWithCIDR = append $ipsWithCIDR (print $ip "/32") -}}
6+
{{- end -}}
7+
{{ $ipsWithCIDR | join "," | quote }}
8+
{{- end -}}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: {{ .Release.Name }}
5+
namespace: {{ .Release.Namespace }}
6+
spec:
7+
selector:
8+
app: {{ .Release.Name }}
9+
ports:
10+
- port: {{ .Values.AUTH_SERVER_PORT }}
11+
targetPort: {{ .Values.AUTH_SERVER_PORT }}
12+
name: nodejs
13+
---
14+
15+
apiVersion: apps/v1
16+
kind: Deployment
17+
metadata:
18+
name: {{ .Release.Name }}
19+
namespace: {{ .Release.Namespace }}
20+
labels:
21+
app: {{ .Release.Name }}
22+
spec:
23+
replicas: {{ .Values.REPLICAS }}
24+
strategy:
25+
rollingUpdate:
26+
maxSurge: 0
27+
maxUnavailable: 1
28+
selector:
29+
matchLabels:
30+
app: {{ .Release.Name }}
31+
template:
32+
metadata:
33+
labels:
34+
app: {{ .Release.Name }}
35+
redis-client: 'true'
36+
spec:
37+
affinity:
38+
podAffinity:
39+
requiredDuringSchedulingIgnoredDuringExecution:
40+
- labelSelector:
41+
matchExpressions:
42+
- key: app.kubernetes.io/name
43+
operator: In
44+
values:
45+
- ingress-nginx
46+
namespaces:
47+
- ingress-nginx
48+
topologyKey: kubernetes.io/hostname
49+
podAntiAffinity:
50+
requiredDuringSchedulingIgnoredDuringExecution:
51+
- labelSelector:
52+
matchExpressions:
53+
- key: app
54+
operator: In
55+
values:
56+
- {{ .Release.Name }}
57+
namespaces:
58+
- {{ .Release.Namespace }}
59+
topologyKey: kubernetes.io/hostname
60+
- labelSelector:
61+
matchExpressions:
62+
- key: app
63+
operator: In
64+
values:
65+
- cloud-screenshot
66+
namespaces:
67+
- dc-screenshot
68+
topologyKey: kubernetes.io/hostname
69+
containers:
70+
- name: {{ .Release.Name }}
71+
env:
72+
- name: NODE_NAME
73+
valueFrom:
74+
fieldRef:
75+
fieldPath: spec.nodeName
76+
- name: AUTH_SERVER_PATH
77+
value: {{ .Values.INSTALL_PATH | squote }}
78+
- name: VIRTUAL_HOST
79+
value: {{ .Values.VIRTUAL_HOST | squote }}
80+
- name: AUTH_SERVER_REPO_URL
81+
value: {{ .Values.AUTH_SERVER_REPO_URL | squote }}
82+
- name: IMAGE_VERSION
83+
value: {{ .Values.AUTH_SERVER_VERSION | squote }}
84+
- name: GIT_REF
85+
value: {{ .Values.GIT_REF | squote }}
86+
87+
image: {{ .Values.AUTH_SERVER_IMAGE | squote }}
88+
livenessProbe:
89+
httpGet:
90+
path: /healthz
91+
port: {{ .Values.AUTH_SERVER_PORT }}
92+
scheme: HTTP
93+
periodSeconds: 30
94+
ports:
95+
- name: nodejs
96+
containerPort: {{ .Values.AUTH_SERVER_PORT }}
97+
readinessProbe:
98+
httpGet:
99+
path: /healthz
100+
port: {{ .Values.AUTH_SERVER_PORT }}
101+
scheme: HTTP
102+
periodSeconds: 10
103+
resources:
104+
requests:
105+
cpu: 100m
106+
memory: 100Mi
107+
limits:
108+
cpu: 1000m
109+
memory: {{ .Values.MEMORY_LIMIT | squote }}
110+
startupProbe:
111+
exec:
112+
command:
113+
- cat
114+
- {{ .Values.INSTALL_PATH }}/dist/healthz
115+
failureThreshold: 30
116+
periodSeconds: 10
117+
volumeMounts:
118+
- name: wordpress
119+
mountPath: /srv
120+
- name: config
121+
mountPath: /config
122+
readOnly: true
123+
tolerations:
124+
- key: node.kubernetes.io/disk-pressure
125+
operator: Exists
126+
- key: node.kubernetes.io/memory-pressure
127+
operator: Exists
128+
- key: node.kubernetes.io/pid-pressure
129+
operator: Exists
130+
volumes:
131+
- name: wordpress
132+
hostPath:
133+
path: /srv
134+
type: DirectoryOrCreate
135+
- name: config
136+
secret:
137+
secretName: secrets
+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
name: {{ .Release.Name }}
5+
namespace: {{ .Release.Namespace }}
6+
annotations:
7+
cert-manager.io/cluster-issuer: letsencrypt
8+
kubernetes.io/ingress.class: nginx
9+
nginx.ingress.kubernetes.io/backend-protocol: HTTP
10+
nginx.ingress.kubernetes.io/enable-cors: "true"
11+
nginx.ingress.kubernetes.io/limit-connections: "5"
12+
nginx.ingress.kubernetes.io/limit-rps: "3"
13+
nginx.ingress.kubernetes.io/limit-burst-multiplier: "3"
14+
nginx.ingress.kubernetes.io/limit-req-status-code: "429"
15+
nginx.ingress.kubernetes.io/limit-conn-status-code: "429"
16+
nginx.ingress.kubernetes.io/use-regex: "true"
17+
nginx.ingress.kubernetes.io/enable-rewrite-log: "false"
18+
nginx.ingress.kubernetes.io/ssl-redirect: "false"
19+
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
20+
nginx.ingress.kubernetes.io/limit-whitelist: {{ include "addCIDRToIPs" .Values.ETDC_IP_ADDRESSES }}
21+
spec:
22+
tls:
23+
- hosts:
24+
- {{ .Values.VIRTUAL_HOST }}
25+
secretName: {{ .Release.Name }}-tls
26+
rules:
27+
- host: {{ .Values.VIRTUAL_HOST }}
28+
http:
29+
paths:
30+
- path: "/.*"
31+
pathType: Prefix
32+
backend:
33+
service:
34+
name: {{ .Release.Name }}
35+
port:
36+
number: {{ .Values.AUTH_SERVER_PORT }}
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: secrets
5+
namespace: {{ .Release.Namespace }}
6+
stringData:
7+
GITHUB_TOKEN: {{ .Values.GITHUB_TOKEN | squote }}
8+
.env: |
9+
AUTH_SERVER_ENV={{ .Values.AUTH_SERVER_ENV | squote }}
10+
AUTH_SERVER_PATH={{ .Values.INSTALL_PATH | squote }}
11+
AUTH_SERVER_PORT={{ .Values.AUTH_SERVER_PORT }}
12+
AUTH_SERVER_REPO_URL={{ .Values.AUTH_SERVER_REPO_URL | squote }}
13+
IMAGE_VERSION={{ .Values.AUTH_SERVER_VERSION | squote }}
14+
JWT_PRIVATE_KEY={{ .Values.JWT_PRIVATE_KEY | b64enc | squote }}
15+
REDIS_HOSTNAME={{ .Values.REDIS_HOSTNAME | squote }}
16+
REDIS_NAME={{ .Values.REDIS_NAME | squote }}
17+
SWAGGER_ALLOWED_IPS={{ .Values.SWAGGER_ALLOWED_IPS | squote }}
18+
VIRTUAL_HOST={{ .Values.VIRTUAL_HOST | squote }}
19+

charts/auth-server/values.yaml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
AUTH_SERVER_ENV:
2+
AUTH_SERVER_PORT:
3+
AUTH_SERVER_IMAGE:
4+
AUTH_SERVER_REPO_URL:
5+
AUTH_SERVER_VERSION:
6+
ETDC_IP_ADDRESSES:
7+
GITHUB_TOKEN:
8+
GIT_REF:
9+
INSTALL_PATH:
10+
JWT_PRIVATE_KEY:
11+
MEMORY_LIMIT:
12+
REDIS_HOSTNAME:
13+
REDIS_NAME:
14+
REPLICAS:
15+
SWAGGER_ALLOWED_IPS:
16+
VIRTUAL_HOST:

0 commit comments

Comments
 (0)