From 5507dfe4f9d6ea70ae3faae63c53f9577ba131b3 Mon Sep 17 00:00:00 2001 From: Corey Oordt Date: Tue, 23 Jul 2019 08:09:41 -0500 Subject: [PATCH] Refactored the .envs --- hooks/post_gen_project.py | 21 +++++------------- hooks/pre_gen_project.py | 12 ---------- .../.envs/.production/.postgres | 7 ------ .../.envs/{.local/.django => dev/django} | 0 .../.envs/{.local/.postgres => dev/postgres} | 0 .../{.production/.django => prod/django} | 0 .../bin/merge_production_dotenvs_in_dotenv.py | 6 ++--- .../bin/start-django | 2 +- {{cookiecutter.project_slug}}/local.yml | 22 +++++++++---------- 9 files changed, 20 insertions(+), 50 deletions(-) delete mode 100644 {{cookiecutter.project_slug}}/.envs/.production/.postgres rename {{cookiecutter.project_slug}}/.envs/{.local/.django => dev/django} (100%) rename {{cookiecutter.project_slug}}/.envs/{.local/.postgres => dev/postgres} (100%) rename {{cookiecutter.project_slug}}/.envs/{.production/.django => prod/django} (100%) diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index dfa087210..e6aef1da6 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -1,14 +1,3 @@ -""" -NOTE: - the below code is to be maintained Python 2.x-compatible - as the whole Cookiecutter Django project initialization - can potentially be run in Python 2.x environment - (at least so we presume in `pre_gen_project.py`). - -TODO: ? restrict Cookiecutter Django project initialization to Python 3.x environments only -""" -from __future__ import print_function - import os import random import shutil @@ -56,7 +45,7 @@ def remove_pycharm_files(): def remove_docker_files(): shutil.rmtree("compose") - file_names = ["local.yml", "production.yml", ".dockerignore"] + file_names = ["dev.yml", ".dockerignore"] for file_name in file_names: os.remove(file_name) @@ -220,10 +209,10 @@ def append_to_gitignore_file(s): def set_flags_in_envs(postgres_user, celery_flower_user, debug=False): - local_django_envs_path = os.path.join(".envs", ".local", ".django") - production_django_envs_path = os.path.join(".envs", ".production", ".django") - local_postgres_envs_path = os.path.join(".envs", ".local", ".postgres") - production_postgres_envs_path = os.path.join(".envs", ".production", ".postgres") + local_django_envs_path = os.path.join(".envs", "dev", "django") + production_django_envs_path = os.path.join(".envs", "prod", "django") + local_postgres_envs_path = os.path.join(".envs", "dev", "postgres") + production_postgres_envs_path = os.path.join(".envs", "prod", "postgres") set_django_secret_key(production_django_envs_path) set_django_admin_url(production_django_envs_path) diff --git a/hooks/pre_gen_project.py b/hooks/pre_gen_project.py index 6065e2d7f..3b0c502f9 100644 --- a/hooks/pre_gen_project.py +++ b/hooks/pre_gen_project.py @@ -1,15 +1,3 @@ -""" -NOTE: - the below code is to be maintained Python 2.x-compatible - as the whole Cookiecutter Django project initialization - can potentially be run in Python 2.x environment. - -TODO: ? restrict Cookiecutter Django project initialization to Python 3.x environments only -""" -from __future__ import print_function - -import sys - TERMINATOR = "\x1b[0m" WARNING = "\x1b[1;33m [WARNING]: " INFO = "\x1b[1;33m [INFO]: " diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.postgres b/{{cookiecutter.project_slug}}/.envs/.production/.postgres deleted file mode 100644 index f190db8e6..000000000 --- a/{{cookiecutter.project_slug}}/.envs/.production/.postgres +++ /dev/null @@ -1,7 +0,0 @@ -# PostgreSQL -# ------------------------------------------------------------------------------ -POSTGRES_HOST=postgres -POSTGRES_PORT=5432 -POSTGRES_DB={{ cookiecutter.project_slug }} -POSTGRES_USER=!!!SET POSTGRES_USER!!! -POSTGRES_PASSWORD=!!!SET POSTGRES_PASSWORD!!! diff --git a/{{cookiecutter.project_slug}}/.envs/.local/.django b/{{cookiecutter.project_slug}}/.envs/dev/django similarity index 100% rename from {{cookiecutter.project_slug}}/.envs/.local/.django rename to {{cookiecutter.project_slug}}/.envs/dev/django diff --git a/{{cookiecutter.project_slug}}/.envs/.local/.postgres b/{{cookiecutter.project_slug}}/.envs/dev/postgres similarity index 100% rename from {{cookiecutter.project_slug}}/.envs/.local/.postgres rename to {{cookiecutter.project_slug}}/.envs/dev/postgres diff --git a/{{cookiecutter.project_slug}}/.envs/.production/.django b/{{cookiecutter.project_slug}}/.envs/prod/django similarity index 100% rename from {{cookiecutter.project_slug}}/.envs/.production/.django rename to {{cookiecutter.project_slug}}/.envs/prod/django diff --git a/{{cookiecutter.project_slug}}/bin/merge_production_dotenvs_in_dotenv.py b/{{cookiecutter.project_slug}}/bin/merge_production_dotenvs_in_dotenv.py index e5865fe28..718bdad8e 100644 --- a/{{cookiecutter.project_slug}}/bin/merge_production_dotenvs_in_dotenv.py +++ b/{{cookiecutter.project_slug}}/bin/merge_production_dotenvs_in_dotenv.py @@ -4,10 +4,10 @@ from typing import Sequence import pytest ROOT_DIR_PATH = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) -PRODUCTION_DOTENVS_DIR_PATH = os.path.join(ROOT_DIR_PATH, ".envs", ".production") +PRODUCTION_DOTENVS_DIR_PATH = os.path.join(ROOT_DIR_PATH, ".envs", "prod") PRODUCTION_DOTENV_FILE_PATHS = [ - os.path.join(PRODUCTION_DOTENVS_DIR_PATH, ".django"), - os.path.join(PRODUCTION_DOTENVS_DIR_PATH, ".postgres"), + os.path.join(PRODUCTION_DOTENVS_DIR_PATH, "django"), + os.path.join(PRODUCTION_DOTENVS_DIR_PATH, "postgres"), ] DOTENV_FILE_PATH = os.path.join(ROOT_DIR_PATH, ".env") diff --git a/{{cookiecutter.project_slug}}/bin/start-django b/{{cookiecutter.project_slug}}/bin/start-django index 0ad39dfae..aa425b9d9 100644 --- a/{{cookiecutter.project_slug}}/bin/start-django +++ b/{{cookiecutter.project_slug}}/bin/start-django @@ -6,4 +6,4 @@ set -o nounset python /app/manage.py collectstatic --noinput -/usr/local/bin/gunicorn config.wsgi --bind 0.0.0.0:5000 --chdir=/app +/usr/local/bin/gunicorn config.wsgi --bind 0.0.0.0:8000 --chdir=/app diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index ef2dce986..47a369c60 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -8,7 +8,7 @@ services: django:{% if cookiecutter.use_celery == 'y' %} &django{% endif %} build: context: . - dockerfile: ./compose/local/django/Dockerfile + dockerfile: ./compose/dev/django/Dockerfile image: {{ cookiecutter.project_slug }}_local_django depends_on: - postgres @@ -18,8 +18,8 @@ services: volumes: - .:/app env_file: - - ./.envs/.local/.django - - ./.envs/.local/.postgres + - ./.envs/dev/django + - ./.envs/dev/postgres ports: - "8000:8000" command: /start @@ -27,13 +27,13 @@ services: postgres: build: context: . - dockerfile: ./compose/production/postgres/Dockerfile - image: {{ cookiecutter.project_slug }}_production_postgres + dockerfile: postgres:11-alpine + image: {{ cookiecutter.project_slug }}_postgres volumes: - local_postgres_data:/var/lib/postgresql/data - local_postgres_data_backups:/backups env_file: - - ./.envs/.local/.postgres + - .envs/dev/postgres {%- if cookiecutter.use_mailhog == 'y' %} mailhog: @@ -49,7 +49,7 @@ services: celeryworker: <<: *django - image: {{ cookiecutter.project_slug }}_local_celeryworker + image: {{ cookiecutter.project_slug }}_celeryworker depends_on: - redis - postgres @@ -61,7 +61,7 @@ services: celerybeat: <<: *django - image: {{ cookiecutter.project_slug }}_local_celerybeat + image: {{ cookiecutter.project_slug }}_celerybeat depends_on: - redis - postgres @@ -73,7 +73,7 @@ services: flower: <<: *django - image: {{ cookiecutter.project_slug }}_local_flower + image: {{ cookiecutter.project_slug }}_flower ports: - "5555:5555" command: /start-flower @@ -83,8 +83,8 @@ services: node: build: context: . - dockerfile: ./compose/local/node/Dockerfile - image: {{ cookiecutter.project_slug }}_local_node + dockerfile: node:10-stretch-slim + image: {{ cookiecutter.project_slug }}_node depends_on: - django volumes: