Files
astro-website/openspec/specs/docker-content-refresh/spec.md
Santhosh Janardhanan 3b0b97f139
Some checks failed
ci / site (push) Has been cancelled
publish-image / publish (push) Has been cancelled
deploy without node
2026-02-10 02:52:14 -05:00

1.7 KiB

Purpose

Enable operators to refresh the deployed site to the latest content on a Docker-only host (no Node.js installed on the server).

Requirements

Requirement: Host update does not require Node.js

The system MUST provide an operator workflow to update the deployed site to the latest content without installing Node.js on the server host. Any build or content-fetch steps MUST run in containers and/or CI, not via host-installed Node.js.

Scenario: Operator updates without host Node.js

  • WHEN the server host has Docker available but does not have Node.js installed
  • THEN the operator can complete the update procedure using Docker commands only

Requirement: Image-based content refresh is supported

The system MUST support refreshing the deployed site to the latest content by pulling a newly built deployable artifact (for example, a Docker image) and restarting the running service.

Scenario: Successful refresh to latest image

  • WHEN the operator runs the documented refresh command
  • THEN the server pulls the latest published image and restarts the service using that image

Scenario: Refresh failure does not break running site

  • WHEN the operator runs the documented refresh command and the pull fails
  • THEN the site remains running on the previously deployed image

Requirement: Refresh is repeatable and auditable

The system MUST document the refresh procedure and provide a way to verify which version is deployed (for example, image tag/digest or build metadata).

Scenario: Operator verifies deployed version

  • WHEN the operator runs the documented verification command
  • THEN the system reports the currently deployed version identifier