Skip to content

Commit a6fe340

Browse files
committed
Merge branch 'main' into 89-add-new-iam-user-here
2 parents 8101ebc + d310246 commit a6fe340

File tree

10 files changed

+153
-57
lines changed

10 files changed

+153
-57
lines changed

.github/ISSUE_TEMPLATE/blank-issue-template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Blank Issue Template
33
about: 'Standard HackforLA issue template '
44
title: ''
5-
labels: 'Complexity: Missing, Feature Missing, role missing, size: missing'
5+
labels: 'size: missing'
66
assignees: ''
77

88
---
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Decision Record
3+
about: Research, Recommend, Write Decision Record, Get Sign Off, and Create Implementation
4+
Issue
5+
title: 'DR: [NAME OF DECISION RECORD]'
6+
labels: 'complexity: missing, feature: missing, missing: milestone, role: missing,
7+
size: missing'
8+
assignees: ''
9+
10+
---
11+
12+
### Overview
13+
We need to document what our [NAME OF DECISION RECORD] requirements are, so that we can [WHY IT NEEDS TO BE DONE, OR WHAT WORK IT ENABLES TO BE DONE]
14+
15+
### Action Items
16+
- [ ] Research current best practices
17+
- [ ] Write up a Recommendation
18+
- [ ] Get approval on recommendation
19+
- [ ] Write Decision record
20+
- [ ] Get approval
21+
- [ ] Add Decision Record to wiki in the appropriate places
22+
- [ ] List under "Link to all the decision records" (resource 1.01)
23+
- [ ] List under "Records" (resource 1.02)
24+
- [ ] Create an issue to write code and implement policy
25+
26+
### Resources/Instructions
27+
- 1.01 https://github.com/hackforla/ops/wiki/Decision-Records
28+
- 1.02 https://github.com/hackforla/ops/wiki/Decision-Records-on-Solutions-Adopted
29+
30+
Template for decision record
31+
```
32+
This is a record in the [Decision Records on Solutions Adopted](https://github.com/hackforla/website/wiki/Decision-Records-on-Solutions-Adopted).
33+
34+
#### Issue
35+
#### Problem Statement
36+
#### Potential Solution
37+
#### Feasibility Determination
38+
```

.github/ISSUE_TEMPLATE/pre-work-template-devops-security.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
name: Pre-work Template - DevOps-Security
33
about: Newly onboarded team members should start by making this issue for themselves
44
title: 'Pre-work Checklist: DevOps-Security-Member: [replace brackets with your name]'
5-
labels: 'Complexity: Prework, Feature: Onboarding/Contributing.md, role missing, size:
6-
1pt'
5+
labels: 'Complexity: Prework, Feature: Onboarding/Contributing.md, size: 1pt'
76
assignees: ''
87

98
---
@@ -22,6 +21,8 @@ As a new member on the HfLA devops-security team, fill in the following fields a
2221

