diff --git a/helm-chart/.helmignore b/helm-chart/.helmignore new file mode 100644 index 00000000..015ae876 --- /dev/null +++ b/helm-chart/.helmignore @@ -0,0 +1 @@ +adapter-cm-generator \ No newline at end of file diff --git a/helm-chart/adapter-cm-generator/Dockerfile b/helm-chart/adapter-cm-generator/Dockerfile new file mode 100644 index 00000000..7c6c802f --- /dev/null +++ b/helm-chart/adapter-cm-generator/Dockerfile @@ -0,0 +1,10 @@ +# 此镜像用于在部署helm chart时动态生成adapter的配置文件 +FROM python:slim + +WORKDIR /app + +COPY . /app + +RUN pip3 install --no-cache-dir -i https://mirrors.ustc.edu.cn/pypi/simple -r requirements.txt + +ENTRYPOINT ["python3", "adapter-cm-generator.py"] diff --git a/helm-chart/files/adapter-cm-generator.py b/helm-chart/adapter-cm-generator/adapter-cm-generator.py similarity index 100% rename from helm-chart/files/adapter-cm-generator.py rename to helm-chart/adapter-cm-generator/adapter-cm-generator.py diff --git a/helm-chart/adapter-cm-generator/requirements.txt b/helm-chart/adapter-cm-generator/requirements.txt new file mode 100644 index 00000000..50e16366 --- /dev/null +++ b/helm-chart/adapter-cm-generator/requirements.txt @@ -0,0 +1,2 @@ +toml +kubernetes \ No newline at end of file diff --git a/helm-chart/files/adapter-pip-installer.sh b/helm-chart/files/adapter-pip-installer.sh deleted file mode 100644 index 47564820..00000000 --- a/helm-chart/files/adapter-pip-installer.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# 这个脚本的作用是安装必要的python包,为adapter-cm-generator.py脚本做准备 - -pip3 install -i https://mirrors.ustc.edu.cn/pypi/simple kubernetes toml -python3 adapter-cm-generator.py diff --git a/helm-chart/templates/pre-adapter-cm-gen-job.yaml b/helm-chart/templates/pre-adapter-cm-gen-job.yaml index b6372c22..14bc6154 100644 --- a/helm-chart/templates/pre-adapter-cm-gen-job.yaml +++ b/helm-chart/templates/pre-adapter-cm-gen-job.yaml @@ -14,13 +14,9 @@ spec: serviceAccountName: {{ .Release.Name }}-maibot-adapter-cm-generator restartPolicy: Never containers: - - name: python - image: python:slim + - name: adapter-cm-generator + image: {{ .Values.adapter.cm_generator.image.repository }}:{{ .Values.adapter.cm_generator.image.tag }} workingDir: /app - command: - - sh - args: - - adapter-pip-installer.sh env: - name: PYTHONUNBUFFERED value: "1" @@ -32,21 +28,3 @@ spec: value: {{ .Release.Name }} - name: DATA_B64 value: {{ .Values.config.adapter_config | b64enc }} # 将配置文件编码为base64,从环境变量注入 - volumeMounts: - - mountPath: /app/adapter-pip-installer.sh - name: scripts - readOnly: true - subPath: adapter-pip-installer.sh - - mountPath: /app/adapter-cm-generator.py - name: scripts - readOnly: true - subPath: adapter-cm-generator.py - volumes: - - name: scripts - configMap: - name: {{ .Release.Name }}-maibot-scripts - items: - - key: adapter-pip-installer.sh - path: adapter-pip-installer.sh - - key: adapter-cm-generator.py - path: adapter-cm-generator.py diff --git a/helm-chart/templates/scripts-configmap.yaml b/helm-chart/templates/scripts-configmap.yaml index 6eb0c4db..aa6fa11f 100644 --- a/helm-chart/templates/scripts-configmap.yaml +++ b/helm-chart/templates/scripts-configmap.yaml @@ -4,12 +4,6 @@ metadata: name: {{ .Release.Name }}-maibot-scripts namespace: {{ .Release.Namespace }} data: - # pre-install hook - adapter-pip-installer.sh: | - {{ .Files.Get "files/adapter-pip-installer.sh" | nindent 4 }} - adapter-cm-generator.py: | - {{ .Files.Get "files/adapter-cm-generator.py" | nindent 4 }} - # core volume-linker.sh: | {{ .Files.Get "files/volume-linker.sh" | nindent 4 }} diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index 37294391..5f127089 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -34,6 +34,15 @@ adapter: - ReadWriteOnce size: 1Gi + # adapter的动态生成configmap的Job的配置 + cm_generator: + image: + repository: reg.mikumikumi.xyz/maibot/adapter-cm-generator + tag: 0.10.0-alpha.0 + pullPolicy: IfNotPresent + pullSecrets: [ ] + + # 麦麦本体的部署配置 core: