├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md └── dependabot.yml ├── Dockerfile ├── LICENSE └── README.md /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: docker 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | time: "04:00" 8 | open-pull-requests-limit: 10 9 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:latest 2 | MAINTAINER "AnmolNagpal " 3 | 4 | ENV TERRAFORM_VERSION=0.13.4 5 | ENV TERRAFORM_SHA256SUM=a92df4a151d390144040de5d18351301e597d3fae3679a814ea57554f6aa9b24 6 | 7 | RUN apk add --update git curl openssh && \ 8 | curl https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip > terraform_${TERRAFORM_VERSION}_linux_amd64.zip && \ 9 | echo "${TERRAFORM_SHA256SUM} terraform_${TERRAFORM_VERSION}_linux_amd64.zip" > terraform_${TERRAFORM_VERSION}_SHA256SUMS && \ 10 | sha256sum -cs terraform_${TERRAFORM_VERSION}_SHA256SUMS && \ 11 | unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip -d /bin && \ 12 | rm -f terraform_${TERRAFORM_VERSION}_linux_amd64.zip 13 | 14 | ENTRYPOINT ["/bin/terraform"] 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Cloud Drove 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## What is terraform 2 | 3 | [Terraform][1] provides a common configuration to launch infrastructure from physical and virtual servers to email and DNS providers. Once launched, [Terraform][1] safely and efficiently changes infrastructure as the configuration is evolved. 4 | 5 | Simple file based configuration gives you a single view of your entire infrastructure. 6 | 7 | http://www.terraform.io/ 8 | 9 | ## Dockerfile 10 | 11 | This Docker image is based on the official [Alpine][2] 3.2 base image. 12 | 13 | ## Terraform configuration files 14 | 15 | This container expects the user to mount in a directory, which will be mapped to the `/data` directory inside the container. This is the directory from which [Terraform][1] is configured to read the configuration files referenced by the commands you call. 16 | 17 | ## How to run this image 18 | 19 | For most terraform commands, the run command is as simple as: 20 | 21 | ``` 22 | docker run -it --rm clouddrove/terraform [--version] [--help] [] 23 | ``` 24 | 25 | ### terraform apply 26 | 27 | ``` 28 | docker run -it --rm --net=host clouddrove/terraform apply [options] 29 | ``` 30 | 31 | ### terraform destroy 32 | 33 | ``` 34 | docker run -it --rm clouddrove/terraform destroy [options] [DIR] 35 | ``` 36 | 37 | ### terraform get 38 | 39 | ``` 40 | docker run -it --rm clouddrove/terraform get [options] PATH 41 | ``` 42 | 43 | ### terraform graph 44 | 45 | ``` 46 | docker run -it --rm clouddrove/terraform graph [options] 47 | ``` 48 | 49 | ### terraform init 50 | 51 | ``` 52 | docker run -it --rm clouddrove/terraform init [options] SOURCE [PATH] 53 | ``` 54 | 55 | ### terraform output 56 | 57 | ``` 58 | docker run -it --rm clouddrove/terraform output [options] NAME 59 | ``` 60 | 61 | ### terraform plan 62 | 63 | ``` 64 | docker run -it --rm --net=host clouddrove/terraform plan [options] 65 | ``` 66 | 67 | ### terraform push 68 | 69 | ``` 70 | docker run -it --rm --net=host clouddrove/terraform push [options] 71 | ``` 72 | 73 | ### terraform refresh 74 | 75 | ``` 76 | docker run -it --rm --net=host clouddrove/terraform refresh [options] 77 | ``` 78 | 79 | ### terraform remote 80 | 81 | ``` 82 | docker run -it --rm --net=host clouddrove/terraform remote [options] 83 | ``` 84 | 85 | ### terraform show 86 | 87 | ``` 88 | docker run -it --rm --net=host clouddrove/terraform show terraform.tfstate [options] 89 | ``` 90 | 91 | ### terraform taint 92 | 93 | ``` 94 | docker run -it --rm --net=host clouddrove/terraform taint [options] name 95 | ``` 96 | 97 | ### terraform version 98 | 99 | ``` 100 | docker run -it --rm clouddrove/terraform version 101 | ``` 102 | 103 | ## 👬 Contribution 104 | - Open pull request with improvements 105 | - Discuss ideas in issues 106 | - Reach out with any feedback [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/anmol_nagpal.svg?style=social&label=Follow%20%40anmol_nagpal)](https://twitter.com/anmol_nagpal) 107 | 108 | [1]: http://www.terraform.io/ "Terraform" 109 | [2]: https://registry.hub.docker.com/_/alpine "Alpine" 110 | --------------------------------------------------------------------------------