Skip to content

khan-kashtan/ansible-3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Creating two environment using roles with monolith application at two instanses:

  • app-prod/app-stage - Ubuntu 16.04 (required for Ruby 2.3.8)
  • db-prod/app-stage - Ubuntu 20.04

Used enviroment:

  • Application code https://github.com/express42/reddit
  • Ruby 2.3.8 (required by this version of the application)
  • MongoDB 4.4
  • Firewall rules to open ports:
    • 22 SSH connection
    • 9292 Application work port
    • 27017 Database connection
    • 80 HTTP port

Steps:

  1. Create instances:

  • Set terraform vars at ./terraform/prod/terraform.tfvars
    • Required: project, public_key_path, user_ssh
    • Optional: region, zone, machine_type
mv ./terraform/prod/terraform.tfvars.example ./terraform/prod/terraform.tfvars
cd terraform/prod
terraform apply -auto-approve
  1. Configure Ansible:

  • Read Ansible docs to add GCE service account key.
  • Set service account JSON and project id at playbooks/dynamo.gcp.yml
  • Set ssh private key path and ssh username at playbooks/ansible.cfg
  • Install role jdauphant.nginx:
    ansible-galaxy install -r environments/stage/requirements.yml
    
  1. Deploy:

ansible-playbook playbooks/site.yaml environments/stage/dynamo.gcp.yml
ansible-playbook playbooks/site.yaml environments/prod/dynamo.gcp.yml

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published