{"id":15081499,"url":"https://github.com/nathanielvarona/pritunl-aws-vm-server-dev","last_synced_at":"2026-01-02T17:50:22.812Z","repository":{"id":200477710,"uuid":"614911945","full_name":"nathanielvarona/pritunl-aws-vm-server-dev","owner":"nathanielvarona","description":"Pritunl AWS VM Server with MongoDB Atlas (Free Tier)  IaC  using Terraform - (for Development Purpose)","archived":false,"fork":false,"pushed_at":"2023-10-16T10:30:35.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T05:42:41.739Z","etag":null,"topics":["ansible","ansible-galaxy","ansible-inventory","ansible-playbook","ansible-roles","example","free-tier","terraform","terraspace"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nathanielvarona.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-16T15:08:09.000Z","updated_at":"2024-04-28T14:33:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"b7ebe557-1676-417d-8337-cf1e3e96e19f","html_url":"https://github.com/nathanielvarona/pritunl-aws-vm-server-dev","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"9b9e71503178580d8b0d7e600c4e7a60775c86b6"},"previous_names":["nathanielvarona/pritunl-aws-vm-server-dev"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathanielvarona%2Fpritunl-aws-vm-server-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathanielvarona%2Fpritunl-aws-vm-server-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathanielvarona%2Fpritunl-aws-vm-server-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathanielvarona%2Fpritunl-aws-vm-server-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nathanielvarona","download_url":"https://codeload.github.com/nathanielvarona/pritunl-aws-vm-server-dev/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243918630,"owners_count":20368745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-galaxy","ansible-inventory","ansible-playbook","ansible-roles","example","free-tier","terraform","terraspace"],"created_at":"2024-09-25T06:00:35.279Z","updated_at":"2026-01-02T17:50:22.786Z","avatar_url":"https://github.com/nathanielvarona.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Provision Initial VM using Terraform\n\n### Prepare the Environment\n\nCreate a copy and fill in the required environment variables fields\n\n```bash\ncp ./.envrc.dist ./.envrc\n```\n\nLoad the environment variables in your current working shell\n\n```bash\nset -a \u0026\u0026 source ./.envrc \u0026\u0026 set +a\n```\n\n### Install Terraspace *(a Terraform Framework)* Requirements\n\nCreate a Ruby Environment (Gemset)\n\n```bash\nrbenv gemset create 3.1.2 pritunl-aws-vm-single-server\n```\n\nInstall the required Gemset for Terraspace Framework\n\n```bash\nbundle install\n```\n\nInstall Terraform Vendor Modules from Terraform Registry\n\n```bash\nterraspace bundle\n```\n\n### Provision the VM\n\nPlan and Provision a VM\n\n```bash\nterraspace all plan\nterraspace all up\n```\n\nMonitor the Operations by outputting the logs\n\n```bash\nterraspace logs -f\n```\n\n\n## Provision Existing VM using Ansible\n\n### Ansible Provisioning Requirements\n\nPrepare the Environment\n```bash\ncd ./provisioning\npython -m venv ./.venv\nsource ./.venv/bin/activate\n```\n\nAnsible Base (Core Distribution)\n```bash\npip install -r requirements.txt\n```\n\n\nAWS Plugin\n```bash\nansible-galaxy collection install amazon.aws\n```\n\n### AWS Compute Resource Inventory Checks\n\nShow AWS EC2 Resource\n```\nansible-inventory -i aws_ec2.yml --graph\n```\n\n```bash\nansible tag_Name_pritunl_vm -i aws_ec2.yml -m ping\n```\n\n### Basic Usage\n\nCheck for Possible Changes _(Dry Run)_\n```bash\nansible-playbook -i aws_ec2.yml main.yml --check\n```\n\nInstall the Updates _(Approve for any changes)_\n```bash\nansible-playbook -i aws_ec2.yml main.yml\n```\n\n### Advance Usage\n\nOnly for APT Check/Changes\n```bash\nansible-playbook -i aws_ec2.yml main.yml --tags \"apt\" --check\n```\n\nOnly for SystemD Check/Changes\n```bash\nansible-playbook -i aws_ec2.yml main.yml --tags \"systemd\" --check\n```\n\n## TODO\n\n* Create a Packer Images for Initial VM Provisioning\n ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathanielvarona%2Fpritunl-aws-vm-server-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnathanielvarona%2Fpritunl-aws-vm-server-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathanielvarona%2Fpritunl-aws-vm-server-dev/lists"}