Skip to content

Commit e37564b

Browse files
committed
chore(deephive): add chart for deephive
1 parent 9b8d97a commit e37564b

File tree

8 files changed

+277
-0
lines changed

8 files changed

+277
-0
lines changed

charts/deephive/.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/deephive/Chart.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: v1
2+
description: DeepHive
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: deephive
8+
version: 1.0.0

charts/deephive/app-readme.md

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

charts/deephive/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
+140
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
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.PORT }}
11+
targetPort: {{ .Values.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: DEEPHIVE_PATH
77+
value: {{ .Values.INSTALL_PATH | squote }}
78+
- name: VIRTUAL_HOST
79+
value: {{ .Values.VIRTUAL_HOST | squote }}
80+
- name: DEEPHIVE_REPO_URL
81+
value: {{ .Values.DEEPHIVE_REPO_URL | squote }}
82+
- name: IMAGE_VERSION
83+
value: {{ .Values.DEEPHIVE_VERSION | squote }}
84+
- name: GIT_REF
85+
value: {{ .Values.GIT_REF | squote }}
86+
87+
image: {{ .Values.DEEPHIVE_IMAGE | squote }}
88+
livenessProbe:
89+
httpGet:
90+
path: /healthz
91+
port: {{ .Values.PORT }}
92+
scheme: HTTP
93+
periodSeconds: 30
94+
ports:
95+
- name: nodejs
96+
containerPort: {{ .Values.PORT }}
97+
readinessProbe:
98+
httpGet:
99+
path: /healthz
100+
port: {{ .Values.PORT }}
101+
scheme: HTTP
102+
periodSeconds: 10
103+
resources:
104+
requests:
105+
cpu: 100m
106+
memory: 100Mi
107+
limits:
108+
cpu: '2'
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+
effect: NoSchedule
127+
- key: node.kubernetes.io/memory-pressure
128+
operator: Exists
129+
effect: NoSchedule
130+
- key: node.kubernetes.io/pid-pressure
131+
operator: Exists
132+
effect: NoSchedule
133+
volumes:
134+
- name: wordpress
135+
hostPath:
136+
path: /srv
137+
type: DirectoryOrCreate
138+
- name: config
139+
secret:
140+
secretName: secrets

charts/deephive/templates/ingress.yml

+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/cors-allow-headers: "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,X-Product-Version"
20+
nginx.ingress.kubernetes.io/proxy-read-timeout: "80"
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.PORT }}

charts/deephive/templates/secrets.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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+
DEEPHIVE_ENV={{ .Values.DEEPHIVE_ENV | squote }}
10+
DEEPHIVE_IMAGE={{ .Values.DEEPHIVE_IMAGE | squote }}
11+
DEEPHIVE_REPO_URL={{ .Values.DEEPHIVE_REPO_URL | squote }}
12+
DEEPHIVE_VERSION={{ .Values.DEEPHIVE_VERSION | squote }}
13+
DISCORD_TOKEN={{ .Values.DISCORD_TOKEN | squote }}
14+
DIVI_CODEBASE_PATH={{ .Values.DIVI_CODEBASE_PATH | squote }}
15+
DIVI_REPO_URL={{ .Values.DIVI_REPO_URL | squote }}
16+
DIVI_BRANCH={{ .Values.DIVI_BRANCH | squote }}
17+
GIT_REF={{ .Values.GIT_REF | squote }}
18+
INSTALL_PATH={{ .Values.INSTALL_PATH | squote }}
19+
LANGCHAIN_API_KEY={{ .Values.LANGCHAIN_API_KEY | squote }}
20+
LANGCHAIN_ENDPOINT={{ .Values.LANGCHAIN_ENDPOINT | squote }}
21+
LANGCHAIN_PROJECT={{ .Values.LANGCHAIN_PROJECT | squote }}
22+
LANGSMITH_API_KEY={{ .Values.LANGSMITH_API_KEY | squote }}
23+
MEMORY_LIMIT={{ .Values.MEMORY_LIMIT | squote }}
24+
OPENAI_API_KEY={{ .Values.OPENAI_API_KEY | squote }}
25+
PORT={{ .Values.PORT | squote }}
26+
REPLICAS={{ .Values.REPLICAS | squote }}
27+
SLACK_BOT_TOKEN={{ .Values.SLACK_BOT_TOKEN | squote }}
28+
SLACK_SIGNING_SECRET={{ .Values.SLACK_SIGNING_SECRET | squote }}
29+
VIRTUAL_HOST={{ .Values.VIRTUAL_HOST | squote }}
30+
WEAVIATE_API_KEY={{ .Values.WEAVIATE_API_KEY | squote }}
31+
WEAVIATE_HOST={{ .Values.WEAVIATE_HOST | squote }}
32+

charts/deephive/values.yaml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
DEEPHIVE_ENV:
2+
DEEPHIVE_IMAGE:
3+
4+
DEEPHIVE_REPO_URL:
5+
DEEPHIVE_VERSION:
6+
7+
DISCORD_TOKEN:
8+
9+
DIVI_CODEBASE_PATH:
10+
DIVI_REPO_URL:
11+
DIVI_BRANCH:
12+
13+
GITHUB_TOKEN:
14+
GIT_REF:
15+
INSTALL_PATH:
16+
17+
LANGCHAIN_API_KEY:
18+
LANGCHAIN_ENDPOINT:
19+
LANGCHAIN_PROJECT:
20+
LANGSMITH_API_KEY:
21+
22+
MEMORY_LIMIT:
23+
24+
OPENAI_API_KEY:
25+
26+
PORT: 3000
27+
28+
REPLICAS:
29+
30+
SLACK_BOT_TOKEN:
31+
SLACK_SIGNING_SECRET:
32+
33+
VIRTUAL_HOST:
34+
35+
WEAVIATE_API_KEY:
36+
WEAVIATE_HOST:

0 commit comments

Comments
 (0)