Skip to content

Commit 9e87d25

Browse files
authored
docs: Initial documentation. (#13)
1 parent 0ebc6fe commit 9e87d25

File tree

16 files changed

+399
-171
lines changed

16 files changed

+399
-171
lines changed

.github/workflows/branch.yml

Lines changed: 0 additions & 111 deletions
This file was deleted.

.github/workflows/docs.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Deploy documentation
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
environment:
7+
description: Environment to deploy to.
8+
default: production
9+
required: true
10+
type: environment
11+
push:
12+
paths:
13+
# Only trigger on changes to documentation files.
14+
- 'docs/**'
15+
- 'mkdocs.yaml'
16+
- '.github/workflows/docs.yaml'
17+
- '*.md'
18+
branches:
19+
- main
20+
21+
permissions:
22+
contents: read
23+
id-token: write
24+
25+
jobs:
26+
deploy:
27+
name: Deploy Documentation to ${{ inputs.environment || 'production' }}
28+
environment: ${{ inputs.environment || 'production'}}
29+
runs-on: ubuntu-latest
30+
steps:
31+
- uses: actions/checkout@v6
32+
- name: Set up AWS credentials
33+
uses: aws-actions/configure-aws-credentials@v5
34+
with:
35+
aws-region: ${{ vars.AWS_REGION || 'us-east-1' }}
36+
role-session-name: github-${{ github.event.repository.name }}-${{ github.run_id }}
37+
role-to-assume: ${{ secrets.AWS_DOCS_ROLE_ARN }}
38+
- uses: actions/setup-python@v6
39+
with:
40+
python-version: 3.x
41+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
42+
- uses: actions/cache@v5
43+
with:
44+
key: mkdocs-material-${{ env.cache_id }}
45+
path: .cache
46+
restore-keys: |
47+
mkdocs-material-
48+
- name: Install python dependencies
49+
run: |
50+
pip install \
51+
mkdocs-material \
52+
markdown-callouts \
53+
mdx_truly_sane_lists \
54+
mkdocs-nav-weight \
55+
pymdown-extensions
56+
- name: Build documentation
57+
run: mkdocs build
58+
- name: Sync documentation to S3
59+
run: aws s3 sync ./site "s3://${{ vars.DOCS_BUCKET || 'docs.dev.services.cfa.codes' }}/${{ vars.DOCS_PREFIX || 'cfa-security-controls' }}"

.github/workflows/main.yaml

Lines changed: 0 additions & 60 deletions
This file was deleted.

.github/workflows/tflint.yaml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: TFLint Checks
2+
3+
on:
4+
push:
5+
pull_request:
6+
branches:
7+
- main
8+
9+
permissions:
10+
contents: read
11+
security-events: write
12+
13+
jobs:
14+
lint:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout source code
18+
uses: actions/checkout@v6
19+
- name: Cache plugin directory
20+
uses: actions/cache@v5
21+
with:
22+
path: ~/.tflint.d/plugins
23+
key: tflint-${{ hashFiles('.tflint.hcl') }}
24+
- name: Setup TFLint
25+
uses: terraform-linters/setup-tflint@v6
26+
- name: Show version
27+
run: tflint --version
28+
- name: Init TFLint
29+
run: tflint --init
30+
- name: Run TFLint
31+
# Run TFLint, outputting the results to a SARIF file. We use `tee` so
32+
# that we can still see the output in the logs, and capture the exit
33+
# code properly with `pipefail`.
34+
run: |
35+
set -o pipefail
36+
tflint --format sarif --recursive \
37+
--config "$GITHUB_WORKSPACE/.tflint.hcl" \
38+
| tee tflint-results.sarif
39+
exit "${PIPESTATUS[0]}"
40+
- name: Parse SARIF file for annotations
41+
if: always()
42+
uses: jontyms/[email protected]
43+
with:
44+
annotation-level: notice
45+
sarif-file: tflint-results.sarif
46+
# When run on main, upload the SARIF file to GitHub.
47+
- name: Upload SARIF result
48+
if: always() && github.ref == 'refs/heads/main'
49+
uses: github/codeql-action/upload-sarif@v4
50+
with:
51+
sarif_file: tflint-results.sarif

.github/workflows/trivy.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Trivy Analysis
2+
3+
on:
4+
push:
5+
6+
permissions:
7+
contents: read
8+
security-events: write
9+
10+
jobs:
11+
trivy:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout source code
15+
uses: actions/checkout@v6
16+
- name: Run Trivy vulnerability scanner
17+
uses: aquasecurity/[email protected]
18+
with:
19+
scan-type: config
20+
ignore-unfixed: true
21+
skip-dirs: "**/*/.terraform"
22+
exit-code: 1
23+
format: sarif
24+
output: trivy-results.sarif
25+
- name: Parse SARIF file for annotations
26+
if: always()
27+
uses: jontyms/[email protected]
28+
with:
29+
annotation-level: notice
30+
sarif-file: trivy-results.sarif
31+
# When run on main, upload the SARIF file to GitHub.
32+
- name: Upload SARIF result
33+
if: always() && github.ref == 'refs/heads/main'
34+
uses: github/codeql-action/upload-sarif@v4
35+
with:
36+
sarif_file: trivy-results.sarif

.trivyignore.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
misconfigurations:
2+
# Ignore Dockerfile healthcheck.
3+
- id: AVD-DS-0026

Dockerfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
FROM squidfunk/mkdocs-material:9.7
2+
3+
# Install additional python dependencies.
4+
RUN pip install markdown-callouts mkdocs-nav-weight
5+
6+
USER guest

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,13 @@
33
This repository contains the configuration and automation for our security
44
controls. These ensure that our organization is secure and meets our compliance
55
requirements.
6+
7+
## Components
8+
9+
The following components are included in this repository:
10+
11+
- [Hyperproof Sync][hyperproof]
12+
- AWS Macie configuration
13+
- AWS Security Hub automations
14+
15+
[hyperproof]: docs/components/hyperproof.md

docker-compose.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
services:
2+
docs:
3+
build: .
4+
ports:
5+
- "8000:8000"
6+
volumes:
7+
- .:/docs

docs/about/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
weight: 100
3+
empty: true
4+
---

0 commit comments

Comments
 (0)