From e85b34d66e4e7ccb61e5e1aa0672240557e3ad93 Mon Sep 17 00:00:00 2001 From: geekup-legodevops <72587752+geekup-legodevops@users.noreply.github.com> Date: Mon, 31 Jan 2022 14:57:01 +0700 Subject: [PATCH] Add Helm configMap to update application configuration (#10157) --- Dockerfile | 5 +- deploy/docker/entrypoint.sh | 118 +++++++++++---------- deploy/docker/scripts/renew-certificate.sh | 33 +++--- deploy/docker/scripts/run-with-env.sh | 2 + deploy/docker/templates/docker.env.sh | 9 +- deploy/helm/Chart.yaml | 2 +- deploy/helm/README.md | 38 ++++++- deploy/helm/charts/common-0.3.1.tgz | Bin 4673 -> 0 bytes deploy/helm/templates/configMap.yaml | 13 +++ deploy/helm/templates/deployment.yaml | 3 + deploy/helm/templates/tls-secret.yaml | 10 +- deploy/helm/values.yaml | 26 +++++ 12 files changed, 174 insertions(+), 85 deletions(-) delete mode 100644 deploy/helm/charts/common-0.3.1.tgz create mode 100644 deploy/helm/templates/configMap.yaml diff --git a/Dockerfile b/Dockerfile index 5cf51733ac..9d9d7c88d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -64,7 +64,10 @@ COPY ./app/rts/package.json ./app/rts/dist/* rts/ COPY ./app/rts/node_modules rts/node_modules # Nginx & MongoDB config template - Configuration layer -COPY ./deploy/docker/templates/nginx/* ./deploy/docker/templates/mongo-init.js.sh ./deploy/docker/templates/docker.env.sh templates/ +COPY ./deploy/docker/templates/nginx/* \ + ./deploy/docker/templates/mongo-init.js.sh\ + ./deploy/docker/templates/docker.env.sh \ + templates/ # Add bootstrapfile COPY ./deploy/docker/entrypoint.sh ./deploy/docker/scripts/* ./ diff --git a/deploy/docker/entrypoint.sh b/deploy/docker/entrypoint.sh index 9c11a1a775..e1895f2712 100755 --- a/deploy/docker/entrypoint.sh +++ b/deploy/docker/entrypoint.sh @@ -2,6 +2,67 @@ set -e +init_env_file() { + CONF_PATH="/appsmith-stacks/configuration" + ENV_PATH="$CONF_PATH/docker.env" + TEMPLATES_PATH="/opt/appsmith/templates" + echo "Initialize .env file" + if ! [[ -e "$ENV_PATH" ]]; then + # Generate new docker.env file when initializing container for first time or in Heroku which does not have persistent volume + echo "Generating default configuration file" + mkdir -p "$CONF_PATH" + AUTO_GEN_MONGO_PASSWORD=$( + tr -dc A-Za-z0-9 "$ENV_PATH" + fi + + printenv | grep -E '^APPSMITH_|^MONGO_' > "$TEMPLATES_PATH/pre-define.env" + + echo 'Load environment configuration' + set -o allexport + . "$ENV_PATH" + . "$TEMPLATES_PATH/pre-define.env" + set +o allexport +} + +unset_unused_variables() { + # Check for enviroment vairalbes + echo 'Checking environment configuration' + if [[ -z "${APPSMITH_MAIL_ENABLED}" ]]; then + unset APPSMITH_MAIL_ENABLED # If this field is empty is might cause application crash + fi + + if [[ -z "${APPSMITH_OAUTH2_GITHUB_CLIENT_ID}" ]] || [[ -z "${APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET}" ]]; then + unset APPSMITH_OAUTH2_GITHUB_CLIENT_ID # If this field is empty is might cause application crash + unset APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET + fi + + if [[ -z "${APPSMITH_OAUTH2_GOOGLE_CLIENT_ID}" ]] || [[ -z "${APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET}" ]]; then + unset APPSMITH_OAUTH2_GOOGLE_CLIENT_ID # If this field is empty is might cause application crash + unset APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET + fi + + if [[ -z "${APPSMITH_GOOGLE_MAPS_API_KEY}" ]]; then + unset APPSMITH_GOOGLE_MAPS_API_KEY + fi + + if [[ -z "${APPSMITH_RECAPTCHA_SITE_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_SECRET_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_ENABLED}" ]]; then + unset APPSMITH_RECAPTCHA_SITE_KEY # If this field is empty is might cause application crash + unset APPSMITH_RECAPTCHA_SECRET_KEY + unset APPSMITH_RECAPTCHA_ENABLED + fi +} + check_initialized_db() { echo 'Check initialized database' shouldPerformInitdb=1 @@ -88,62 +149,9 @@ configure_supervisord() { fi } -echo 'Checking configuration file' -CONF_PATH="/appsmith-stacks/configuration" -ENV_PATH="$CONF_PATH/docker.env" -if ! [[ -e "$ENV_PATH" ]]; then - echo "Generating default configuration file" - mkdir -p "$CONF_PATH" - AUTO_GEN_MONGO_PASSWORD=$( - tr -dc A-Za-z0-9 "$ENV_PATH" -fi - -if [[ -f "$ENV_PATH" ]]; then - sed -i 's/APPSMITH_MONGO_USERNAME/MONGO_INITDB_ROOT_USERNAME/; s/APPSMITH_MONGO_PASSWORD/MONGO_INITDB_ROOT_PASSWORD/; s/APPSMITH_MONGO_DATABASE/MONGO_INITDB_DATABASE/' "$ENV_PATH" - echo 'Load environment configuration' - set -o allexport - . "$ENV_PATH" - set +o allexport -fi - -# Check for enviroment vairalbes -echo 'Checking environment configuration' -if [[ -z "${APPSMITH_MAIL_ENABLED}" ]]; then - unset APPSMITH_MAIL_ENABLED # If this field is empty is might cause application crash -fi - -if [[ -z "${APPSMITH_OAUTH2_GITHUB_CLIENT_ID}" ]] || [[ -z "${APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET}" ]]; then - unset APPSMITH_OAUTH2_GITHUB_CLIENT_ID # If this field is empty is might cause application crash - unset APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET -fi - -if [[ -z "${APPSMITH_OAUTH2_GOOGLE_CLIENT_ID}" ]] || [[ -z "${APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET}" ]]; then - unset APPSMITH_OAUTH2_GOOGLE_CLIENT_ID # If this field is empty is might cause application crash - unset APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET -fi - -if [[ -z "${APPSMITH_GOOGLE_MAPS_API_KEY}" ]]; then - unset APPSMITH_GOOGLE_MAPS_API_KEY -fi - -if [[ -z "${APPSMITH_RECAPTCHA_SITE_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_SECRET_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_ENABLED}" ]]; then - unset APPSMITH_RECAPTCHA_SITE_KEY # If this field is empty is might cause application crash - unset APPSMITH_RECAPTCHA_SECRET_KEY - unset APPSMITH_RECAPTCHA_ENABLED -fi - # Main Section +init_env_file +unset_unused_variables init_mongodb mount_letsencrypt_directory configure_supervisord diff --git a/deploy/docker/scripts/renew-certificate.sh b/deploy/docker/scripts/renew-certificate.sh index 3c8170d3b8..2c8cc25abd 100644 --- a/deploy/docker/scripts/renew-certificate.sh +++ b/deploy/docker/scripts/renew-certificate.sh @@ -2,25 +2,28 @@ set -e +ENV_PATH="/appsmith-stacks/configuration/docker.env" +PRE_DEFINED_ENV_PATH="/opt/appsmith/templates/pre-define.env" if [[ -f /appsmith-stacks/configuration/docker.env ]]; then - echo 'Load environment configuration' - set -o allexport - . /appsmith-stacks/configuration/docker.env - set +o allexport + echo 'Load environment configuration' + set -o allexport + . "$ENV_PATH" + . "$PRE_DEFINED_ENV_PATH" + set +o allexport fi if [[ -n $APPSMITH_CUSTOM_DOMAIN ]]; then - data_path="/appsmith-stacks/data/certificate" - domain="$APPSMITH_CUSTOM_DOMAIN" - rsa_key_size=4096 + data_path="/appsmith-stacks/data/certificate" + domain="$APPSMITH_CUSTOM_DOMAIN" + rsa_key_size=4096 - certbot certonly --webroot --webroot-path="$data_path/certbot" \ - --register-unsafely-without-email \ - --domains $domain \ - --rsa-key-size $rsa_key_size \ - --agree-tos \ - --force-renewal - supervisorctl restart editor + certbot certonly --webroot --webroot-path="$data_path/certbot" \ + --register-unsafely-without-email \ + --domains $domain \ + --rsa-key-size $rsa_key_size \ + --agree-tos \ + --force-renewal + supervisorctl restart editor else - echo 'Custom domain not configured. Cannot enable SSL without a custom domain.' >&2 + echo 'Custom domain not configured. Cannot enable SSL without a custom domain.' >&2 fi diff --git a/deploy/docker/scripts/run-with-env.sh b/deploy/docker/scripts/run-with-env.sh index 90a86ab86d..f11279f0e1 100755 --- a/deploy/docker/scripts/run-with-env.sh +++ b/deploy/docker/scripts/run-with-env.sh @@ -1,9 +1,11 @@ #!/bin/bash ENV_PATH="/appsmith-stacks/configuration/docker.env" +PRE_DEFINED_ENV_PATH="/opt/appsmith/templates/pre-define.env" echo 'Load environment configuration' set -o allexport . "$ENV_PATH" +. "$PRE_DEFINED_ENV_PATH" set +o allexport if [[ -z "${APPSMITH_MAIL_ENABLED}" ]]; then diff --git a/deploy/docker/templates/docker.env.sh b/deploy/docker/templates/docker.env.sh index 7b0aa339cc..173509022d 100644 --- a/deploy/docker/templates/docker.env.sh +++ b/deploy/docker/templates/docker.env.sh @@ -1,7 +1,6 @@ #!/bin/bash set -o nounset - MONGO_PASSWORD="$1" ENCRYPTION_PASSWORD="$2" ENCRYPTION_SALT="$3" @@ -43,7 +42,7 @@ APPSMITH_CLIENT_LOG_LEVEL= APPSMITH_GOOGLE_MAPS_API_KEY= # Email server -APPSMITH_MAIL_ENABLED=false +APPSMITH_MAIL_ENABLED= APPSMITH_MAIL_HOST= APPSMITH_MAIL_PORT= APPSMITH_MAIL_USERNAME= @@ -60,7 +59,6 @@ APPSMITH_MAIL_SMTP_TLS_ENABLED= # Note: This only takes effect in self-hosted scenarios. # Please visit: https://docs.appsmith.com/telemetry to read more about anonymized data collected by Appsmith APPSMITH_DISABLE_TELEMETRY=false - #APPSMITH_SENTRY_DSN= #APPSMITH_SENTRY_ENVIRONMENT= @@ -82,8 +80,9 @@ APPSMITH_ENCRYPTION_PASSWORD=$ENCRYPTION_PASSWORD APPSMITH_ENCRYPTION_SALT=$ENCRYPTION_SALT APPSMITH_CUSTOM_DOMAIN= -# APPSMITH_PLUGIN_MAX_RESPONSE_SIZE_MB=5 +# APPSMITH_PLUGIN_MAX_RESPONSE_SIZE_MB=5 # MAX PAYLOAD SIZE # APPSMITH_CODEC_SIZE= -EOF + +EOF \ No newline at end of file diff --git a/deploy/helm/Chart.yaml b/deploy/helm/Chart.yaml index 49282e7a2c..4d1ac73bca 100644 --- a/deploy/helm/Chart.yaml +++ b/deploy/helm/Chart.yaml @@ -12,4 +12,4 @@ sources: - https://github.com/appsmithorg/appsmith home: https://www.appsmith.com/ icon: https://assets.appsmith.com/appsmith-icon.png -version: 1.4.1 +version: 1.5.0 diff --git a/deploy/helm/README.md b/deploy/helm/README.md index d753cfb282..19a0d90ad4 100644 --- a/deploy/helm/README.md +++ b/deploy/helm/README.md @@ -163,13 +163,49 @@ helm install \ ``` The above command deploys Appsmith application and configure application to use storage class name `appsmith-pv` -Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, +Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example: ``` helm install -f values.yaml stable-appsmith/appsmith --generate-name ``` *Tip: You can use the default [values.yaml](https://github.com/appsmithorg/appsmith/blob/release/deploy/helm/values.yaml)* +### Appsmith configuration +To change Appsmith configurations, you can use configuration UI in application or update value in values.yaml(The available configurations is listed below). +| Name | Value | +| ---------------------------------------------------- | --------------------- | +| `applicationConfig.APPSMITH_OAUTH2_GOOGLE_CLIENT_ID` | `""` | +| `applicationConfig.APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET`| `""` | +| `applicationConfig.APPSMITH_OAUTH2_GITHUB_CLIENT_ID` | `""` | +| `applicationConfig.APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET`| `""` | +| `applicationConfig.APPSMITH_CLIENT_LOG_LEVEL` | `""` | +| `applicationConfig.APPSMITH_GOOGLE_MAPS_API_KEY` | `""` | +| `applicationConfig.APPSMITH_MAIL_ENABLED` | `""` | +| `applicationConfig.APPSMITH_MAIL_HOST` | `""` | +| `applicationConfig.APPSMITH_MAIL_PORT` | `""` | +| `applicationConfig.APPSMITH_MAIL_USERNAME` | `""` | +| `applicationConfig.APPSMITH_MAIL_PASSWORD` | `""` | +| `applicationConfig.APPSMITH_MAIL_FROM` | `""` | +| `applicationConfig.APPSMITH_REPLY_TO` | `""` | +| `applicationConfig.APPSMITH_MAIL_SMTP_AUTH` | `""` | +| `applicationConfig.APPSMITH_MAIL_SMTP_TLS_ENABLED` | `""` | +| `applicationConfig.APPSMITH_DISABLE_TELEMETRY` | `""` | +| `applicationConfig.APPSMITH_RECAPTCHA_SITE_KEY` | `""` | +| `applicationConfig.APPSMITH_RECAPTCHA_SECRET_KEY` | `""` | +| `applicationConfig.APPSMITH_RECAPTCHA_ENABLED` | `""` | +| `applicationConfig.APPSMITH_MONGODB_URI` | `""` | +| `applicationConfig.APPSMITH_REDIS_URL` | `""` | +| `applicationConfig.APPSMITH_ENCRYPTION_PASSWORD` | `""` | +| `applicationConfig.APPSMITH_ENCRYPTION_SALT` | `""` | +| `applicationConfig.APPSMITH_CUSTOM_DOMAIN` | `""` | + +For example, to change the encryption salt configuration, you can run the following command: +``` +helm install \ +--set applicationConfig.APPSMITH_ENCRYPTION_SALT=123 \ + stable-appsmith/appsmith --generate-name +``` + ## Troubleshooting If at any time you encounter an error during the installation process, reach out to support@appsmith.com or join our Discord Server diff --git a/deploy/helm/charts/common-0.3.1.tgz b/deploy/helm/charts/common-0.3.1.tgz deleted file mode 100644 index 72e4aba3900d699bc18df6fe7f15096eb18f8ad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4673 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 DN|QR$ diff --git a/deploy/helm/templates/configMap.yaml b/deploy/helm/templates/configMap.yaml new file mode 100644 index 0000000000..2d5bbc5184 --- /dev/null +++ b/deploy/helm/templates/configMap.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "appsmith.fullname" . }} + namespace: {{ include "appsmith.namespace" . }} + labels: + {{- include "appsmith.labels" . | nindent 4 }} +data: + {{- range $key, $value := .Values.applicationConfig }} + {{- if $value }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} diff --git a/deploy/helm/templates/deployment.yaml b/deploy/helm/templates/deployment.yaml index c41ee2e7af..d370a61791 100644 --- a/deploy/helm/templates/deployment.yaml +++ b/deploy/helm/templates/deployment.yaml @@ -78,6 +78,9 @@ spec: volumeMounts: - name: data mountPath: /appsmith-stacks + envFrom: + - configMapRef: + name: {{ include "appsmith.fullname" . }} volumes: {{- if not .Values.persistence.enabled }} - name: data diff --git a/deploy/helm/templates/tls-secret.yaml b/deploy/helm/templates/tls-secret.yaml index 476f6ee12f..473cb9aa78 100644 --- a/deploy/helm/templates/tls-secret.yaml +++ b/deploy/helm/templates/tls-secret.yaml @@ -1,8 +1,6 @@ -{{- if .Values.ingress.enabled }} -{{- if .Values.ingress.secrets }} +{{- if and .Values.ingress.enabled .Values.ingress.secrets }} {{- range .Values.ingress.secrets }} -{{- if .certificate }} -{{- if .key }} +{{- if and .certificate .key }} apiVersion: v1 kind: Secret metadata: @@ -22,6 +20,7 @@ data: --- {{- end }} {{- end }} +{{- end }} {{- if and .Values.ingress.tls (not .Values.ingress.certManager) }} {{- range .Values.ingress.hosts }} {{- $ca := genCA "appsmith-ca" 365 }} @@ -44,7 +43,4 @@ data: tls.key: {{ $cert.Key | b64enc | quote }} ca.crt: {{ $ca.Cert | b64enc | quote }} {{- end }} -{{- end }} -{{- end }} -{{- end }} {{- end }} \ No newline at end of file diff --git a/deploy/helm/values.yaml b/deploy/helm/values.yaml index 856f051e07..97e24e449b 100644 --- a/deploy/helm/values.yaml +++ b/deploy/helm/values.yaml @@ -271,3 +271,29 @@ autoupdate: ## @param autoupdate.scheduler - Schedule cron job to check & update Helm image ## scheduler: "0 * * * *" + +applicationConfig: + APPSMITH_OAUTH2_GOOGLE_CLIENT_ID: "" + APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET: "" + APPSMITH_OAUTH2_GITHUB_CLIENT_ID: "" + APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET: "" + APPSMITH_CLIENT_LOG_LEVEL: "" + APPSMITH_GOOGLE_MAPS_API_KEY: "" + APPSMITH_MAIL_ENABLED: "" + APPSMITH_MAIL_HOST: "" + APPSMITH_MAIL_PORT: "" + APPSMITH_MAIL_USERNAME: "" + APPSMITH_MAIL_PASSWORD: "" + APPSMITH_MAIL_FROM: "" + APPSMITH_REPLY_TO: "" + APPSMITH_MAIL_SMTP_AUTH: "" + APPSMITH_MAIL_SMTP_TLS_ENABLED: "" + APPSMITH_DISABLE_TELEMETRY: "" + APPSMITH_RECAPTCHA_SITE_KEY: "" + APPSMITH_RECAPTCHA_SECRET_KEY: "" + APPSMITH_RECAPTCHA_ENABLED: "" + APPSMITH_MONGODB_URI: "" + APPSMITH_REDIS_URL: "" + APPSMITH_ENCRYPTION_PASSWORD: "" + APPSMITH_ENCRYPTION_SALT: "" + APPSMITH_CUSTOM_DOMAIN: ""