deploy: whole-flow as plain text, restore v2 diagram shape; admonition variety
- 'The whole flow' is now plain prose, not an abstract box. - Restore the v2 diagram shape (git -> staging via develop-if-gitflow AND git -> deployment, converging on docker) instead of the linear main-only one, keeping the simplified 'libs (rethink-public, pip)' wording. - Spread admonition types for variety across pages: index agent-callout tip -> example; environments uv.lock note -> info; standards logging note -> info. (deploy already mixes success/danger/example/warning/tip.) Verified in-browser: whole-flow reads as text, diagram renders in the v2 shape; mkdocs build --strict clean. Signed-off-by: disqualifier <dev@disqualifier.me>
This commit is contained in:
+10
-10
@@ -9,11 +9,10 @@
|
|||||||
|
|
||||||
## Preparing for Deploy
|
## Preparing for Deploy
|
||||||
|
|
||||||
!!! abstract "The whole flow"
|
You build and test locally — leaning on our libraries, AI, and this handbook — then
|
||||||
You build and test locally — leaning on our libraries, AI, and this handbook —
|
push to git. From there the ops tooling takes over: staging (if you run gitflow), then
|
||||||
then push a branch and merge to `main`. From there the ops tooling takes over: it
|
it builds the Docker image and runs it on the fleet. **You don't run any deploy
|
||||||
builds the Docker image and runs it on the fleet. **You don't run any deploy
|
commands** — your only job is the three pieces in the tabs below.
|
||||||
commands** — your only job is the three pieces in the tabs below.
|
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
flowchart LR
|
||||||
@@ -29,14 +28,15 @@ flowchart LR
|
|||||||
docs --- local
|
docs --- local
|
||||||
end
|
end
|
||||||
|
|
||||||
build -->|branch| git["git<br/>(Gitea)"]
|
build -->|push| git["git<br/>(Gitea)"]
|
||||||
git --> main["main"]
|
git -.->|develop, if gitflow| stage["staging"]
|
||||||
main --> deploy["deployment<br/>(ops tooling)"]
|
git --> deploy["deployment<br/>(ops tooling)"]
|
||||||
deploy --> docker["docker<br/>(image built + run on the fleet)"]
|
stage --> deploy
|
||||||
|
deploy --> docker["docker<br/>(built + run<br/>on the fleet)"]
|
||||||
|
|
||||||
classDef ship fill:#061541,stroke:#569bcc,color:#eef1f6;
|
classDef ship fill:#061541,stroke:#569bcc,color:#eef1f6;
|
||||||
classDef work fill:#0e1530,stroke:#294274,color:#eef1f6;
|
classDef work fill:#0e1530,stroke:#294274,color:#eef1f6;
|
||||||
class git,main,deploy,docker ship;
|
class git,stage,deploy,docker ship;
|
||||||
class local,libs,ai,docs work;
|
class local,libs,ai,docs work;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ uv sync # create/refresh .venv from pyproject.toml + uv.lock
|
|||||||
uv run python -m yourapp # run inside the managed env, no manual activate
|
uv run python -m yourapp # run inside the managed env, no manual activate
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! note "`uv.lock` is local-only — never committed"
|
!!! info "`uv.lock` is local-only — never committed"
|
||||||
`uv sync` writes a `uv.lock` for your machine's resolved environment. It is
|
`uv sync` writes a `uv.lock` for your machine's resolved environment. It is
|
||||||
**gitignored**, not committed — we don't ship a lockfile. Pinning happens in
|
**gitignored**, not committed — we don't ship a lockfile. Pinning happens in
|
||||||
`pyproject.toml` (below), not the lock.
|
`pyproject.toml` (below), not the lock.
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ infrastructure specifics (hostnames, internal IPs, exact topology, secrets) stay
|
|||||||
out of it; examples use placeholders like `<workspace>`, `<project>`, and
|
out of it; examples use placeholders like `<workspace>`, `<project>`, and
|
||||||
`/srv/...`.
|
`/srv/...`.
|
||||||
|
|
||||||
!!! tip "Point your coding agent here"
|
!!! example "Point your coding agent here"
|
||||||
Want your agent aware of our libraries, standards, and deploy rules before it
|
Want your agent aware of our libraries, standards, and deploy rules before it
|
||||||
writes a line? Tell it to read this handbook — so it reaches for an existing
|
writes a line? Tell it to read this handbook — so it reaches for an existing
|
||||||
`rethink-public` lib instead of reinventing it, follows our conventions, and
|
`rethink-public` lib instead of reinventing it, follows our conventions, and
|
||||||
|
|||||||
+1
-1
@@ -125,7 +125,7 @@ TimeoutError: request timed out after 30s
|
|||||||
2026-06-29 14:03:11,204 WARNING aioweb.session fetch timed out: https://example.test/feed
|
2026-06-29 14:03:11,204 WARNING aioweb.session fetch timed out: https://example.test/feed
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! note "Logging belongs to the app, not the library"
|
!!! info "Logging belongs to the app, not the library"
|
||||||
Libraries **emit only** — `log = logging.getLogger(__name__)` and nothing
|
Libraries **emit only** — `log = logging.getLogger(__name__)` and nothing
|
||||||
else. Handlers, levels, and formatting are configured once at the
|
else. Handlers, levels, and formatting are configured once at the
|
||||||
application entry point, so a lib never dictates how its host logs.
|
application entry point, so a lib never dictates how its host logs.
|
||||||
|
|||||||
Reference in New Issue
Block a user