Skip to content

mehdi-wsc/wedeploy-skeletton

Repository files navigation

infra-base

Local configuration

Requirements :

  • Docker
  • Bash
  • An AWS account
  • All the dependencies listed in the Docker image (that you can use directly)

Docker environment :

You can create a container to ensure you have all the correct software and dependencies to work with the project, just by typing :


./workstation/launch.sh

And congratulations ! you have your workstation ready for work.

Project setup

Set your naming conventions:

To set the configuration for your account,

There is an example of configuration here :

configs
└── mygroup
    └── myenv
        ├── ssh
        │   └── README.md
        ├── ansible
        └── terraform
            ├── commons.tfvars
            ├── layer-01-networking.tfvars
            └── layer-02-nginx.tfvars

To adapt to your own account and set your own values,

just copy paste the folder "mygroup", and change the names of the folders :

  • mygroup : is a logical entity that represent your context (for instance : "mycompany")
  • myenv : is the iteration of the infrastructure dedicated to a purpose (for instance : "dev", "staging" or "prod")

Ansible configuration:

  • First,we install Nginx Role :

ansible-galaxy install mehdi_wsc.nginx -p ./ansible/roles/external/

  • Second,We specify ansible configuration for the environnement:
export ANSIBLE_CONFIG="$PWD/<mygroup>-<myenv>-ansible.cfg"

Ansible configuration:

  • First,we install Nginx Role :
ansible-galaxy install mehdi_wsc.nginx -p ./ansible/roles/external/

  • Second,We specify ansible configuration for the environnement:
export ANSIBLE_CONFIG="$PWD/<mygroup>-<myenv>-ansible.cfg"

Build Infrastructure :

  • Run bootstrap script:
python -m mypackage_wsc.infra_bootstrap --provider aws --account < mygroup >-< myenv >

Run Build-infra script:

python -m mypackage_wsc.infra_builder_terraform --account < mygroup >-< myenv >

And Voilà, you have created an infrastructure in your aws account !

Ansible Nginx deployment :

Now the final step is to install nginx:

python -m mypackage_wsc.install_nginx --group < mygroup > --env < myenv >

At this point, you can access to your public instance with http and you will view Nginx server page.

  • Hence , the final architecture is:

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published