Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/launchbynttdata/lcaf-template-terragrunt
Terragrunt Skeleton Repository
https://github.com/launchbynttdata/lcaf-template-terragrunt
Last synced: 5 days ago
JSON representation
Terragrunt Skeleton Repository
- Host: GitHub
- URL: https://github.com/launchbynttdata/lcaf-template-terragrunt
- Owner: launchbynttdata
- License: apache-2.0
- Created: 2024-03-18T19:46:51.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-11-05T12:29:07.000Z (2 months ago)
- Last Synced: 2024-11-09T06:07:23.778Z (2 months ago)
- Language: Jinja
- Size: 59.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# launch-terragrunt-skeleton
This skeleton is the template used to generate terragrunt services utilizing [launch-cli](https://github.com/nexient-llc/launch-cli.git)## .launch folder
The `.launch` folder contains the metadata used with `launch-cli` to generate code based on this skeleton. This folder is not commited during new service creation and only exists in the skeleton.This folder contains the following structure:
```
./launch
example_projects/
Contains examples on how to utilize this skeleton
jinja2/
Contains the jinja2 templates to be rendered
```## Usage
Within the `.launch/jinja2`, the platform contains the entire structure of the jinja2 templates to render. if the folder path is surrounded by brackets `{{some_var}}`, its a variable path and all jinja2 templates within those children directories will be replicated throughout your `inputs`.
When using `launch-cli` commands with this skeleton, inputs supplied must match the structure of the skeleton being used.
Create a new service
`launch service create --name my-new-service --in-file my_inputs.json`Deploy service:
`launch terragrunt plan --repository-url https://github.com/my-org/my-new-service`### Skeleton jinja2 inputs
```
{
"sources":{
"service":{
"module": string,
"tag" : string
}, // Required
"pipeline":{
"module": string,
"tag" : string
}, // Optional
"webhook":{
"module": string,
"tag" : string
} // Optional
},
"provider": string, // Required, accepts only 'aws' or 'az'
"remote_state": {
"resource_group_name": string, // Optional, az only
"storage_account_name": string, // Optional, az only
"container_name": string, // Optional, az only
"bucket": string, // Optional, aws only
"dynamodb_table": string // Optional, aws only
}, // Optional
"accounts": {
string: string
}, // Required
"naming_prefix": string, //Required
"platform": {
"service": {
string: {
string: {
string: {
"properties_file": string
}
}
}
}, //Required
"pipeline": {
"pipeline-provider": {
string: {
string: {
"properties_file": "./aws_s3.tfvars"
}
}
}, //Optional
"git-provider": {
string: {
string: {
"properties_file": "./aws_s3.tfvars"
}
}
} // Optional
} // Optional
}
}
```### Example launch-cli params to be used with this skeleton.
```
{
"sources":{
"service":{
"module": "https://github.com/nexient-llc/tf-aws-wrapper_module-s3_bucket.git",
"tag" : "0.1.0"
},
"pipeline":{
"module": "https://github.com/nexient-llc/tf-aws-wrapper_module-s3_bucket.git",
"tag" : "0.1.0"
},
"webhook":{
"module": "https://github.com/nexient-llc/tf-aws-wrapper_module-s3_bucket.git",
"tag" : "0.1.0"
}
},
"provider": "aws",
"accounts": {
"sandbox": "launch-sandbox-admin"
},
"naming_prefix": "demo",
"platform": {
"service": {
"sandbox": {
"us-east-2": {
"000": {
"properties_file": "./aws_s3.tfvars"
}
}
}
},
"pipeline": {
"pipeline-provider": {
"aws": {
"sandbox": {
"properties_file": "./aws_s3.tfvars"
}
}
},
"git-provider": {
"aws": {
"webhook": {
"properties_file": "./aws_s3.tfvars"
}
}
}
}
}
}
```