2322
- [ ] Before starting to work on the below instructions, make sure to join the #ops Slack Channel. And are a member of `devops-security` repository.
2423
- [ ] Self-assign this issue (gear in right side panel).
24+
- [ ] Select a role label (gear in label section on the right). They begin with "role:". This should be what you want to do in the DevOps CoP
25+
- [ ] Change the issue status to 'in progress' (right side panel).
2526
- [ ] Add this issue to the Project Board CoP: DevOps: Project Board - under the Projects section (gear in right side panel).
2627
- [ ] Attend weekly team meeting, Wednesdays 6-8pm PST.
2728
- [ ] Note: There are no meetings on the 1st Wednesday of every month.
@@ -41,7 +42,7 @@ As a new member on the HfLA devops-security team, fill in the following fields a
4142
- [ ] Install Terraform locally by following the instructions of the installation guide mentioned in [Installing Terraform](https://github.com/hackforla/devops-security/blob/main/CONTRIBUTING.md#installing-terraform)
4243
- [ ] Install Terraform Docs locally by following the instructions of the installation guide mentioned in [Installing Terraform docs](https://github.com/hackforla/devops-security/blob/main/CONTRIBUTING.md#installing-terraform-docs)
4344
- [ ] Complete the instructions in [Clone the repository](https://github.com/hackforla/devops-security/blob/main/CONTRIBUTING.md#clone-the-repository)
44-
- [ ] Submit a [new request](https://github.com/hackforla/devops-security/issues/new?assignees=&labels=enhancement&projects=&template=request-aws-iam-resources.yml) to create new AWS user account and then self-assign this issue.
45+
- [ ] Submit a [new request](https://github.com/hackforla/devops-security/issues/new?assignees=&projects=&template=request-aws-iam-resources.yml) to create new AWS user account and then self-assign this issue.
4546
- [ ] Create a new branch from main by executing the command
4647

4748
```bash
@@ -53,14 +54,14 @@ As a new member on the HfLA devops-security team, fill in the following fields a
5354
```bash
5455
# Replace USERNAME with your GitHub handle
5556
module "iam_user_USERNAME" {
56-
source = "./modules/aws-users"
57+
source = "./modules/aws-users"
5758
58-
user_name = "USERNAME" # Replace with GitHub handle
59-
user_tags = {
60-
"Project" = "devops-security"
61-
"Access Level" = "1"
62-
}
63-
user_groups = ["read-only-group"]
59+
user_name = "USERNAME" # Replace with GitHub handle
60+
user_tags = {
61+
"Project" = "devops-security"
62+
"Access Level" = "1"
63+
}
64+
user_groups = ["read-only-group"]
6465
}
6566
6667
```

.github/ISSUE_TEMPLATE/request-aws-iam-resources.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: 'Request AWS IAM user or service account'
22
description: 'Issue for requesting IAM accounts'
3-
labels: ['enhancement']
3+
labels: ['feature: AWS user request','size: 1pt','role: missing']
44

55
body:
66
- type: input

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
# Ignore local development variable file
88
backend.tfvars
9+
terraform.tfstate
910

1011
# Ignore override files
1112
*.tfoverride
@@ -18,4 +19,7 @@ backend.tfvars
1819
terraform.rc
1920

2021
# Ignore metadata files
21-
*.tfstate.lock.info
22+
*.tfstate.lock.info
23+
24+
# Ignore lock file
25+
*.terraform.lock.hcl

CONTRIBUTING.md

Lines changed: 31 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,18 @@ Below are guidelines for contributing to the devops-security repository hosted o
88
**The team recommends using [VS Code](https://code.visualstudio.com/download) as the preferred text editor for working on code, but feel free to utilize a text editor of your preference.**
99

1010
**If you have any additional questions about your contribution process, please feel free to reach out to the team in the [#ops](https://hackforla.slack.com/archives/CV7QGL66B) Slack channel.**
11-
<br><br>
12-
13-
## **Table of Contents**
14-
- [**How to Contribute to DevOps**](#how-to-contribute-to-devops)
15-
- [**Table of Contents**](#table-of-contents)
16-
- [**Setting up the local development environment**](#setting-up-the-local-development-environment)
17-
- [**Creating a personal AWS account**](#creating-a-personal-aws-account)
18-
- [**Login as root user & setup MFA**](#login-as-root-user-&-setup-mfa)
19-
- [**Setting up IAM and AWS CLI**](#setting-up-iam-and-aws-cli)
20-
- [**Create an IAM User**](#create-an-iam-user)
21-
- [**Create an IAM Group**](#create-an-iam-group)
22-
- [**Attach IAM user to IAM group**](#attach-iam-user-to-iam-group)
23-
- [**Attach `AdministratorAccess` policy to IAM group**](#attach-administratoraccess-policy-to-iam-group)
24-
- [**Generating Access Keys for AWS CLI**](#generating-access-keys-for-aws-cli)
25-
- [**Installing Terraform**](#installing-terraform)
26-
- [**Creating Backend State**](#creating-backend-state)
27-
- [**Installing Terraform docs**](#installing-terraform-docs)
28-
- [**Clone (Create) a copy on your computer**](#clone-create-a-copy-on-your-computer)
29-
- [**Create a new branch where you will work on your issue**](#create-a-new-branch-where-you-will-work-on-your-issue)
30-
- [**Creating Local tfvars file**](#creating-local-tfvars-file)
31-
- [**Terraform Setup and Execution Instructions**](#terraform-setup-and-execution-instructions)
32-
- [**Submitting changes via git and opening a PR**](#submitting-changes-via-git-and-opening-a-pr)
11+
12+
### Overview
13+
14+
- [Setting up the local development environment](#setting-up-the-local-development-environment)
15+
- AWS identity and access management
16+
- AWS CLI
17+
- Terraform
18+
- [Submitting changes via git and opening a PR](#submitting-changes-via-git-and-opening-a-pr)
19+
20+
### Table of Contents
21+
22+
A generated table of contents is available on GitHub by [opening the outline icon](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#headings) at the top of the markdown preview window.
3323

3424
## **Setting up the local development environment**
3525
The below instructions will walk you through setting up your own AWS account for local development and testing before pushing changes that will effect our infrastructure.
@@ -44,7 +34,7 @@ If you've already completed these steps or you aren't making Terraform changes,
4434
- Agree to the AWS Customer Agreement and Service Terms, complete the registration by clicking `"Create Account and Continue"`, verify your phone number via text or call, confirm your email address following the instructions in the confirmation email, and finally sign in to access your new AWS account using your email and password.
4535
- Follow this [video guide](https://youtu.be/CjKhQoYeR4Q?si=78GhlDLV5zZu8qwh) for deeper explanations.
4636

47-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
37+
<sub>[Back to Top](#)</sub>
4838
***
4939

5040
### **Login as root user & setup MFA**
@@ -57,7 +47,7 @@ If you've already completed these steps or you aren't making Terraform changes,
5747

5848
**Note:** Select the `us-west-2` region. It's not required for managing IAM resources, as they are global. However, it's advisable since our other resources are in the same region.
5949

60-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
50+
<sub>[Back to Top](#)</sub>
6151
***
6252

6353
## **Setting up IAM and AWS CLI**
@@ -86,7 +76,7 @@ If you've already completed these steps or you aren't making Terraform changes,
8676
```
8777
**Note:** Password length must be 20 characters
8878

89-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
79+
<sub>[Back to Top](#)</sub>
9080
***
9181
- ### **Create an IAM Group**
9282

@@ -95,7 +85,7 @@ If you've already completed these steps or you aren't making Terraform changes,
9585
```bash
9686
aws iam create-group --group-name AdminGroup
9787
```
98-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
88+
<sub>[Back to Top](#)</sub>
9989
***
10090
- ### **Attach IAM user to IAM group**
10191

@@ -109,7 +99,7 @@ If you've already completed these steps or you aren't making Terraform changes,
10999
```bash
110100
aws iam add-user-to-group --group-name AdminGroup --user-name octocat
111101
```
112-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
102+
<sub>[Back to Top](#)</sub>
113103
***
114104
- ### **Attach `AdministratorAccess` policy to IAM group**
115105

@@ -118,7 +108,7 @@ If you've already completed these steps or you aren't making Terraform changes,
118108
```bash
119109
aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/AdministratorAccess --group-name AdminGroup
120110
```
121-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
111+
<sub>[Back to Top](#)</sub>
122112
***
123113
- Log in as the newly created user instead of continuing to log in as the root user.
124114
- ### **Generating Access Keys for AWS CLI**
@@ -133,13 +123,13 @@ If you've already completed these steps or you aren't making Terraform changes,
133123
```bash
134124
nano access_key.json
135125
```
136-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
126+
<sub>[Back to Top](#)</sub>
137127
***
138128
The below steps must be completed in order to authenticate to AWS locally via the command line interface (CLI):
139129
- [Install AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
140-
- [Set up the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)
130+
- [Set up the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-authentication-user.html)
141131
142-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
132+
<sub>[Back to Top](#)</sub>
143133
***
144134
145135
### **Creating Backend State**
@@ -189,21 +179,21 @@ aws dynamodb create-table \
189179
--billing-mode PAY_PER_REQUEST
190180
```
191181

192-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
182+
<sub>[Back to Top](#)</sub>
193183
***
194184

195185
### **Installing Terraform**
196186

197187
Use the [Official HashiCorp install instructions](https://developer.hashicorp.com/terraform/install) for installing terraform.
198188

199-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
189+
<sub>[Back to Top](#)</sub>
200190
***
201191

202192
### **Installing Terraform docs**
203193

204194
Follow the Terraform docs [installation guide](https://terraform-docs.io/user-guide/installation/)
205195

206-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
196+
<sub>[Back to Top](#)</sub>
207197
***
208198

209199
## **Clone the repository**
@@ -230,7 +220,7 @@ You should now have a new folder in your `hackforla` folder called `devops-secur
230220
cd devops-security
231221
```
232222

233-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
223+
<sub>[Back to Top](#)</sub>
234224
***
235225

236226
### **Create a new branch where you will work on your issue**
@@ -256,7 +246,7 @@ git checkout -b update-contributing-guide-15
256246

257247
When you've finished working on your issue, follow the steps below to prepare your changes to push to your repository.
258248
259-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
249+
<sub>[Back to Top](#)</sub>
260250
***
261251
262252
### **Creating Local tfvars file**
@@ -266,14 +256,14 @@ After creating a backend state, create a `backend.tfvars` file in the `terraform
266256
```terraform
267257
bucket = "USERNAME-hfla-ops-terraform-state"
268258
key = "devops-security/terraform.tfstate"
269-
region = "us-east-2"
259+
region = "us-west-2"
270260
dynamodb_table = "hfla_ops_terraform_table"
271261
encrypt = true
272262
```
273263
274264
Remember to match these values to the ones in your backend state (and replace USERNAME with your username)
275265
276-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
266+
<sub>[Back to Top](#)</sub>
277267
***
278268
279269
### **Terraform Setup and Execution Instructions**
@@ -307,7 +297,7 @@ terraform apply
307297
terraform destroy
308298
```
309299
310-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
300+
<sub>[Back to Top](#)</sub>
311301
***
312302
313303
### Generate Terraform Docs
@@ -321,7 +311,7 @@ cd terraform # or other directory
321311
terraform-docs -c .terraform.docs.yml .
322312
```
323313
324-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
314+
<sub>[Back to Top](#)</sub>
325315
***
326316
327317
### **Submitting changes via git and opening a PR**
@@ -346,5 +336,5 @@ git add terraform/aws-users.tf
346336
```
347337
- Lastly open a PR to merge your changes into the `main` branch.
348338
349-
<sub>[Back to Table of Contents](#table-of-contents)</sub>
339+
<sub>[Back to Top](#)</sub>
350340
***

terraform/.terraform.lock.hcl

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

terraform/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,28 @@ Resources created by this code repository.
1111
| <a name="module_iam_oidc_gha_incubator"></a> [iam\_oidc\_gha\_incubator](#module\_iam\_oidc\_gha\_incubator) | ./modules/aws-gha-oidc-providers | n/a |
1212
| <a name="module_iam_read_only_group"></a> [iam\_read\_only\_group](#module\_iam\_read\_only\_group) | ./modules/aws-groups | n/a |
1313
| <a name="module_iam_services_supervisor_group"></a> [iam\_services\_supervisor\_group](#module\_iam\_services\_supervisor\_group) | ./modules/aws-groups | n/a |
14+
| <a name="module_iam_user_Bwoltz"></a> [iam\_user\_Bwoltz](#module\_iam\_user\_Bwoltz) | ./modules/aws-users | n/a |
1415
| <a name="module_iam_user_JimmyJuarez10"></a> [iam\_user\_JimmyJuarez10](#module\_iam\_user\_JimmyJuarez10) | ./modules/aws-users | n/a |
1516
| <a name="module_iam_user_abbyz123"></a> [iam\_user\_abbyz123](#module\_iam\_user\_abbyz123) | ./modules/aws-users | n/a |
1617
| <a name="module_iam_user_alexe"></a> [iam\_user\_alexe](#module\_iam\_user\_alexe) | ./modules/aws-users | n/a |
1718
| <a name="module_iam_user_awlFCCamp"></a> [iam\_user\_awlFCCamp](#module\_iam\_user\_awlFCCamp) | ./modules/aws-users | n/a |
19+
| <a name="module_iam_user_bltomlin"></a> [iam\_user\_bltomlin](#module\_iam\_user\_bltomlin) | ./modules/aws-users | n/a |
1820
| <a name="module_iam_user_brittanyms"></a> [iam\_user\_brittanyms](#module\_iam\_user\_brittanyms) | ./modules/aws-users | n/a |
1921
| <a name="module_iam_user_chelseyb"></a> [iam\_user\_chelseyb](#module\_iam\_user\_chelseyb) | ./modules/aws-users | n/a |
2022
| <a name="module_iam_user_drakeredwind01"></a> [iam\_user\_drakeredwind01](#module\_iam\_user\_drakeredwind01) | ./modules/aws-users | n/a |
2123
| <a name="module_iam_user_freaky4wrld"></a> [iam\_user\_freaky4wrld](#module\_iam\_user\_freaky4wrld) | ./modules/aws-users | n/a |
2224
| <a name="module_iam_user_herehfla"></a> [iam\_user\_herehfla](#module\_iam\_user\_herehfla) | ./modules/aws-users | n/a |
25+
| <a name="module_iam_user_gmgonzal"></a> [iam\_user\_gmgonzal](#module\_iam\_user\_gmgonzal) | ./modules/aws-users | n/a |
2326
| <a name="module_iam_user_jbubar"></a> [iam\_user\_jbubar](#module\_iam\_user\_jbubar) | ./modules/aws-users | n/a |
2427
| <a name="module_iam_user_lsousadev"></a> [iam\_user\_lsousadev](#module\_iam\_user\_lsousadev) | ./modules/aws-users | n/a |
2528
| <a name="module_iam_user_npang4"></a> [iam\_user\_npang4](#module\_iam\_user\_npang4) | ./modules/aws-users | n/a |
29+
| <a name="module_iam_user_raibarra"></a> [iam\_user\_raibarra](#module\_iam\_user\_raibarra) | ./modules/aws-users | n/a |
2630
| <a name="module_iam_user_rsakuma"></a> [iam\_user\_rsakuma](#module\_iam\_user\_rsakuma) | ./modules/aws-users | n/a |
2731
| <a name="module_iam_user_samuelusc"></a> [iam\_user\_samuelusc](#module\_iam\_user\_samuelusc) | ./modules/aws-users | n/a |
2832
| <a name="module_iam_user_shikha0428"></a> [iam\_user\_shikha0428](#module\_iam\_user\_shikha0428) | ./modules/aws-users | n/a |
2933
| <a name="module_iam_user_shinjonathan"></a> [iam\_user\_shinjonathan](#module\_iam\_user\_shinjonathan) | ./modules/aws-users | n/a |
3034
| <a name="module_iam_user_spiteless"></a> [iam\_user\_spiteless](#module\_iam\_user\_spiteless) | ./modules/aws-users | n/a |
35+
| <a name="module_iam_user_srinipandiyan"></a> [iam\_user\_srinipandiyan](#module\_iam\_user\_srinipandiyan) | ./modules/aws-users | n/a |
3136
| <a name="module_iam_user_testiamuser"></a> [iam\_user\_testiamuser](#module\_iam\_user\_testiamuser) | ./modules/aws-users | n/a |
3237
| <a name="module_iam_user_tylerthome"></a> [iam\_user\_tylerthome](#module\_iam\_user\_tylerthome) | ./modules/aws-users | n/a |
3338

@@ -51,4 +56,4 @@ Terraform directory structure
5156
To automatically update this documentation, install terraform-docs on your local machine run the following:
5257
`cd <directory of README location to update>`
5358
`terraform-docs -c .terraform.docs.yml .`
54-
<!-- END_TF_DOCS -->
59+
<!-- END_TF_DOCS -->

0 commit comments

Comments
 (0)