Skip to content

Commit b286929

Browse files
sarkisosterman
authored andcommitted
Add README.yaml (#4)
* add README.yaml and generate README.md * trigger travis * fix travis yml * add related projects * add example
1 parent 1a27713 commit b286929

File tree

7 files changed

+314
-43
lines changed

7 files changed

+314
-43
lines changed

.travis.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ addons:
55
- make
66
- curl
77

8-
install:
9-
- make init
8+
install:
9+
- make init
1010

11-
script:
12-
- make terraform/install
13-
- make terraform/get-plugins
14-
- make terraform/get-modules
15-
- make terraform/lint
16-
- make terraform/validate
11+
script:
12+
- make terraform/install
13+
- make terraform/get-plugins
14+
- make terraform/get-modules
15+
- make terraform/lint
16+
- make terraform/validate

Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
SHELL := /bin/bash
22

3+
# List of targets the `readme` target should call before generating the readme
4+
export README_DEPS ?= docs/targets.md docs/terraform.md
5+
36
-include $(shell curl -sSL -o .build-harness "https://git.io/build-harness"; echo .build-harness)
47

58
lint:

README.md

+153-28
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,125 @@
1-
![Cloud Posse](https://cloudposse.com/logo-300x69.png)
1+
<!-- This file was automatically generated by the `build-harness`. Make all changes to `README.yaml` and run `make readme` to rebuild this file. -->
2+
3+
[![Cloud Posse](https://cloudposse.com/logo-300x69.png)](https://cloudposse.com)
4+
5+
# terraform-aws-ecs-codepipeline [![Build Status](https://travis-ci.org/cloudposse/terraform-aws-ecs-codepipeline.svg?branch=master)](https://travis-ci.org/cloudposse/terraform-aws-ecs-codepipeline) [![Latest Release](https://img.shields.io/github/release/cloudposse/terraform-aws-ecs-codepipeline.svg)](https://github.com/cloudposse/terraform-aws-ecs-codepipeline/releases) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com)
6+
7+
8+
Terraform Module for CI/CD with AWS Code Pipeline and Code Build for ECS.
9+
10+
11+
---
12+
13+
This project is part of our comprehensive ["SweetOps"](https://docs.cloudposse.com) approach towards DevOps.
14+
15+
16+
It's 100% Open Source and licensed under the [APACHE2](LICENSE).
17+
218

3-
# terraform-aws-ecs-codepipeline [![Build Status](https://travis-ci.org/cloudposse/terraform-aws-ecs-codepipeline.svg?branch=master)](https://travis-ci.org/cloudposse/terraform-aws-ecs-codepipeline)
419

520

621
## Usage
722

23+
```hcl
24+
module "ecs_codepipeline" {
25+
source = "git::https://github.com/cloudposse/terraform-aws-ecs-codepipeline.git?ref=tags/0.1.2"
26+
name = "app"
27+
namespace = "eg"
28+
stage = "staging"
29+
github_oauth_token = "xxxxxxxxxxxxxx"
30+
repo_owner = "cloudposse"
31+
repo_name = "example"
32+
branch = "master"
33+
service_name = "example"
34+
ecs_cluster_name = "example-ecs-cluster"
35+
privileged_mode = "true"
36+
}
37+
```
38+
39+
40+
41+
42+
## Examples
43+
44+
Complete usage can be seen in the [terraform-aws-ecs-web-app](https://github.com/cloudposse/terraform-aws-ecs-web-app/blob/master/main.tf) module.
45+
46+
47+
48+
## Makefile Targets
49+
```
50+
Available targets:
51+
52+
help This help screen
53+
help/all Display help for all targets
54+
55+
```
56+
57+
## Inputs
58+
59+
| Name | Description | Type | Default | Required |
60+
|------|-------------|:----:|:-----:|:-----:|
61+
| attributes | Additional attributes (e.g. `policy` or `role`) | list | `<list>` | no |
62+
| aws_account_id | AWS Account ID. Used as CodeBuild ENV variable when building Docker images. [For more info](http://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html) | string | `` | no |
63+
| aws_region | AWS Region, e.g. us-east-1. Used as CodeBuild ENV variable when building Docker images. [For more info](http://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html) | string | `` | no |
64+
| branch | Branch of the GitHub repository, _e.g._ `master` | string | - | yes |
65+
| build_compute_type | `CodeBuild` instance size. Possible values are: `BUILD_GENERAL1_SMALL` `BUILD_GENERAL1_MEDIUM` `BUILD_GENERAL1_LARGE` | string | `BUILD_GENERAL1_SMALL` | no |
66+
| build_image | Docker image for build environment, _e.g._ `aws/codebuild/docker:docker:17.09.0` | string | `aws/codebuild/docker:17.09.0` | no |
67+
| buildspec | Declaration to use for building the project. [For more info](http://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) | string | `` | no |
68+
| delimiter | Delimiter to be used between `name`, `namespace`, `stage`, etc. | string | `-` | no |
69+
| ecs_cluster_name | ECS Cluster Name | string | - | yes |
70+
| enabled | Enable `CodePipeline` creation | string | `true` | no |
71+
| github_oauth_token | GitHub Oauth Token with permissions to access private repositories | string | - | yes |
72+
| image_repo_name | ECR repository name to store the Docker image built by this module. Used as CodeBuild ENV variable when building Docker images. [For more info](http://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html) | string | `UNSET` | no |
73+
| image_tag | Docker image tag in the ECR repository, e.g. 'latest'. Used as CodeBuild ENV variable when building Docker images. [For more info](http://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html) | string | `latest` | no |
74+
| name | Solution name, e.g. 'app' or 'jenkins' | string | `app` | no |
75+
| namespace | Namespace, which could be your organization name, e.g. 'cp' or 'cloudposse' | string | `global` | no |
76+
| poll_source_changes | Periodically check the location of your source content and run the pipeline if changes are detected | string | `true` | no |
77+
| privileged_mode | If set to true, enables running the Docker daemon inside a Docker container on the CodeBuild instance. Used when building Docker images | string | `false` | no |
78+
| repo_name | GitHub repository name of the application to be built and deployed to ECS. | string | - | yes |
79+
| repo_owner | GitHub Organization or Username. | string | - | yes |
80+
| service_name | ECS Service Name | string | - | yes |
81+
| stage | Stage, e.g. 'prod', 'staging', 'dev', or 'test' | string | `default` | no |
82+
| tags | Additional tags (e.g. `map('BusinessUnit', 'XYZ')` | map | `<map>` | no |
83+
84+
85+
86+
87+
## Related Projects
88+
89+
Check out these related projects.
90+
91+
- [terraform-aws-alb](https://github.com/cloudposse/terraform-aws-alb) - Terraform module to provision a standard ALB for HTTP/HTTP traffic
92+
- [terraform-aws-alb-ingress](https://github.com/cloudposse/terraform-aws-alb-ingress) - Terraform module to provision an HTTP style ingress rule based on hostname and path for an ALB
93+
- [terraform-aws-codebuild](https://github.com/cloudposse/terraform-aws-codebuild) - Terraform Module to easily leverage AWS CodeBuild for Continuous Integration
94+
- [terraform-aws-ecr](https://github.com/cloudposse/terraform-aws-ecr) - Terraform Module to manage Docker Container Registries on AWS ECR
95+
- [terraform-aws-ecs-alb-service-task](https://github.com/cloudposse/terraform-aws-ecs-alb-service-task) - Terraform module which implements an ECS service which exposes a web service via ALB.
96+
- [terraform-aws-ecs-container-definition](https://github.com/cloudposse/terraform-aws-ecs-container-definition) - Terraform module to generate well-formed JSON documents that are passed to the aws_ecs_task_definition Terraform resource
97+
- [terraform-aws-lb-s3-bucket](https://github.com/cloudposse/terraform-aws-lb-s3-bucket) - Terraform module to provision an S3 bucket with built in IAM policy to allow AWS Load Balancers to ship access logs.
98+
899

9100
## Help
10101

11102
**Got a question?**
12103

13-
File a GitHub [issue](https://github.com/cloudposse/terraform-aws-ecs-codepipeline/issues), send us an [email](mailto:[email protected]) or reach out to us on [Gitter](https://gitter.im/cloudposse/).
104+
File a GitHub [issue](https://github.com/cloudposse/terraform-aws-ecs-codepipeline/issues), send us an [email][email] or join our [Slack Community][slack].
105+
106+
## Commerical Support
107+
108+
Work directly with our team of DevOps experts via email, slack, and video conferencing.
109+
110+
We provide *commercial support* for all of our [Open Source][github] projects. As a *Dedicated Support* customer, you have access to our team of subject matter experts at a fraction of the cost of a fulltime engineer.
111+
112+
- **Questions.** We'll use a Shared Slack channel between your team and ours.
113+
- **Troubleshooting.** We'll help you triage why things aren't working.
114+
- **Code Reviews.** We'll review your Pull Requests and provide constructive feedback.
115+
- **Bug Fixes.** We'll rapidly work to fix any bugs in our projects.
116+
- **Build New Terraform Modules.** We'll develop original modules to provision infrastructure.
117+
- **Cloud Architecture.** We'll assist with your cloud strategy and design.
118+
- **Implementation.** We'll provide hands on support to implement our reference architectures.
119+
120+
## Community Forum
121+
122+
Get access to our [Open Source Community Forum][slack] on Slack. It's **FREE** to join for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build *sweet* infrastructure.
14123

15124
## Contributing
16125

@@ -20,21 +129,26 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-ecs-c
20129

21130
### Developing
22131

23-
If you are interested in being a contributor and want to get involved in developing `terraform-aws-ecs-codepipeline`, we would love to hear from you! Shoot us an [email](mailto:[email protected]).
132+
If you are interested in being a contributor and want to get involved in developing this project or [help out](https://github.com/orgs/cloudposse/projects/3) with our other projects, we would love to hear from you! Shoot us an [email](mailto:[email protected]).
24133

25134
In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.
26135

27136
1. **Fork** the repo on GitHub
28137
2. **Clone** the project to your own machine
29138
3. **Commit** changes to your own branch
30139
4. **Push** your work back up to your fork
31-
5. Submit a **Pull request** so that we can review your changes
140+
5. Submit a **Pull Request** so that we can review your changes
141+
142+
**NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request!
32143

33-
**NOTE:** Be sure to merge the latest from "upstream" before making a pull request!
144+
## Copyright
34145

35-
## License
146+
Copyright © 2017-2018 [Cloud Posse, LLC](https://cloudposse.com)
36147

37-
[APACHE 2.0](LICENSE) © 2018 [Cloud Posse, LLC](https://cloudposse.com)
148+
149+
## License
150+
151+
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
38152

39153
See [LICENSE](LICENSE) for full details.
40154

@@ -46,7 +160,7 @@ See [LICENSE](LICENSE) for full details.
46160
"License"); you may not use this file except in compliance
47161
with the License. You may obtain a copy of the License at
48162

49-
http://www.apache.org/licenses/LICENSE-2.0
163+
https://www.apache.org/licenses/LICENSE-2.0
50164

51165
Unless required by applicable law or agreed to in writing,
52166
software distributed under the License is distributed on an
@@ -55,35 +169,46 @@ See [LICENSE](LICENSE) for full details.
55169
specific language governing permissions and limitations
56170
under the License.
57171

58-
## About
59172

60-
This project is maintained and funded by [Cloud Posse, LLC][website].
173+
## Trademarks
61174

62-
![Cloud Posse](https://cloudposse.com/logo-300x69.png)
175+
All other trademarks referenced herein are the property of their respective owners.
63176

177+
## About
178+
179+
This project is maintained and funded by [Cloud Posse, LLC][website]. Like it? Please let us know at <[email protected]>
180+
181+
[![Cloud Posse](https://cloudposse.com/logo-300x69.png)](https://cloudposse.com)
64182

65-
Like it? Please let us know at <hello@cloudposse.com>
183+
We're a [DevOps Professional Services][hire] company based in Los Angeles, CA. We love [Open Source Software](https://github.com/cloudposse/)!
66184

67-
We love [Open Source Software](https://github.com/cloudposse/)!
185+
We offer paid support on all of our projects.
68186

69-
See [our other projects][community]
70-
or [hire us][hire] to help build your next cloud platform.
187+
Check out [our other projects][github], [apply for a job][jobs], or [hire us][hire] to help with your cloud strategy and implementation.
71188

189+
[docs]: https://docs.cloudposse.com/
72190
[website]: https://cloudposse.com/
73-
[community]: https://github.com/cloudposse/
191+
[github]: https://github.com/cloudposse/
192+
[jobs]: https://cloudposse.com/jobs/
74193
[hire]: https://cloudposse.com/contact/
194+
[slack]: https://slack.cloudposse.com/
195+
[linkedin]: https://www.linkedin.com/company/cloudposse
196+
[twitter]: https://twitter.com/cloudposse/
197+
[email]: mailto:[email protected]
198+
199+
200+
### Contributors
75201

202+
| [![Erik Osterman][osterman_avatar]](osterman_homepage)<br/>[Erik Osterman][osterman_homepage] | [![Igor Rodionov][goruha_avatar]](goruha_homepage)<br/>[Igor Rodionov][goruha_homepage] | [![Andriy Knysh][aknysh_avatar]](aknysh_homepage)<br/>[Andriy Knysh][aknysh_homepage] | [![Sarkis Varozian][sarkis_avatar]](sarkis_homepage)<br/>[Sarkis Varozian][sarkis_homepage] |
203+
|---|---|---|---|
76204

77-
## Contributors
205+
[osterman_homepage]: https://github.com/osterman
206+
[osterman_avatar]: http://s.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb?s=144
207+
[goruha_homepage]: https://github.com/goruha
208+
[goruha_avatar]: http://s.gravatar.com/avatar/bc70834d32ed4517568a1feb0b9be7e2?s=144
209+
[aknysh_homepage]: https://github.com/aknysh
210+
[aknysh_avatar]: https://avatars0.githubusercontent.com/u/7356997?v=4&u=ed9ce1c9151d552d985bdf5546772e14ef7ab617&s=144
211+
[sarkis_homepage]: https://github.com/sarkis
212+
[sarkis_avatar]: https://avatars3.githubusercontent.com/u/42673?s=144&v=4
78213

79-
| [![Erik Osterman][erik_img]][erik_web]<br/>[Erik Osterman][erik_web] | [![Andriy Knysh][andriy_img]][andriy_web]<br/>[Andriy Knysh][andriy_web] |[![Igor Rodionov][igor_img]][igor_web]<br/>[Igor Rodionov][igor_img]|[![Sarkis Varozian][sarkis_img]][sarkis_web]<br/>[Sarkis Varozian][sarkis_web] |
80-
|-------------------------------------------------------|------------------------------------------------------------------|------------------------------------------------------------------|------------------------------------------------------------------|
81214

82-
[erik_img]: http://s.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb?s=144
83-
[erik_web]: https://github.com/osterman/
84-
[andriy_img]: https://avatars0.githubusercontent.com/u/7356997?v=4&u=ed9ce1c9151d552d985bdf5546772e14ef7ab617&s=144
85-
[andriy_web]: https://github.com/aknysh/
86-
[igor_img]: http://s.gravatar.com/avatar/bc70834d32ed4517568a1feb0b9be7e2?s=144
87-
[igor_web]: https://github.com/goruha/
88-
[sarkis_img]: https://avatars3.githubusercontent.com/u/42673?s=144&v=4
89-
[sarkis_web]: https://github.com/sarkis/

README.yaml

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
#
3+
# This is the canonical configuration for the `README.md`
4+
# Run `make readme` to rebuild the `README.md`
5+
#
6+
7+
# Name of this project
8+
name: terraform-aws-ecs-codepipeline
9+
10+
# Logo for this project
11+
#logo: docs/logo.png
12+
13+
# License of this project
14+
license: "APACHE2"
15+
16+
# Canonical GitHub repo
17+
github_repo: cloudposse/terraform-aws-ecs-codepipeline
18+
19+
# Badges to display
20+
badges:
21+
- name: "Build Status"
22+
image: "https://travis-ci.org/cloudposse/terraform-aws-ecs-codepipeline.svg?branch=master"
23+
url: "https://travis-ci.org/cloudposse/terraform-aws-ecs-codepipeline"
24+
- name: "Latest Release"
25+
image: "https://img.shields.io/github/release/cloudposse/terraform-aws-ecs-codepipeline.svg"
26+
url: "https://github.com/cloudposse/terraform-aws-ecs-codepipeline/releases"
27+
- name: "Slack Community"
28+
image: "https://slack.cloudposse.com/badge.svg"
29+
url: "https://slack.cloudposse.com"
30+
31+
related:
32+
- name: "terraform-aws-alb"
33+
description: "Terraform module to provision a standard ALB for HTTP/HTTP traffic"
34+
url: "https://github.com/cloudposse/terraform-aws-alb"
35+
- name: "terraform-aws-alb-ingress"
36+
description: "Terraform module to provision an HTTP style ingress rule based on hostname and path for an ALB"
37+
url: "https://github.com/cloudposse/terraform-aws-alb-ingress"
38+
- name: "terraform-aws-codebuild"
39+
description: "Terraform Module to easily leverage AWS CodeBuild for Continuous Integration"
40+
url: "https://github.com/cloudposse/terraform-aws-codebuild"
41+
- name: "terraform-aws-ecr"
42+
description: "Terraform Module to manage Docker Container Registries on AWS ECR"
43+
url: "https://github.com/cloudposse/terraform-aws-ecr"
44+
- name: "terraform-aws-ecs-alb-service-task"
45+
description: "Terraform module which implements an ECS service which exposes a web service via ALB."
46+
url: "https://github.com/cloudposse/terraform-aws-ecs-alb-service-task"
47+
- name: "terraform-aws-ecs-container-definition"
48+
description: "Terraform module to generate well-formed JSON documents that are passed to the aws_ecs_task_definition Terraform resource"
49+
url: "https://github.com/cloudposse/terraform-aws-ecs-container-definition"
50+
- name: "terraform-aws-lb-s3-bucket"
51+
description: "Terraform module to provision an S3 bucket with built in IAM policy to allow AWS Load Balancers to ship access logs."
52+
url: "https://github.com/cloudposse/terraform-aws-lb-s3-bucket"
53+
54+
# Short description of this project
55+
description: |-
56+
Terraform Module for CI/CD with AWS Code Pipeline and Code Build for ECS.
57+
58+
# How to use this project
59+
usage: |-
60+
```hcl
61+
module "ecs_codepipeline" {
62+
source = "git::https://github.com/cloudposse/terraform-aws-ecs-codepipeline.git?ref=tags/0.1.2"
63+
name = "app"
64+
namespace = "eg"
65+
stage = "staging"
66+
github_oauth_token = "xxxxxxxxxxxxxx"
67+
repo_owner = "cloudposse"
68+
repo_name = "example"
69+
branch = "master"
70+
service_name = "example"
71+
ecs_cluster_name = "example-ecs-cluster"
72+
privileged_mode = "true"
73+
}
74+
```
75+
76+
# Example usage
77+
examples: |-
78+
Complete usage can be seen in the [terraform-aws-ecs-web-app](https://github.com/cloudposse/terraform-aws-ecs-web-app/blob/master/main.tf) module.
79+
80+
# How to get started quickly
81+
#quickstart: |-
82+
# Here's how to get started...
83+
84+
# Other files to include in this README from the project folder
85+
include:
86+
- "docs/targets.md"
87+
- "docs/terraform.md"
88+
89+
# Contributors to this project
90+
contributors:
91+
- name: "Erik Osterman"
92+
homepage: "https://github.com/osterman"
93+
avatar: "http://s.gravatar.com/avatar/88c480d4f73b813904e00a5695a454cb?s=144"
94+
github: "osterman"
95+
- name: "Igor Rodionov"
96+
homepage: "https://github.com/goruha"
97+
avatar: "http://s.gravatar.com/avatar/bc70834d32ed4517568a1feb0b9be7e2?s=144"
98+
github: "goruha"
99+
- name: "Andriy Knysh"
100+
homepage: "https://github.com/aknysh"
101+
avatar: "https://avatars0.githubusercontent.com/u/7356997?v=4&u=ed9ce1c9151d552d985bdf5546772e14ef7ab617&s=144"
102+
github: "aknysh"
103+
- name: "Sarkis Varozian"
104+
homepage: "https://github.com/sarkis"
105+
avatar: "https://avatars3.githubusercontent.com/u/42673?s=144&v=4"
106+
github: "sarkis"

docs/targets.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## Makefile Targets
2+
```
3+
Available targets:
4+
5+
help This help screen
6+
help/all Display help for all targets
7+
8+
```

0 commit comments

Comments
 (0)