Giter Site home page Giter Site logo

aws-proton-terraform-sample-templates's Introduction

AWS Proton Sample Terraform Templates

Choose your provisioning model

If you are looking for pull request based (aka self-managed) provisioning, the examples in this repository are sufficient.

If you are looking for CodeBuild provisioning examples, they can be found here.

For more information on the various provisioning models with AWS Proton, check out the documentation.

Description

This repository is a curated list of sample templates to use within AWS Proton that are authored for integration with Terraform using self-managed provisioning.

To use this repository, browse to the folder that corresponds to the template that you want to use. You will find there all the information you need to create environment and service templates and to deploy the corresponding environments and services. You will also find a link to a repository with basic code that runs on each one of them, in case you want to fork it to use it as the basis for your deployment.

Registering Templates Using Template Sync

All of the Templates in this directory are set up to work with AWS Proton Template Sync. This repository is also a Github Template Repository. So you can click "Use this template" on the home page of this repo and that will create an identical repo in your account, which you can then use with template sync.

Running Terraform Using AWS Proton Self-managed Provisioning

If you need an example of how to run your Terraform code, head on over to this repo where we offer an example of running Terraform using GitHub Actions.

Local Development

For local development, the <template>/dev-resources/ directory contains variable definitions/values which are normally generated by Proton at provision time:

  • proton.variables.tf: variable type definitions
  • proton.auto.tfvars.json: variable value assignments (contains provisioning inputs, environment outputs etc)

To test a template locally, you can create symbolic links to these files in the infrastructure directory. E.g.:

cd <template>/vx/<infrastructure>/
ln -s ../../dev-resources/proton.variables.tf dev.proton.auto.tfvars.json
ln -s ../../dev-resources/proton.auto.tfvars.json dev.proton.auto.tfvars.json
terraform init
terraform plan

Note that you will need to populate proton.auto.tfvars.json with the required values according to the template. For environments, this will typically be the environment.name and environment.inputs fields, for example.

Security

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

aws-proton-terraform-sample-templates's People

Contributors

adamjkeller avatar amazon-auto avatar awishn02 avatar dankhen avatar jona62 avatar mikewrighton avatar racicot-amzn avatar rafavallina avatar rayalavi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aws-proton-terraform-sample-templates's Issues

Tag resource with the state file S3 path and git repo

It would be useful to add some default tags with the state file S3 path and git repository path. This would help people recover the state and be able to destroy Terraform resources which are no longer managed by Proton.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.