wattetheria 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +7 -0
  2. package/lib/cli.js +19 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -566,6 +566,12 @@ Version commands:
566
566
  - `npx wattetheria version --cli` shows the deployment CLI package version
567
567
  - `npx wattetheria update` resolves the latest shared published image tag across the configured release images and upgrades to it
568
568
  - `npx wattetheria update --tag <tag>` pins the deployment to a specific published image tag
569
+ - `npx wattetheria restart` stops and recreates the local release stack from the current deployment config
570
+
571
+ Publisher command:
572
+
573
+ - `RELEASE=<tag> scripts/publish-ghcr.sh` verifies the release compose/env assets before pushing the
574
+ multi-architecture Wattetheria kernel and observatory images to GHCR
569
575
 
570
576
  Release deployments bind-mount host-visible state by default:
571
577
 
@@ -597,6 +603,7 @@ pwsh ./scripts/deploy-release.ps1
597
603
  - `docker-compose.release.yml` is the image-based release deployment asset used by the CLI and fallback scripts
598
604
  - the CLI now generates deployment environment defaults internally and resolves the latest published image release during install and update
599
605
  - `scripts/deploy-release.ps1` is a cross-platform fallback deployment entry point
606
+ - `scripts/verify-release-deployment.sh` is the release gate that checks the packaged compose file still wires gateway URLs and the Wattswarm startup config into `wattetheria-kernel`
600
607
  - this repository does not include `wattetheria-gateway`; gateway is a separate project and deployment unit
601
608
  - Entrypoints live in `scripts/docker-kernel-entrypoint.sh` and `scripts/docker-observatory-entrypoint.sh`
602
609
  - release process and compatibility rules are documented in `docs/dev/RELEASE_PUBLISH_CHECKLIST.md`
package/lib/cli.js CHANGED
@@ -92,6 +92,7 @@ Commands:
92
92
  start Start an existing deployment
93
93
  status Show docker compose status
94
94
  update Resolve latest published release, pull, and restart
95
+ restart Recreate and restart the deployment
95
96
  stop Stop the deployment
96
97
  uninstall Stop the deployment and optionally remove volumes
97
98
  logs Show docker compose logs
@@ -1001,6 +1002,21 @@ async function start(options) {
1001
1002
  printSummary(options);
1002
1003
  }
1003
1004
 
1005
+ async function restart(options) {
1006
+ await ensureDockerAvailable();
1007
+ if (!fs.existsSync(composeFilePath(options)) || !fs.existsSync(envFilePath(options))) {
1008
+ throw new Error("Deployment is not initialized. Run install first.");
1009
+ }
1010
+ console.log("Stopping release stack...");
1011
+ runCompose(options, ["down"]);
1012
+ console.log("Starting release stack...");
1013
+ runCompose(options, ["up", "-d"]);
1014
+ if (options.healthChecks) {
1015
+ await runHealthChecks(options);
1016
+ }
1017
+ printSummary(options);
1018
+ }
1019
+
1004
1020
  async function status(options) {
1005
1021
  await ensureDockerAvailable();
1006
1022
  runCompose(options, ["ps"]);
@@ -1210,6 +1226,9 @@ async function run(argv) {
1210
1226
  case "update":
1211
1227
  await update(options);
1212
1228
  return;
1229
+ case "restart":
1230
+ await restart(options);
1231
+ return;
1213
1232
  case "stop":
1214
1233
  case "down":
1215
1234
  await stop(options);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wattetheria",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Wattetheria deployment CLI",
5
5
  "license": "Apache-2.0",
6
6
  "type": "commonjs",