Files
infra-provisioner/README.md
2020-01-14 16:26:20 +05:30

37 lines
1.1 KiB
Markdown

# infra-provisioner
This tool provisions infra resources like rds, s3 on demand with details given in `infra_manifest`.
Simply explained, its a thin wrapper over terraform to hide the complexities like hcl, remote backend, targeted resources etc when provisioning resources.
## Usage Guide
##### Install
`go get -u -v github.cmd.navi-tech.in/navi-infra/infra-provisioner`
##### Check templates generated
`infra-provisioner --manifest sample_infra_manifest.json --template-only database`
or
`infra-provisioner -m sample_infra_manifest.json -t database`
##### Provision resource
`infra-provisioner --manifest sample_infra_manifest.json database`
---
## Development Guide
##### Typical workflow
- Add templates to your resource in templates folder
- Make changes to cli to support new resource
- Package templates with `go-bindata`
- Dry run with `go run *.go --manifest manifest.json --template-only resourceName`
##### Package templates
```
go get github.com/shuLhan/go-bindata/cmd/go-bindata
go-bindata templates/...
```
## Caveats
1. Interrupts, term signals are not handled when code execution moves to bash.