Skip to content

Commit 9d02298

Browse files
authored
feat: Nav switchup and some minor updates (#18)
## Summary Rethink my nav setup for cloud providers and some minor updates. ## ✨ Features - Add info about pre-commit and add my hook info [`1b8d7b0`](1b8d7b0) - Migrate tf/tofu to have cloud providers instead of general sections [`ebbf6b3`](ebbf6b3) - Migrate tf/tofu to have cloud providers instead of general sections [`f219eeb`](f219eeb) - Add a description field to pages for a future use [`9f27635`](9f27635) - Add hook for linting actions [`d5859aa`](d5859aa) ## 🐛 Bug Fixes - remove example section now that I know how the blocks work for the most part [`4926d32`](4926d32) - Move terragrunt section to under tf/tofu [`95c40d4`](95c40d4) - Attempt to fix lychee runs [`2c02b01`](2c02b01) ## 📚 Documentation - Update readme [`26da05e`](26da05e) ## 💄 Style - update docs [`ba85cfc`](ba85cfc) ## 🏗️ Operations - Add `CAF` to codespell ignore [`917a648`](917a648) - fix some codespell calls [`c11256f`](c11256f) - Update uv lock [`0f48d5a`](0f48d5a) - Update config [`0f42506`](0f42506) - Expand renovate config [`b1fc3a9`](b1fc3a9) - set pyton minimum to 3.12 [`32d5967`](32d5967) - Add base contribution file [`64b295c`](64b295c) ## 📁 File Changes ### Root (+60/-77 lines) - `.pre-commit-config.yaml` (+5) 📝 - `pyproject.toml` (+2/-2) 📝 - `renovate.json` (+23/-1) 📝 - `uv.lock` (+1/-60) 📝 - `zensical.toml` (+29/-14) 📝 ### .github (+11/-12 lines) - `.github/workflows/ci.yml` (+9/-9) 📝 - `.github/workflows/deploy.yml` (+2/-3) 📝 ### Terragrunt (+5/-5 lines) - `terragrunt/terragrunt.hcl` (+5/-5) 📝 ### Documentation (+4740/-536 lines) - `CONTRIBUTING.md` (+40) ✨ - `README.md` (+10/-1) 📝 - `docs/api/error-responses.md` (+1) 📝 - `docs/api/fastapi-skeleton.md` (+1) 📝 - `docs/api/go-chi-skeleton.md` (+1) 📝 - `docs/api/index.md` (+1) 📝 - `docs/api/openapi.md` (+1) 📝 - `docs/api/pagination.md` (+1) 📝 - `docs/containers/compose-dev.md` (+1) 📝 - `docs/containers/distroless.md` (+1) 📝 - `docs/containers/dockerfile-go.md` (+1) 📝 - `docs/containers/dockerfile-node.md` (+1) 📝 - `docs/containers/dockerfile-python.md` (+1) 📝 - `docs/containers/index.md` (+1) 📝 - `docs/data/airflow-dag.md` (+1) 📝 - `docs/data/alembic-skeleton.md` (+1) 📝 - `docs/data/dbt-skeleton.md` (+1) 📝 - `docs/data/index.md` (+1) 📝 - `docs/data/postgres-conventions.md` (+1) 📝 - `docs/data/postgres-indexes.md` (+1) 📝 - `docs/examples/code-blocks.md` (-358) 🗑️ - `docs/github-actions/container-build.md` (+1) 📝 - `docs/github-actions/index.md` (+1) 📝 - `docs/github-actions/oidc-aws.md` (+1) 📝 - `docs/github-actions/oidc-gcp-azure.md` (+1) 📝 - `docs/github-actions/path-filtered-matrix.md` (+1) 📝 - `docs/github-actions/release.md` (+1) 📝 - `docs/github-actions/reusable-workflows.md` (+1) 📝 - `docs/hygiene/editorconfig.md` (+1) 📝 - `docs/hygiene/gitignore.md` (+1) 📝 - `docs/hygiene/index.md` (+1) 📝 - `docs/hygiene/makefile.md` (+1) 📝 - `docs/hygiene/pre-commit.md` (+175/-8) 📝 - `docs/index.md` (+2/-9) 📝 - `docs/kubernetes/deployment-baseline.md` (+1) 📝 - `docs/kubernetes/helm-skeleton.md` (+1) 📝 - `docs/kubernetes/index.md` (+1) 📝 - `docs/kubernetes/probes.md` (+1) 📝 - `docs/kubernetes/rbac.md` (+1) 📝 - `docs/kubernetes/scaling.md` (+1) 📝 - `docs/observability/index.md` (+1) 📝 - `docs/observability/opentelemetry.md` (+1) 📝 - `docs/observability/prometheus.md` (+1) 📝 - `docs/observability/structured-logging.md` (+1) 📝 - `docs/terraform/aws/backends.md` (+248) ✨ - `docs/terraform/aws/iam-policies.md` (+365) ✨ - `docs/terraform/aws/index.md` (+44) ✨ - `docs/terraform/aws/module-skeleton.md` (+312) ✨ - `docs/terraform/aws/providers.md` (+296) ✨ - `docs/terraform/aws/variables.md` (+11/-17) ↻ - `docs/terraform/azure/backends.md` (+190) ✨ - `docs/terraform/azure/iam-policies.md` (+233) ✨ - `docs/terraform/azure/index.md` (+44) ✨ - `docs/terraform/azure/module-skeleton.md` (+349) ✨ - `docs/terraform/azure/providers.md` (+247) ✨ - `docs/terraform/azure/variables.md` (+325) ✨ - `docs/terraform/backends.md` (-19) 🗑️ - `docs/terraform/gcp/backends.md` (+226) ✨ - `docs/terraform/gcp/iam-policies.md` (+233) ✨ - `docs/terraform/gcp/index.md` (+44) ✨ - `docs/terraform/gcp/module-skeleton.md` (+254) ✨ - `docs/terraform/gcp/providers.md` (+222) ✨ - `docs/terraform/gcp/variables.md` (+318) ✨ - `docs/terraform/iam-policies.md` (-19) 🗑️ - `docs/terraform/index.md` (+9/-15) 📝 - `docs/terraform/module-skeleton.md` (-19) 🗑️ - `docs/terraform/providers.md` (-18) 🗑️ - `docs/terraform/terragrunt/index.md` (+88) ✨ - `docs/terraform/terragrunt/root-config.md` (+216) ✨ - `docs/terraform/terragrunt/stacks.md` (+200) ✨ - `docs/terragrunt/index.md` (-17) 🗑️ - `docs/terragrunt/root-config.md` (-18) 🗑️ - `docs/terragrunt/stacks.md` (-18) 🗑️ --- **Changes:** 81 files, +4816 insertions, -630 deletions **Commits:** 17 **Branch:** `feat/ci-and-nav` **Base:** `origin/main`
1 parent c33bf73 commit 9d02298

81 files changed

Lines changed: 4816 additions & 630 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@ jobs:
1616
with:
1717
fetch-depth: 0
1818

19-
# - name: Install lychee
20-
# run: |
21-
# curl -sSf '<https://sh.rustup.rs>' | sh
22-
# apt install gcc pkg-config libc6-dev libssl-dev
23-
2419
- uses: astral-sh/setup-uv@v8.1.0
2520
with:
2621
enable-cache: true
@@ -32,8 +27,13 @@ jobs:
3227
- name: Install dependencies
3328
run: uv sync --frozen
3429

35-
# - name: Run pre-commit
36-
# run: uv run pre-commit run --all-files --show-diff-on-failure
30+
- name: Install lychee
31+
uses: taiki-e/install-action@v2
32+
with:
33+
tool: lychee
34+
35+
- name: Run pre-commit
36+
run: uv run pre-commit run --all-files --show-diff-on-failure
3737

38-
- name: Build site
39-
run: uv run zensical build
38+
- name: Build site (strict)
39+
run: uv run zensical build --strict

.github/workflows/deploy.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,8 @@ jobs:
3939
- name: Install dependencies
4040
run: uv sync --frozen --no-dev
4141

42-
- name: Build site
43-
# See ci.yml for why --strict is disabled.
44-
run: uv run zensical build
42+
- name: Build site (strict)
43+
run: uv run zensical build --strict
4544

4645
- uses: actions/configure-pages@v6
4746

.pre-commit-config.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ repos:
3131
stages: [commit-msg]
3232
args: [ops]
3333

34+
- repo: https://github.com/rhysd/actionlint
35+
rev: v1.7.12
36+
hooks:
37+
- id: actionlint
38+
3439
- repo: local
3540
hooks:
3641
- id: zensical-build

CONTRIBUTING.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Contributing
2+
3+
This is primarily a personal stash of boilerplate I keep rewriting, published
4+
in the small chance someone else finds it useful.
5+
6+
PRs are welcome but not actively solicited. If you spot a bug or want to add a
7+
snippet, feel free to open an issue or PR just keep in mind I'll prioritize
8+
based on whether I'd use it myself.
9+
10+
## Local setup
11+
12+
See [README.md](README.md) it covers `uv`, `make install`, and the local
13+
dev loop.
14+
15+
## Conventions
16+
17+
- **Conventional Commits** for commit messages (enforced via `pre-commit` on
18+
the `commit-msg` hook). Allowed types are configured in
19+
[`.pre-commit-config.yaml`](.pre-commit-config.yaml).
20+
- **Run `make pre-commit`** before pushing. CI runs the same hooks plus a
21+
strict Zensical build.
22+
- **Snippets should be self-contained** copy a single block and it works.
23+
Cite the upstream docs at the bottom of every page.
24+
- **Validate variables**. New Terraform variable blocks should follow the
25+
pattern in [`docs/terraform/aws/variables.md`](docs/terraform/aws/variables.md):
26+
type, description, sensible default (or `nullable = true`), and a
27+
`validation` block with a complete-sentence `error_message`.
28+
29+
## Reporting issues
30+
31+
Open a GitHub issue with:
32+
33+
- The page URL or path
34+
- What's wrong (typo, broken link, outdated example, missing context)
35+
- Optionally a suggested fix
36+
37+
## License
38+
39+
By contributing you agree your changes will be released under the project's
40+
[GPL-3.0 license](LICENSE).

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ useful:
2323
| `lychee.toml` | [lychee](https://lychee.cli.rs/) link-checker config (used by pre-commit and CI). |
2424
| `.editorconfig` | Whitespace defaults across editors. |
2525
| `Makefile` | Convenience targets — run `make help`. |
26-
| `terragrunt/` | Working Terragrunt example referenced by the docs *(WIP — being modernized)*. |
26+
| `terragrunt/` | Legacy Terragrunt example. Modern patterns live in [`docs/terraform/terragrunt/`](docs/terraform/terragrunt/). |
2727
| `.github/workflows/` | `ci.yml` (PR checks), `deploy.yml` (Pages deploy on push to `main`), `links.yml` (lychee on PR + weekly cron). |
2828

2929
## Local development
@@ -79,3 +79,12 @@ This site originally ran on [Material for MkDocs](https://squidfunk.github.io/mk
7979
it now runs on [Zensical](https://zensical.org/), the team's new SSG. Zensical
8080
is currently alpha, so the dependency is pinned to an exact version
8181
(see [`pyproject.toml`](pyproject.toml)) and bumped deliberately.
82+
83+
## Contributing
84+
85+
This is primarily a personal stash, but PRs and issues are welcome. See
86+
[CONTRIBUTING.md](CONTRIBUTING.md) for the local setup and conventions.
87+
88+
## License
89+
90+
Released under the [GPL-3.0 license](LICENSE).

docs/api/error-responses.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: RFC 7807 problem+json
3+
description: RFC 7807 problem-detail error responses for HTTP APIs.
34
status: stub
45
tags:
56
- api

docs/api/fastapi-skeleton.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: FastAPI service skeleton
3+
description: Opinionated FastAPI project layout with settings, routers, and dependencies.
34
status: stub
45
tags:
56
- api

docs/api/go-chi-skeleton.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Go chi service skeleton
3+
description: Minimal Go service skeleton built on chi with structured logging and graceful shutdown.
34
status: stub
45
tags:
56
- api

docs/api/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: API / Backend
3+
description: Service skeletons, error responses, pagination, and OpenAPI starters.
34
status: stub
45
tags:
56
- api

docs/api/openapi.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: OpenAPI starter + lint
3+
description: OpenAPI 3 starter spec plus linting with spectral or vacuum.
34
status: stub
45
tags:
56
- api

0 commit comments

Comments
 (0)