如何自定义 Rails Secrets

首先设置以下环境变量:

export NEW_GITLAB_NAMESPACE=<新的 GitLab 实例的命名空间>
export NEW_GITLAB_NAME=<新的 GitLab 实例名称>

将 Rails secrets 保存在本地的 secrets.yml 文件中。

示例:

# 创建文件
cat > secrets.yml <<EOF
production:
  secret_key_base: ...
  otp_key_base: ...
  ...
EOF

将 Rails secrets 保存到 Kubernetes Secret 中:

kubectl create secret generic rails-secret -n ${NEW_GITLAB_NAMESPACE} --from-file=secrets.yml

更新 GitLab 实例的配置:

kubectl edit gitlabofficial ${NEW_GITLAB_NAME} -n ${NEW_GITLAB_NAMESPACE}

在 CR 的 spec 中添加以下配置:

spec:
  helmValues:
    global:
      railsSecrets:
        secret: rails-secret

等待实例完成重新部署。