Repository navigation
Releases: Paisans-Software/paisans-cli
Release list
v0.3.0-rc.22
The twenty-second pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.22].
What an operator must do
- Every deployment: run
paisans deployment apply. It rewrites each site'shaproxy.cfgso the postgres health check reads Patroni's whole answer, which stops Patroni logging aConnection reset by peertraceback for checks that passed. No data or topology changes. - Nothing to do for the heartbeat change: a push that recovers on retry no longer logs curl's errors.
Everything in [0.3.0-rc.1] to [0.3.0-rc.21] still applies.
🤖 Generated with Claude Code
What's Changed
- Develop is 0.3.0-dev by @josephquigley in #597
- Hold heartbeat curl errors until a push's retries are spent by @josephquigley in #598
- The postgres HAProxy check reads Patroni's whole answer by @josephquigley in #599
- Release 0.3.0-rc.22 by @josephquigley in #600
Full Changelog: v0.3.0-rc.21...v0.3.0-rc.22
v0.3.0-rc.21
The twenty-first pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.21].
What an operator must do
- An apply that stopped on a container restarting: run it again. The health gate now waits on a container Docker has restarted once or twice, and fails it at the third restart or when its five minute wait ends.
- A deployment with a pinned
synapse,wikijsorwritefreely: apply it. Core catalog v0.10.1 gives their postgres a healthcheck, and their services wait for it to answer, onupand onrestart. The apply recreates those stacks once. - Nothing to do for the rest. A finished one shot, such as the beszel hub's
admin, no longer fails doctor or the check after an apply.
Everything in [0.3.0-rc.1] to [0.3.0-rc.20] still applies.
🤖 Generated with Claude Code
What's Changed
- Develop is 0.3.0-dev by @josephquigley in #592
- The health gate waits on a container restarted once or twice by @josephquigley in #593
- Doctor counts a finished one shot as done, not down by @josephquigley in #594
- Release 0.3.0-rc.21 by @josephquigley in #595
Full Changelog: v0.3.0-rc.20...v0.3.0-rc.21
v0.3.0-rc.20
The twentieth pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.20].
What an operator must do
- An
ops-notifierapp: remove itshostname. The blueprint is nowhostname: none: it serves no website, gets no DNS record, certificate or gateway route, and is checked by uptime over the mesh.validaterefuses a hostname on it. Runpaisans dns pruneto remove a record an earlier apply made for it. - A deployment with an
engagementapp: apply it. The digest's read only role is granted"user".application_status,entry_vote.created_atandpost_vote.created_at, and its env carries the welcome settings. Welcoming new members also needs a core catalog whosembinprovides theforumrole (paisans-blueprints #41) and an engagement service release that reads it; until then theforumlink is empty and nothing changes for members. - Catalog authors: blueprint format
paisans.blueprint/v5addshostname: none. Toolkits before this release skip a catalog release using it. - Nothing to do for the rest.
Everything in [0.3.0-rc.1] to [0.3.0-rc.19] still applies.
🤖 Generated with Claude Code
What's Changed
- Develop is 0.3.0-dev by @josephquigley in #588
- feat: the engagement blueprint renders what welcoming newcomers needs by @josephquigley in #585
- feat(blueprints): hostname: none for an app that serves no website by @josephquigley in #589
- Release 0.3.0-rc.20 by @josephquigley in #590
Full Changelog: v0.3.0-rc.19...v0.3.0-rc.20
v0.3.0-rc.19
The nineteenth pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.19].
What an operator must do
- A deployment with a
beszelapp: apply it so the hub picks up thesmtpblock and its sender.validatenow refuses afrom_addressthat is not a bare email address (beszel-smtp-sender), and warns onstarttlswith no username (beszel-starttls-not-enforced). Beszel then emails the addresses each operator adds in its settings; it seeds no alert rules. - Beszel alerts in Matrix are opt-in. To add them:
- Declare an app with
blueprint: ops-notifierand a hostname, pinned to the site thesynapseapp runs on.validaterefuses it anywhere else (colocated-app-elsewhere), and without a homeserver or abeszelapp (ops-notifier-without-homeserver,ops-notifier-without-hub). - Apply. The synapse stack is applied again with an admin client for the notifier, and the hub with a superuser of the notifier's own.
- Its image track comes from the core catalog v0.10.0 (paisans-blueprints), which earlier toolkits skip, staying on v0.9.0.
- Declare an app with
- Catalog authors: blueprint format
paisans.blueprint/v4addscolocate: trueon a consume. Toolkits before this release refuse a v4 blueprint, so a catalog release using it is skipped by them. - Nothing to do for the rest.
Everything in [0.3.0-rc.1] to [0.3.0-rc.18] still applies.
🤖 Generated with Claude Code
What's Changed
- Develop is 0.3.0-dev by @josephquigley in #578
- feat(beszel): send alert email through the deployment's smtp block by @josephquigley in #579
- feat(blueprints): let a consume be colocated with its provider by @josephquigley in #581
- docs: specify ops-notifier, Beszel alerts in Matrix by @josephquigley in #582
- feat: add the ops-notifier blueprint, Beszel alerts in Matrix by @josephquigley in #583
- docs: design for welcoming new members by @josephquigley in #584
- Release 0.3.0-rc.19 by @josephquigley in #586
Full Changelog: v0.3.0-rc.18...v0.3.0-rc.19
v0.3.0-rc.18
The eighteenth pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.18].
What an operator must do
- Nothing for an existing deployment. A site holding
monitormay now run Beszel's hub with no uptime app beside it, Eg: a gateway givenroles: [gateway, monitor]while the first monitor's external web server holds the uptime app alone.validatewarnsmonitor shares a sitethere, as for any shared monitor. - To use it, follow rc.17's steps for adding Beszel, pinning the
beszelapp to that site.
Everything in [0.3.0-rc.1] to [0.3.0-rc.17] still applies.
🤖 Generated with Claude Code
What's Changed
- Develop is 0.3.0-dev by @josephquigley in #574
- feat(validate): let a monitor site run Beszel's hub alone by @josephquigley in #575
- Release 0.3.0-rc.18 by @josephquigley in #576
Full Changelog: v0.3.0-rc.17...v0.3.0-rc.18
v0.3.0-rc.17
The seventeenth pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.17].
What an operator must do
- Server and container stats (Beszel) are opt-in. To add them:
- Declare an app with
blueprint: beszelpinned to the monitor site.paisans createoffers it after a yes to the health page. - Run
paisans site prepareon every site prepared by an earlier release, so the agent finds the deployment user's Docker socket. - Then apply.
- The image tracks come from the core catalog v0.9.0 (paisans-blueprints), which earlier toolkits skip, staying on v0.8.5.
- Declare an app with
paisans prune --site <site>is nowpaisans site prune <site>. It also removes the containers of services a stack no longer declares, keeping etcd, Patroni and Garage.paisans deployment pruneruns it on every site.- Nothing to do for the rest.
deployment applynow lists those containers underleft over, and removes nothing.
🤖 Generated with Claude Code
What's Changed
- Develop is 0.3.0-dev by @josephquigley in #571
- feat: server and container stats with Beszel by @josephquigley in #565
- site prune and deployment prune remove what a site no longer runs by @josephquigley in #567
- Release 0.3.0-rc.17 by @josephquigley in #572
Full Changelog: v0.3.0-rc.16...v0.3.0-rc.17
v0.3.0-rc.16
The sixteenth pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.16].
What an operator must do
- Apply the deployment to pick up the digest's new name and the engagement service 0.2 image the core catalog now tracks (paisans-blueprints v0.8.5). The digest then names the community by
community.name, e.g. "This week on Paisans", and Mbin keeps its own titles. - Nothing to do for the rest. The engagement app's front page and
/d/with no date now redirect to the account app, or the community's domain without one.
🤖 Generated with Claude Code
What's Changed
- develop is 0.3.0-dev by @josephquigley in #564
- feat: send a visitor with no digest to read to the account app by @josephquigley in #566
- Name the community in the digest by community.name by @josephquigley in #568
- Release 0.3.0-rc.16 by @josephquigley in #569
Full Changelog: v0.3.0-rc.15...v0.3.0-rc.16
v0.3.0-rc.15
The fifteenth pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.15].
What an operator must do
- Upgrade every workstation that changes this deployment. Every command that changes a site now refuses one last applied by a newer paisans, so once any operator applies with rc.15, an older paisans is refused on those sites until it upgrades.
site admitandsite evictrefuse a host a newer paisans claimed in the same way. A build ofdevelopstill passes on a host a release candidate set up. - Expect the deployment lease on more commands. With
--execute, these commands now hold the lease and are refused while another command holds it:site add,site prepare,site remove,app remove,gateway move,mesh rekey,prune,storage init,storage add,storage rotate-key,secrets rotate,oidc client createandoperator register. Each takes--break-lease, and--yeswhere it had none. - Engagement app linked to a Matrix homeserver: set
gated: truewhen you deploy paisans-engagement-service#15 or later, so the bot's "Read" links keep working.validatewarns until it is set. - Engagement app with
bot_localpartleft unset: the next apply moves the bot from@digest-botto@community-bot, and the service starts new rooms from the new account. Setbot_localpart: digest-botto keep the old account. The bot's display name is nowbot_display_name,Community Botby default. - Nothing to do for the rest.
deployment applywithout--siteleaves alone a site with nothing to do.site admitsets up relay forwarding only on the relay, andsite evictremoves it.dns pruneremoves a sender DMARC policy that nothing sends mail from any more.
Everything in [0.3.0-rc.1] to [0.3.0-rc.14] still applies.
🤖 Generated with Claude Code
What's Changed
- Develop is 0.3.0-dev by @josephquigley in #551
- fix: a relay dialled on its public_address forwards, and ufw lets it relay the mesh by @josephquigley in #552
- fix: forward only on the relay, so apply stops refusing other dialled sites by @josephquigley in #553
- fix: a build of develop meets requires_toolkit of its own pre-releases by @josephquigley in #554
- feat: name the engagement bot community-bot and let a deployment name it by @josephquigley in #555
- fix: dns prune removes a sender DMARC policy nothing sends mail from by @josephquigley in #557
- feat: deployment apply leaves alone a site with nothing to do by @josephquigley in #556
- feat: gate the engagement app's web digest, leaving unsubscribe open by @josephquigley in #559
- feat: commands that change a site refuse sites a newer paisans last applied by @josephquigley in #558
- feat: every command that changes sites holds the deployment lease by @josephquigley in #560
- fix: run the gate before an app's handles on a gated hostname by @josephquigley in #561
- Release 0.3.0-rc.15 by @josephquigley in #562
Full Changelog: v0.3.0-rc.14...v0.3.0-rc.15
v0.3.0-rc.14
The fourteenth pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.14].
What an operator must do
- Run
validatebefore the next apply. It now refuses an optional link with several providers and no setting, a link sharing a secret with a provider outside the deployment, and an engagementbot_localpartthat is not a Matrix localpart; fix whichever it names. - Run
deployment applyon a deployment with an engagement app and amatrix-homeserver. The engagement app then runs the Digest Bot, synapse's Matrix Authentication Service gets an admin client for it on a mesh-only listener, and the gateway forwards the web digests at/d/*. The synapse side is in core catalog 0.8.3, which requires this release; an older toolkit keeps 0.8.2. - Nothing to do for the rest: the next
deployment applykeepsDOCKER_HOSTin the deployment user's~/.bashrcand links~/deploymentto/srv/paisans/<token>, andsecrets rotatehands a shared secret to its provider before the consumer.
Everything in [0.3.0-rc.1] to [0.3.0-rc.13] still applies.
🤖 Generated with Claude Code
What's Changed
- Develop is 0.3.0-dev by @josephquigley in #547
- feat: keep DOCKER_HOST and ~/deployment in the user's shell by @josephquigley in #548
- Blueprints link optionally and share secrets; the engagement app runs the Digest Bot on Matrix by @josephquigley in #543
- Release 0.3.0-rc.14 by @josephquigley in #549
Full Changelog: v0.3.0-rc.13...v0.3.0-rc.14
v0.3.0-rc.13
The thirteenth pre-release of 0.3.0, published as a GitHub pre-release and not marked latest. See CHANGELOG.md, [0.3.0-rc.13].
What an operator must do
- Upgrade every operator's toolkit on a deployment together.
deployment applyanddeployment publishnow take a lease on every site, but an older build neither takes nor honours it, so a run from one can still overlap a run from this one. - Nothing to apply for the rest:
site ssh <site>is new, anddeployment loganddoctornow say what each site last applied.
Everything in [0.3.0-rc.1] to [0.3.0-rc.12] still applies.
🤖 Generated with Claude Code
What's Changed
- develop is 0.3.0-dev after rc.12 by @josephquigley in #540
- feat: say what each site applied, apart from what is published by @josephquigley in #541
- feat: hold a deployment lease while apply or publish runs by @josephquigley in #542
- feat: add site ssh, a session on a site as its ssh user by @josephquigley in #544
- Release 0.3.0-rc.13 by @josephquigley in #545
Full Changelog: v0.3.0-rc.12...v0.3.0-rc.13