From 7a397d8af995e95f8e1e9f79fc4388e01c08bd2f Mon Sep 17 00:00:00 2001 From: Saurabh Kumar Date: Wed, 20 Dec 2023 20:18:58 +0530 Subject: [PATCH] Add back vagrant config --- .github/workflows/main.yml | 2 +- README.md | 2 +- .../provisioner/hosts | 17 ++++++++++++++++ .../provisioner/roles/nginx/tasks/main.yml | 7 ++++--- .../provisioner/site.yml | 20 +++++++++++++++++++ 5 files changed, 43 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index feac8db3..04cfbced 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,6 +31,6 @@ jobs: - name: Install cookiecutter and poetry run: | python -m pip install --upgrade pip - pip3 install cookiecutter==2.1.1 poetry==1.3.1 + pip3 install cookiecutter==2.1.1 poetry==1.7.1 - name: Run tests run: bash run_test.sh diff --git a/README.md b/README.md index f13db6e9..8cfb7f95 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ - Django 4.1.x - Python 3.9.x -- [Poetry][poetry] Support +- Dependency management via [Poetry][poetry] - Support for [black](https://pypi.org/project/black/)! - [12-Factor][12factor] based settings management via [django-environ], reads settings from `.env` if present. - Supports PostreSQL 13.0 (support of postgis-3.0 is available). diff --git a/{{cookiecutter.github_repository}}/provisioner/hosts b/{{cookiecutter.github_repository}}/provisioner/hosts index d2ae7f42..686bcc0f 100644 --- a/{{cookiecutter.github_repository}}/provisioner/hosts +++ b/{{cookiecutter.github_repository}}/provisioner/hosts @@ -1,4 +1,5 @@ [all:vars] +vm=0 user=ubuntu project_namespace={% raw %}{{ project_name }}-{{ deploy_env }}{% endraw %} project_path=/home/ubuntu/{% raw %}{{ deploy_env }}{% endraw %}/{{ cookiecutter.github_repository }} @@ -7,6 +8,22 @@ use_letsencrypt={{ 'True' if cookiecutter.letsencrypt.lower() == 'y' else 'False letsencrypt_email={{ cookiecutter.letsencrypt_email }} django_settings="settings.production" +[vagrant] +192.168.33.12 + +[vagrant:vars] +vm=1 +deploy_env=vagrant +user=vagrant +project_path=/home/vagrant/{{ cookiecutter.github_repository }} +venv_path=/home/vagrant/venv +django_settings="settings.development" +use_letsencrypt=False +pg_db={{ cookiecutter.main_module }} +pg_user=vagrant +pg_password=vagrant +domain_name=vagrant.{{ cookiecutter.main_module }}.com + [dev] dev.{{ cookiecutter.main_module }}.com diff --git a/{{cookiecutter.github_repository}}/provisioner/roles/nginx/tasks/main.yml b/{{cookiecutter.github_repository}}/provisioner/roles/nginx/tasks/main.yml index 260cb393..5b869eff 100644 --- a/{{cookiecutter.github_repository}}/provisioner/roles/nginx/tasks/main.yml +++ b/{{cookiecutter.github_repository}}/provisioner/roles/nginx/tasks/main.yml @@ -9,7 +9,7 @@ - name: make sure ssl directory exists file: path={{ ssl_cert_dir }} state=directory - when: use_letsencrypt + when: vm == 0 and use_letsencrypt - name: check {{ letsencrypt_ssl_cert_dir }} exists stat: path={{ letsencrypt_ssl_cert_dir }} @@ -18,7 +18,7 @@ - import_tasks: htpasswd.yml - import_tasks: letsencrypt.yml - when: use_letsencrypt and letsencrypt_dir.stat.exists == false + when: vm == 0 and use_letsencrypt and letsencrypt_dir.stat.exists == false - name: check ssl/nginx.crt exists stat: path={{ ssl_certificate }} @@ -29,10 +29,11 @@ register: nginx_key - fail: msg="Whoops! ssl certificate doesn't exist" - when: use_letsencrypt and (nginx_cert.stat.exists == false or nginx_key.stat.exists == false) + when: (vm == 0 and use_letsencrypt) == true and (nginx_cert.stat.exists == false or nginx_key.stat.exists == false) - name: generate ssl forward secrecy key command: openssl dhparam -out {{ ssl_forward_secrecy_key_path }} {{ ssl_forward_secrecy_key_length }} creates={{ ssl_forward_secrecy_key_path }} + when: vm == 0 - name: copy base nginx configuration. template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf diff --git a/{{cookiecutter.github_repository}}/provisioner/site.yml b/{{cookiecutter.github_repository}}/provisioner/site.yml index bec93a33..bfaa2cac 100644 --- a/{{cookiecutter.github_repository}}/provisioner/site.yml +++ b/{{cookiecutter.github_repository}}/provisioner/site.yml @@ -1,4 +1,24 @@ --- +- hosts: vagrant + vars_files: + - vars.yml + gather_facts: true + become: true + become_method: sudo + + roles: + - common + - nginx + - postgresql + - project_data +{%- if cookiecutter.add_celery.lower() == 'y' %} + - redis + - celery +{%- else %} + # - redis + # - celery +{%- endif %} + #= Dev #=================================================== - hosts: dev