Files
uncloud/website
8ddbe3c606 fix(compose): strip and resolve pre-deploy hook secrets like service env (#424)
* fix(compose): strip and resolve pre-deploy hook secrets like service env (fixes #422)

normaliseContainerForStore only cleared Config.Env and
ServiceSpec.Container.Env before writing a container record to the
replicated Corrosion store, leaving ServiceSpec.PreDeploy.Env in place.
A secret set via x-pre_deploy.environment therefore replicated to
every machine in the cluster, unlike the same value set via
environment.

ResolveSecrets had the same asymmetry in the other direction: it only
resolved secret://name references in service.Environment, so a
reference placed in the pre-deploy hook's environment passed through
unresolved as a literal string. HasCommandSecretRefs is extended the
same way for consistency.

Add tests pinning both behaviours.

* update docs that secret references are available for pre-deploy hooks

---------

Co-authored-by: Pasha Sviderski <me@psviderski.name>
2026-10-12 15:48:47 +10:00
..
2026-07-09 18:56:46 +10:00
2025-07-31 19:04:24 +10:00

Website

Landing page

Landing page is a single static HTML file located at ./landing/index.html. It is built using Tailwind CSS.

Local development

cd landing
open index.html
# Watch the Tailwind CSS class changes and rebuild style.css
npm run dev

Docs and Blog

/docs and /blog are built using Docusaurus, a modern static website generator.

Local Development

npm start

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Deployment

Both the landing page and Docusaurus site are built into a single Docker image that runs Caddy web server to serve the static files.

Before building a production image, test the build locally:

docker compose -f compose.local.yaml up --build

Verify:

Deploy to production

make website-image-push
uc deploy