Skip to content

Commit 898d861

Browse files
committed
Update docs in README.md + CoC
1 parent eed2dfd commit 898d861

File tree

3 files changed

+112
-33
lines changed

3 files changed

+112
-33
lines changed

CODE_OF_CONDUCT.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level of experience,
9+
education, socio-economic status, nationality, personal appearance, race,
10+
religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at
59+
[email protected]. All complaints will be reviewed and
60+
investigated and will result in a response that is deemed necessary and
61+
appropriate to the circumstances. The project team is obligated to maintain
62+
confidentiality with regard to the reporter of an incident. Further details of
63+
specific enforcement policies may be posted separately.
64+
65+
Project maintainers who do not follow or enforce the Code of Conduct in good
66+
faith may face temporary or permanent repercussions as determined by other
67+
members of the project's leadership.
68+
69+
## Attribution
70+
71+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
72+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
73+
74+
[homepage]: https://www.contributor-covenant.org
75+

LICENSE.md renamed to LICENSE

File renamed without changes.

README.md

+37-33
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,27 @@
11
# terraform-config
22

3-
This repository will contain all of our terraform configs as a monolithic repo.
3+
This contains all of the Terraform bits for hosted Travis CI :cloud:.
44

55
This is what allows us to manage our cloud environments from a central place,
66
and change them over time. It should be possible to bring up (or re-create) a
7-
complete environment with the push of a button.
7+
complete environment with a few `make` tasks.
88

99
## Status
1010

11-
In production, with mixed adoption across infrastructures.
11+
In production. Patches welcome. Please review the [code of
12+
conduct](./CODE_OF_CONDUCT.md).
1213

1314
## Infrastructure
1415

15-
Terraform manages pretty much everything that is not running on Heroku. We build
16-
images using Packer and then spin up instances in our cloud environments based
17-
on those images.
18-
19-
We use terraform to manage our main cloud environments as well as some other
20-
services:
16+
Terraform manages pretty much everything that is not running on Heroku, and even
17+
a little bit of some of what is running on Heroku. We use terraform to manage
18+
our main cloud environments as well as some other services:
2119

2220
* Amazon Web Services
2321
* Google Cloud Platform
2422
* Macstadium
25-
* (Hopefully more soon)
23+
* OpenStack
24+
* Packet
2625

2726
## Requirements
2827

@@ -36,37 +35,35 @@ services:
3635
## Set-up
3736

3837
* Clone this repo
39-
* Clone the keychain repositories
40-
* Make sure trvs is installed and added to your $PATH. (You can try
41-
running `trvs generate-config -H travis-scheduler-prod` to check)
42-
* Set all required environment variables (see the list below). This
43-
can be achieved by either:
44-
* Manually sourcing an .env file (like .example.env)
38+
* Make sure `trvs` is installed and added to your `$PATH`. (You can try running
39+
`trvs generate-config -H travis-scheduler-prod` to check)
40+
* Set all required environment variables (see the list below). This can achieved
41+
by doing something like:
42+
* Manually sourcing an `.env` file (like `.example.env`)
4543
* Using [autoenv](https://github.com/kennethreitz/autoenv)
46-
* Fetching them from your own pass vault
44+
* Fetching values from your own pass vault
4745

4846
#### Required environment variables
4947

50-
* TRAVIS_KEYCHAIN_DIR - should to be the parent directory of your keychain
51-
repos
52-
* GITHUB_TOKEN
53-
* GITHUB_USERNAME
54-
* AWS_ACCESS_KEY
55-
* AWS_SECRET_KEY
56-
* AWS_REGION
57-
* HEROKU_API_KEY
58-
* TF_VAR_ssh_user
59-
* SLACK_WEBHOOK (can be retrieved via `trvs generate-config -n -f env terraform-config -p '' terraform_common`)
48+
* `AWS_ACCESS_KEY`
49+
* `AWS_REGION`
50+
* `AWS_SECRET_KEY`
51+
* `GITHUB_TOKEN`
52+
* `GITHUB_USERNAME`
53+
* `HEROKU_API_KEY`
54+
* `SLACK_WEBHOOK` (may be retrieved via `trvs generate-config -n -f env terraform-config -p '' terraform_common`)
55+
* `TF_VAR_ssh_user`
56+
* `TRAVIS_KEYCHAIN_DIR` - should be the parent directory of your keychain repos
6057

6158
#### Notes
6259

6360
MacStadium & GCE access creds are shared and come from keychain, not
6461
personal accounts, so there are no infrastructure-specific access keys
6562
for them.
6663

67-
$TF_VAR_ssh_user isn't needed for AWS and can just be set to $USER, if
68-
your local username and your SSH username are the same. If you have an
69-
SSH key passphrase, consider starting `ssh-agent` and doing `ssh-add`.
64+
`$TF_VAR_ssh_user` isn't needed for AWS and can just be set to `$USER`, if your
65+
local username and your SSH username are the same. If you have an SSH key
66+
passphrase, consider starting `ssh-agent` and doing `ssh-add`.
7067

7168
See http://rabexc.org/posts/using-ssh-agent for more details.
7269

@@ -79,17 +76,20 @@ cd ./gce-staging-1
7976

8077
# terraform plan, which will automatically configure terraform from remote and
8178
# generate config files via `trvs`
82-
make clean plan
79+
make plan
8380

8481
# if it looks OK, terraform apply
8582
make apply
86-
```
8783

84+
# as some configuration is generated and cached locally, changes to
85+
# configuration sources may require cleaning before further plan/apply
86+
make clean
87+
```
8888

8989
## Troubleshooting tips
9090

9191
* Running `make check` will verify a few common setup requirements.
92-
* Verify you have been added to both com and pro Heroku organizations.
92+
* Verify you have been added to the relevant Heroku organizations.
9393
* Try passing the `-d` flag to `make` to see which commands are being
9494
run.
9595
* this will show various curl commands (e.g. heroku) which may be
@@ -100,3 +100,7 @@ run.
100100
* Terraform state errors may be due to insufficient AWS permissions. See the
101101
[`.example-aws-iam-policy.json`](./.example-aws-iam-policy.json) for example
102102
minimum permissions.
103+
104+
## License
105+
106+
See [`./LICENSE`](./LICENSE).

0 commit comments

Comments
 (0)