- Nix 58.4%
- Shell 41.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
deploy.yml / Phase 3 build: cloud deploy v2 (@rolder/cloud 0.8.0) (push) Failing after 0s
|
||
| .forgejo/workflows | ||
| .test-fixture-contract-doc | ||
| .test-fixture-deploy-workflow-drift | ||
| .test-fixture-deploy-workflow-ok | ||
| .test-fixture-drift | ||
| .test-fixture-kuzzle-build | ||
| .test-fixture-secrets | ||
| .test-fixture-secrets-surreal | ||
| .test-fixture-server-bring | ||
| _lib | ||
| core | ||
| kuzzle | ||
| reference | ||
| server | ||
| surrealdb | ||
| devenv.nix | ||
| README.md | ||
forge-public/cloud@v2
Единственный reusable-workflow конвейера доставки: заменяет пару
server-publish@v1 + cloud-render@v1. Здесь лежит только
.forgejo/workflows/deploy.yml — сам инструмент не здесь, он приезжает
npm-пакетом @rolder/cloud из реестра кузни. Источник правды на инструмент —
talos/k8s/cloud-tool/ в репозитории облака.
Править файлы в этом репозитории бесполезно: плей M100 --tags cloud-deploy
перезапишет их при следующем прогоне — этот репозиторий генерируется, а не
редактируется руками.
Использование
Caller у потребителя — константа, одинаковая во всех репозиториях:
on: { push: { branches: ['deploy/**'] }, workflow_dispatch: {} }
jobs:
deploy:
uses: forge-public/cloud/.forgejo/workflows/deploy.yml@v2
secrets: inherit
Как получить инструмент
В проекте — так. Скоуп в .npmrc РЕПОЗИТОРИЯ, пакет в devDependencies:
echo '@rolder:registry=https://git.rolder.cloud/api/packages/forge-public/npm/' >> .npmrc
bun add -d @rolder/cloud
bunx cloud check
Тогда версия пинится локфайлом, скоуп едет вместе с репозиторием, а bunx cloud
резолвится из локального node_modules/.bin и в реестр на запуске не ходит вовсе.
Разово, без установки — только через bun x, и обязательно им, а не bunx:
bun x --bun @rolder/cloud@<версия> check # скоуп @rolder в $HOME/.npmrc
Почему именно bun x: bunx в системе может оказаться ДРУГОЙ, отстающей сборкой bun,
чем bun (замер 2026-09-02: bunx из nix-профиля 1.3.13 скоуп не читает и уходит на
npmjs с 404, bun x из ~/.bun 1.4.0 читает). Скоуп для этой формы работает только в
$HOME/.npmrc: bun x исполняется из своего временного каталога и файлов проекта не
видит. ~/.bunfig.toml не работает вовсе — если где-то остался такой совет, он неверен.
Контракт
Справочник полей декларации cloud.yaml печатает сам инструмент — файла с ним
нет ни здесь, ни в репозитории потребителя, ни в скиле:
bunx cloud reference # весь контракт: форма, уровни, поля
bunx cloud reference --kind server --json # для агента
Раздел «Форма» отвечает на вопрос, которого нет в списке полей: инстанс лежит под
именем вида, среды — под инстансом, и часть полей (origin, env, secrets) стоит
у инстанса, а не у среды.
Без версии bunx берёт latest — а latest и то, что гоняет @v2, это одна и та же
публикация: плей M100 --tags cloud-deploy публикует пакет и двигает тег v2 одним
прогоном и отказывается публиковать рассинхрон. Значит локальная проверка и CI смотрят
на один контракт.