feat: publish Tend v0.2 preview source
Publish the reviewed allowlisted snapshot whose exact binary completed maintenance deployment, rollback, and reactivation exercises for Gamertan and Sandwich Hime. Private-Source-Commit: 4d7094c8b7c61991bfb67b11fc1558724c874eb2 Private-Source-Tree: 54a2f74804f7acddf3755d7d4da5b97f5fc28381 AI-Assistance: OpenAI Codex assisted implementation, testing, security review, and release verification. Signed-off-by: Cole Speelman <crspeelman@gmail.com>
This commit is contained in:
+17
-6
@@ -3,17 +3,28 @@
|
||||
This subtree is licensed 0BSD so an operator can copy and adapt it without
|
||||
bringing the Tend program's AGPL license into an application configuration.
|
||||
|
||||
The blue/green example expects separately reviewed environment files:
|
||||
The blue/green example expects one separately reviewed environment file that
|
||||
the two installed slots and transient validation use consistently:
|
||||
|
||||
```text
|
||||
# /etc/example-site/blue.env
|
||||
EXAMPLE_LISTEN=127.0.0.1:8090
|
||||
|
||||
# /etc/example-site/green.env
|
||||
EXAMPLE_LISTEN=127.0.0.1:8091
|
||||
# /etc/tend/environment/example-site.env
|
||||
APP_SECRET=replace-on-server
|
||||
```
|
||||
|
||||
The blue/green systemd slot units then read the nonsecret listen address from
|
||||
`/etc/tend/slots/example-site-blue.env` or `-green.env`; Tend overrides only
|
||||
the isolated candidate address. Secret values never enter `tend.json`.
|
||||
|
||||
The singleton example follows the same split: its shared root-only environment
|
||||
file omits the configured listen key, the installed unit owns the live address,
|
||||
and Tend supplies only the transient candidate address. This prevents a shared
|
||||
environment file from overriding the isolated candidate port.
|
||||
|
||||
Production configuration belongs outside the source checkout, owned by root,
|
||||
and not group- or world-writable. The Caddy handler template is an entire
|
||||
imported handler fragment; the enclosing site, matchers, and routing precedence
|
||||
remain operator-owned.
|
||||
|
||||
`server/` demonstrates the schema-2 receive policy, forced OpenSSH command,
|
||||
restricted sudo entry, two independent service configurations, and secret-file
|
||||
placement. The values are placeholders, not an installation script.
|
||||
|
||||
Reference in New Issue
Block a user