Skip to content

Commit 90cad8a

Browse files
authored
Merge pull request #39 from abolfazl8131/Abolfazl/models-update
Abolfazl/models update
2 parents 50564eb + b5e168d commit 90cad8a

18 files changed

Lines changed: 275 additions & 97 deletions

.github/labeler.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ doc:
1010
- changed-files:
1111
- any-glob-to-any-file: '**/*.md'
1212

13+
unit-test:
14+
- changed-files:
15+
- any-glob-to-any-file: 'app/tests/*.py'
16+
1317
docker-compose:
1418
- changed-files:
1519
- any-glob-to-any-file: '**/docker-compose.yml'
@@ -25,17 +29,22 @@ requirements:
2529

2630
gpt:
2731
- changed-files:
28-
- any-glob-to-any-file: '**/app/gpt_services.py'
32+
- any-glob-to-any-file: 'app/gpt_services.py'
2933

3034
services:
3135
- changed-files:
32-
- any-glob-to-any-file: '**/app/services.py'
36+
- any-glob-to-any-file: 'app/services.py'
3337

3438
fastapi:
3539
- changed-files:
36-
- any-glob-to-any-file: '**/app/main.py'
40+
- any-glob-to-any-file: 'app/main.py'
3741

3842
prompt:
3943
- changed-files:
40-
- any-glob-to-any-file: '**/app/prompt_generators.py'
44+
- any-glob-to-any-file: 'app/prompt_generators.py'
45+
46+
directory-generators:
47+
- 'app/directory_generators/**'
4148

49+
pydantic-models:
50+
- 'app/models/**'
-37 Bytes
Binary file not shown.
Lines changed: 62 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
import os
22

3-
project_name = "app/media/MyHelm"
3+
def create_helm_project_structure(base_path):
4+
project_path = os.path.join(base_path, 'app/media/MyHelm')
5+
os.makedirs(os.path.join(project_path, 'charts'), exist_ok=True)
6+
os.makedirs(os.path.join(project_path, 'templates', 'web'), exist_ok=True)
47

5-
# Define the directory structure and file content
6-
directories = [
7-
"charts",
8-
"templates/web"
9-
]
10-
11-
files = {
12-
"Chart.yaml": """apiVersion: v2
13-
name: my-helm
8+
chart_yaml_content = """apiVersion: v2
9+
name: MyHelm
1410
description: A Helm chart for Kubernetes
1511
version: 0.1.0
16-
appVersion: "1.0"
17-
""",
18-
"values.yaml": """web:
12+
"""
13+
14+
values_yaml_content = """web:
1915
image: nginx
2016
service:
21-
port: 80
17+
targetPort: 80
2218
replicas: 1
2319
persistence:
2420
size: 1Gi
@@ -30,71 +26,87 @@
3026
ingress:
3127
enabled: false
3228
host: www.example.com
33-
""",
34-
"templates/web/service.yaml": """apiVersion: v1
29+
"""
30+
31+
service_yaml_content = """apiVersion: v1
3532
kind: Service
3633
metadata:
37-
name: {{ include \"my-helm.fullname\" . }}
34+
name: {{ include "MyHelm.fullname" . }}-web
3835
spec:
3936
type: ClusterIP
4037
ports:
41-
- port: {{ .Values.web.service.port }}
38+
- port: {{ .Values.web.service.targetPort }}
4239
selector:
43-
app: {{ include \"my-helm.name\" . }}
44-
""",
45-
"templates/web/deployment.yaml": """apiVersion: apps/v1
40+
app: {{ include "MyHelm.name" . }}
41+
"""
42+
43+
deployment_yaml_content = """apiVersion: apps/v1
4644
kind: Deployment
4745
metadata:
48-
name: {{ include \"my-helm.fullname\" . }}
46+
name: {{ include "MyHelm.fullname" . }}-web
4947
spec:
5048
replicas: {{ .Values.web.replicas }}
51-
selector:
52-
matchLabels:
53-
app: {{ include \"my-helm.name\" . }}
5449
template:
5550
metadata:
5651
labels:
57-
app: {{ include \"my-helm.name\" . }}
52+
app: {{ include "MyHelm.name" . }}
5853
spec:
5954
containers:
60-
- name: {{ include \"my-helm.name\" . }}
55+
- name: web
6156
image: {{ .Values.web.image }}
6257
ports:
63-
- containerPort: {{ .Values.web.service.port }}
58+
- containerPort: {{ .Values.web.service.targetPort }}
6459
env:
65-
- name: ENV1
66-
value: Hi
67-
""",
68-
"templates/web/secret.yaml": """apiVersion: v1
60+
{{- range .Values.web.env }}
61+
- name: {{ .name }}
62+
value: {{ .value }}
63+
{{- end }}
64+
"""
65+
66+
secret_yaml_content = """apiVersion: v1
6967
kind: Secret
7068
metadata:
71-
name: {{ include \"my-helm.fullname\" . }}-secret
69+
name: {{ include "MyHelm.fullname" . }}-web-env
7270
type: Opaque
7371
data:
74-
ENV1: {{ .Values.web.env[0].value | b64enc | quote }}
75-
""",
76-
"templates/web/helpers.tpl": """{{/*
77-
Helper Template
72+
ENV1: {{ .Values.web.env | toJson | b64enc | quote }}
73+
"""
74+
75+
helpers_tpl_content = """{{/*
76+
Expand the name of the chart.
7877
*/}}
79-
{{- define "my-helm.name" -}}
80-
{{- .Chart.Name | replace \"-\" \"_\" | quote -}}
78+
{{- define "MyHelm.name" -}}
79+
{{- .Chart.Name | replace "-" "_" | lower -}}
8180
{{- end -}}
8281
83-
{{- define "my-helm.fullname" -}}
82+
{{/*
83+
Create a default fully qualified domain name
84+
*/}}
85+
{{- define "MyHelm.fullname" -}}
8486
{{- if .Chart.Name -}}
85-
{{- .Release.Name | default \"my-release\" | lower | quote }}-{{ .Chart.Name | lower | quote }}
87+
{{- .Release.Name | lower | replace "-" "_" | trimSuffix "-" | append (include "MyHelm.name" . | lower) | toLower -}}
8688
{{- else -}}
87-
{{- .Release.Name | default \"my-release\" | lower | quote }}
89+
{{- .Release.Name | lower -}}
8890
{{- end -}}
8991
{{- end -}}
9092
"""
91-
}
9293

93-
# Create directories
94-
for directory in directories:
95-
os.makedirs(os.path.join(project_name, directory), exist_ok=True)
94+
with open(os.path.join(project_path, 'Chart.yaml'), 'w') as file:
95+
file.write(chart_yaml_content)
96+
97+
with open(os.path.join(project_path, 'values.yaml'), 'w') as file:
98+
file.write(values_yaml_content)
99+
100+
with open(os.path.join(project_path, 'templates', 'web', 'service.yaml'), 'w') as file:
101+
file.write(service_yaml_content)
102+
103+
with open(os.path.join(project_path, 'templates', 'web', 'deployment.yaml'), 'w') as file:
104+
file.write(deployment_yaml_content)
105+
106+
with open(os.path.join(project_path, 'templates', 'web', 'secret.yaml'), 'w') as file:
107+
file.write(secret_yaml_content)
108+
109+
with open(os.path.join(project_path, 'templates', 'web', 'helpers.tpl'), 'w') as file:
110+
file.write(helpers_tpl_content)
96111

97-
# Create files
98-
for file_path, content in files.items():
99-
with open(os.path.join(project_name, file_path), 'w') as f:
100-
f.write(content)
112+
create_helm_project_structure('.')

app/gpt_services.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ def gpt_service(prompt):
66

77
try:
88
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
9-
109
chat_completion = client.chat.completions.create(
1110
messages=[
1211
{

app/media/MyHelm/Chart.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
apiVersion: v2
2-
name: my-helm
2+
name: MyHelm
33
description: A Helm chart for Kubernetes
44
version: 0.1.0
5-
appVersion: "1.0"
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
4-
name: {{ include "my-helm.fullname" . }}
4+
name: {{ include "MyHelm.fullname" . }}-web
55
spec:
66
replicas: {{ .Values.web.replicas }}
7-
selector:
8-
matchLabels:
9-
app: {{ include "my-helm.name" . }}
107
template:
118
metadata:
129
labels:
13-
app: {{ include "my-helm.name" . }}
10+
app: {{ include "MyHelm.name" . }}
1411
spec:
1512
containers:
16-
- name: {{ include "my-helm.name" . }}
13+
- name: web
1714
image: {{ .Values.web.image }}
1815
ports:
19-
- containerPort: {{ .Values.web.service.port }}
16+
- containerPort: {{ .Values.web.service.targetPort }}
2017
env:
21-
- name: ENV1
22-
value: Hi
18+
{{- range .Values.web.env }}
19+
- name: {{ .name }}
20+
value: {{ .value }}
21+
{{- end }}
Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
{{/*
2-
Helper Template
2+
Expand the name of the chart.
33
*/}}
4-
{{- define "my-helm.name" -}}
5-
{{- .Chart.Name | replace "-" "_" | quote -}}
4+
{{- define "MyHelm.name" -}}
5+
{{- .Chart.Name | replace "-" "_" | lower -}}
66
{{- end -}}
77

8-
{{- define "my-helm.fullname" -}}
8+
{{/*
9+
Create a default fully qualified domain name
10+
*/}}
11+
{{- define "MyHelm.fullname" -}}
912
{{- if .Chart.Name -}}
10-
{{- .Release.Name | default "my-release" | lower | quote }}-{{ .Chart.Name | lower | quote }}
13+
{{- .Release.Name | lower | replace "-" "_" | trimSuffix "-" | append (include "MyHelm.name" . | lower) | toLower -}}
1114
{{- else -}}
12-
{{- .Release.Name | default "my-release" | lower | quote }}
15+
{{- .Release.Name | lower -}}
1316
{{- end -}}
1417
{{- end -}}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
kind: Secret
33
metadata:
4-
name: {{ include "my-helm.fullname" . }}-secret
4+
name: {{ include "MyHelm.fullname" . }}-web-env
55
type: Opaque
66
data:
7-
ENV1: {{ .Values.web.env[0].value | b64enc | quote }}
7+
ENV1: {{ .Values.web.env | toJson | b64enc | quote }}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
apiVersion: v1
22
kind: Service
33
metadata:
4-
name: {{ include "my-helm.fullname" . }}
4+
name: {{ include "MyHelm.fullname" . }}-web
55
spec:
66
type: ClusterIP
77
ports:
8-
- port: {{ .Values.web.service.port }}
8+
- port: {{ .Values.web.service.targetPort }}
99
selector:
10-
app: {{ include "my-helm.name" . }}
10+
app: {{ include "MyHelm.name" . }}

app/media/MyHelm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
web:
22
image: nginx
33
service:
4-
port: 80
4+
targetPort: 80
55
replicas: 1
66
persistence:
77
size: 1Gi

0 commit comments

Comments
 (0)