diff --git a/.gitignore b/.gitignore index e99e85df..144b2917 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,4 @@ coverage built/ .env .idea -configmap.yml -values.yaml +secret.yml diff --git a/README.md b/README.md index 8e1ae0d8..3f00303d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Discord Bot -# 必要なもの +## 必要なもの .tool-versionsを参照してください。 asdfを使っている場合はそのまま入ります。 @@ -11,7 +11,21 @@ asdfを使っている場合はそのまま入ります。 Pythonは、`@discordjs/opus`の入れるのに必要です。 -# 登場するドメイン +## 登場するドメイン - Actor - Userの子概念で、interactしたUserを指す。 + +## Helmを利用してデプロイする + +### リソースの作成 + +1. `infra/k8s/manifests/secret.example.yml`を参考に、同ディレクトリに`secret.yml`を作成する + 1. SecretはBase64エンコードすること +2. `kubectl apply -f infra/k8s/manifests/secret.yml`でSecretの適用をする +3. `helm install {任意の名前/バージョン名など} ./infra/k8s/helm` + +### リソースの削除 + +1. `helm uninstall {任意の名前/バージョン名など}` +2. `kubectl delete -f infra/k8s/manifests/secret.yml` diff --git a/infra/k8s/helm/templates/jetdisc/deployment.yaml b/infra/k8s/helm/templates/jetdisc/deployment.yaml index 61c3d2ce..b3fffa39 100644 --- a/infra/k8s/helm/templates/jetdisc/deployment.yaml +++ b/infra/k8s/helm/templates/jetdisc/deployment.yaml @@ -20,12 +20,8 @@ spec: - name: {{ .Chart.Name }} image: '{{ .Values.image.repository }}:{{ .Values.image.tag }}' imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: DISCORD_APP_TOKEN - value: {{ .Values.secret.DISCORD_APP_TOKEN }} - - name: BOT_NAME - value: {{ .Values.secret.BOT_NAME }} - - name: SET_COMMANDS_TARGET_SERVERS - value: {{ .Values.secret.SET_COMMANDS_TARGET_SERVERS }} + envFrom: + - secretRef: + name: {{ .Values.secret.name }} resources: {{- toYaml .Values.resources | nindent 12 }} restartPolicy: Always diff --git a/infra/k8s/helm/values.example.yaml b/infra/k8s/helm/values.yaml similarity index 82% rename from infra/k8s/helm/values.example.yaml rename to infra/k8s/helm/values.yaml index 3775e9d8..c672505b 100644 --- a/infra/k8s/helm/values.example.yaml +++ b/infra/k8s/helm/values.yaml @@ -7,9 +7,6 @@ image: secret: name: jetdisc-secret - DISCORD_APP_TOKEN: "" - BOT_NAME: "2na2" - SET_COMMANDS_TARGET_SERVERS: "" resources: limits: diff --git a/infra/k8s/manifests/app-deployment.yml b/infra/k8s/manifests/app-deployment.yml index 10c72d8f..44ea14fe 100644 --- a/infra/k8s/manifests/app-deployment.yml +++ b/infra/k8s/manifests/app-deployment.yml @@ -20,8 +20,8 @@ spec: - name: jetdisc image: na2na/jetdisc:preview envFrom: - - configMapRef: - name: jetdisc-config + - secretRef: + name: jetdisc-secret resources: limits: cpu: 500m diff --git a/infra/k8s/manifests/configmap.example.yml b/infra/k8s/manifests/configmap.example.yml deleted file mode 100644 index 03fce41b..00000000 --- a/infra/k8s/manifests/configmap.example.yml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: jetdisc-config -data: - DISCORD_APP_TOKEN: "" - BOT_NAME: "2na2" - SET_COMMANDS_TARGET_SERVERS: "" diff --git a/infra/k8s/manifests/secret.example.yml b/infra/k8s/manifests/secret.example.yml new file mode 100644 index 00000000..b701fc5c --- /dev/null +++ b/infra/k8s/manifests/secret.example.yml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: jetdisc-secret +type: Opaque +data: + DISCORD_APP_TOKEN: base64エンコードされたトークン + BOT_NAME: base64エンコードされたボット名 + SET_COMMANDS_TARGET_SERVERS: base64エンコードされたサーバーID