Skip to content

docs: note why there's no rollback mechanism - #123

Merged
ineedjet merged 5 commits into
mainfrom
docs/no-rollback-note
Aug 21, 2026
Merged

docs: note why there's no rollback mechanism#123
ineedjet merged 5 commits into
mainfrom
docs/no-rollback-note

Conversation

@ineedjet

Copy link
Copy Markdown
Collaborator

Summary

Captures a design conclusion from discussion: the releases/{timestamp}/current symlink pattern exists for deploy atomicity (either a deploy fully lands or leaves current untouched), not for rollback. Automated rollback is deliberately out of scope; manual rollback isn't a supported/maintained path since it can't restore that release's rendered config templates (apps-data/{app}/config/ isn't versioned per release) or a floating-tag image's historical version, and fixing forward through the normal deploy path is simpler and safer in practice.

Test plan

  • pre-commit run --files AGENTS.md clean (docs-only change)

Captures a design conclusion from discussion: the releases/current
symlink pattern exists for deploy atomicity, not rollback. Automated
rollback is deliberately out of scope, and manual rollback isn't a
supported path - it can't restore per-release rendered config or a
floating-tag image's historical version, and fixing forward through the
normal deploy path is simpler and safer in practice.
Security Best Practices was generic boilerplate advice not specific to
this project, and contradicted itself with Key Features' backup claim.
Troubleshooting's three subsections all restated the same "cd into the
app folder, docker compose logs" technique in slightly different words;
collapsed into one section that states it once plus a flat list of the
handful of commands that are actually distinct.
Boilerplate with no actual contributors yet - write it when it's needed.
- License section: just "[MIT](LICENSE)" instead of a paraphrase.
- Additional Resources: drop generic Docker/Compose/Traefik doc links,
  keep only the two project-specific ones.
- Automated Deploy / Target Server Requirements: drop the repeated
  "nothing happens on the target host" sentence, said once is enough.
- Drop the stale trailing metadata footer (Last Updated/Supported
  Compose/Status) - redundant with what's already stated precisely
  elsewhere, and not something anyone was keeping in sync.
- Mark every example `@v1.2.3` in the GitHub Actions usage snippets with
  release-please's `x-release-please-version` generic-updater marker, and
  wire README.md into release-please-config.json's extra-files, so the
  example tags stay current automatically instead of going stale.
Inline # x-release-please-version comments would've been copied verbatim
into a reader's own workflow file along with the rest of the example.
Switched to release-please's block-marker form
(x-release-please-start-version/-end) placed in the surrounding markdown,
outside the fenced code blocks, so nothing extra ends up in copied code.

Also swapped the 100.64.0.x IP placeholders for hostnames in the two
examples this touches - a bare three-dot run within a wrapped block reads
close enough to a version number that the generic updater could clip it.
@ineedjet
ineedjet merged commit 9bb5141 into main Aug 21, 2026
3 checks passed
@ineedjet
ineedjet deleted the docs/no-rollback-note branch August 21, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant