* [ch11782] | Anoop | Add validations for components * [ch11782] | Anoop | Allow database & servicerole structure to be null * [ch11782] | Anoop | Add required validation for s3 fields
36 lines
1.2 KiB
Markdown
36 lines
1.2 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`
|
|
|
|
##### Run plan for resources
|
|
`infra-provisioner --manifest sample_infra_manifest.json --plan 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 sample_infra_manifest.json --template-only resourceName`
|
|
|
|
##### Package templates
|
|
```
|
|
go get github.com/shuLhan/go-bindata/cmd/go-bindata
|
|
go-bindata -o bindata/ templates/...
|
|
```
|
|
|
|
## Caveats
|
|
1. Interrupts, term signals are not handled when code execution moves to bash.
|