Skip to content

Commit

Permalink
fix: install cloud SQL proxy in container
Browse files Browse the repository at this point in the history
  • Loading branch information
ngurenyaga committed Jul 12, 2021
1 parent ce31b01 commit f4a86e3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
2 changes: 1 addition & 1 deletion cloudbuild.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ steps:
'--platform', 'managed',
'--allow-unauthenticated',
'--add-cloudsql-instances', '${_CLOUDSQL_INSTANCE_CONNECTION_NAME}',
'--update-env-vars', 'SENTRY_ENVIRONMENT=prod,COMPRESS_ENABLED=true,DJANGO_DEBUG=false,USE_DOCKER=yes,DJANGO_READ_DOT_ENV_FILE=False,DJANGO_SETTINGS_MODULE=config.settings.production,DJANGO_SECURE_SSL_REDIRECT=False,WEB_CONCURRENCY=4,DJANGO_EMAIL_SUBJECT_PREFIX=[mle],DJANGO_SESSION_COOKIE_SECURE=True,DJANGO_SESSION_COOKIE_HTTPONLY=True,DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS=True,DJANGO_SECURE_SSL_REDIRECT=True,DJANGO_SECURE_BROWSER_XSS_FILTER=True,DJANGO_SECURE_CONTENT_TYPE_NOSNIFF=True,DJANGO_SECURE_FRAME_DENY=True,DJANGO_ACCOUNT_ALLOW_REGISTRATION=${_DJANGO_ACCOUNT_ALLOW_REGISTRATION},DJANGO_GCP_STORAGE_BUCKET_NAME=${_DJANGO_GCP_STORAGE_BUCKET_NAME},SENTRY_DSN=${_SENTRY_DSN},DJANGO_SECRET_KEY=${_DJANGO_SECRET_KEY},DJANGO_ADMIN_URL=${_DJANGO_ADMIN_URL},MAILGUN_API_KEY=${_MAILGUN_API_KEY},MAILGUN_DOMAIN=${_MAILGUN_DOMAIN},MAILGUN_API_URL=${_MAILGUN_API_URL},DJANGO_SERVER_EMAIL=${_DJANGO_SERVER_EMAIL},DJANGO_DEFAULT_FROM_EMAIL=${_DJANGO_DEFAULT_FROM_EMAIL},INSTANCE_CONNECTION_NAME=${_CLOUDSQL_INSTANCE_CONNECTION_NAME}:${COMMIT_SHA},POSTGRES_HOST=${_POSTGRES_HOST},POSTGRES_PORT=${_POSTGRES_PORT},POSTGRES_DB=${_POSTGRES_DB},POSTGRES_USER=${_POSTGRES_USER},POSTGRES_PASSWORD=${_POSTGRES_PASSWORD}'
'--update-env-vars', 'SENTRY_ENVIRONMENT=prod,COMPRESS_ENABLED=true,DJANGO_DEBUG=false,USE_DOCKER=yes,DJANGO_READ_DOT_ENV_FILE=False,DJANGO_SETTINGS_MODULE=config.settings.production,DJANGO_SECURE_SSL_REDIRECT=False,WEB_CONCURRENCY=4,DJANGO_EMAIL_SUBJECT_PREFIX=[mle],DJANGO_SESSION_COOKIE_SECURE=True,DJANGO_SESSION_COOKIE_HTTPONLY=True,DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS=True,DJANGO_SECURE_SSL_REDIRECT=True,DJANGO_SECURE_BROWSER_XSS_FILTER=True,DJANGO_SECURE_CONTENT_TYPE_NOSNIFF=True,DJANGO_SECURE_FRAME_DENY=True,DJANGO_ACCOUNT_ALLOW_REGISTRATION=${_DJANGO_ACCOUNT_ALLOW_REGISTRATION},DJANGO_GCP_STORAGE_BUCKET_NAME=${_DJANGO_GCP_STORAGE_BUCKET_NAME},SENTRY_DSN=${_SENTRY_DSN},DJANGO_SECRET_KEY=${_DJANGO_SECRET_KEY},DJANGO_ADMIN_URL=${_DJANGO_ADMIN_URL},MAILGUN_API_KEY=${_MAILGUN_API_KEY},MAILGUN_DOMAIN=${_MAILGUN_DOMAIN},MAILGUN_API_URL=${_MAILGUN_API_URL},DJANGO_SERVER_EMAIL=${_DJANGO_SERVER_EMAIL},DJANGO_DEFAULT_FROM_EMAIL=${_DJANGO_DEFAULT_FROM_EMAIL},INSTANCE_CONNECTION_NAME=${_CLOUDSQL_INSTANCE_CONNECTION_NAME}:${COMMIT_SHA},POSTGRES_HOST=${_POSTGRES_HOST},POSTGRES_PORT=${_POSTGRES_PORT},POSTGRES_DB=${_POSTGRES_DB},POSTGRES_USER=${_POSTGRES_USER},POSTGRES_PASSWORD=${_POSTGRES_PASSWORD},CLOUD_SQL_PROXY_VERSION=${_CLOUD_SQL_PROXY_VERSION}'
]

images:
Expand Down
16 changes: 13 additions & 3 deletions entrypoint
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,20 @@ set -o errexit
set -o pipefail
set -o nounset

# set up Cloud SQL proxy
if [ -z "${CLOUD_SQL_PROXY_VERSION}" ]; then
export CLOUD_SQL_PROXY_VERSION=v1.23.0 # see https://github.com/GoogleCloudPlatform/cloudsql-proxy/releases
fi
wget "https://storage.googleapis.com/cloudsql-proxy/$VERSION/cloud_sql_proxy.linux.amd64" -O cloud_sql_proxy
chmod +x cloud_sql_proxy
cloud_sql_proxy -dir=/cloudsql -instances=$INSTANCE_CONNECTION_NAME & # run in the background!
echo "Created Cloud SQL Proxy at $INSTANCE_CONNECTION_NAME, running in the background"

if [ -z "${POSTGRES_USER}" ]; then
base_postgres_image_default_user='postgres'
export POSTGRES_USER="${base_postgres_image_default_user}"
fi
echo "Set/checked POSTGRES_USER..."

# omit the port when running on App Engine, Cloud Run etc
if [ -z "${INSTANCE_CONNECTION_NAME}"]; then
Expand Down Expand Up @@ -46,15 +56,15 @@ until postgres_ready; do
done
>&2 echo 'PostgreSQL is available'

python /app/manage.py collectstatic --noinput
>&2 echo 'Collected static files...'

python /app/manage.py migrate
>&2 echo 'Ran database migrations...'

python /app/manage.py createcachetable
>&2 echo 'Created the cache table...'

python /app/manage.py collectstatic --noinput
>&2 echo 'Collected static files...'

compress_enabled() {
python << END
import sys
Expand Down

0 comments on commit f4a86e3

Please sign in to comment.