feat: add reproducible deploy script and rootless Podman docs #16

Merged
cybette merged 1 commit from gtfrans2re/editorial-guide-ramalama:feat/reproducible-deploy into main 2026-08-28 11:08:32 +00:00
Collaborator

Summary

Adds the two remaining #161 deliverables:

  • scripts/deploy.sh - an end-to-end deploy that rebuilds the pipeline from source on a fresh host (preflight checks, Python env, fetch, stage, model pull, vector store build). It uses the GPU when CDI passthrough is available and warns/falls back to CPU otherwise, so the server can be treated as stateless. Takes flags for publication, chunk size, --no-build, and --smoke.
  • docs/rootless-podman.md - documents running the workload as an unprivileged user with rootless Podman (subordinate ID ranges, lingering, rootless GPU verification via CDI, then the same deploy script as a non-root user), to standardize the environment.

Part of #161 (reproducible/stateless deploy workflow, and rootless Podman standardization).

Type of Change

  • New feature
  • Documentation update

Checklist

  • My branch is up to date with main
  • Commits are signed off with DCO (git commit -s)
  • I did not push directly to main
  • I checked changed files for ambiguous Unicode characters (see CONTRIBUTING.md)
  • I ran any relevant checks/tests locally
  • Documentation is updated where needed

Additional Notes

deploy.sh passes bash -n and docs/rootless-podman.md is documented but not yet executed end-to-end on the host - I'll run the full deploy and the rootless setup as a follow-up and record any host-specific adjustments, then check those boxes on #161. Wanted to get the artifacts up for review first.

## Summary Adds the two remaining [#161](https://forge.fedoraproject.org/commops/interns/issues/161) deliverables: - `scripts/deploy.sh` - an end-to-end deploy that rebuilds the pipeline from source on a fresh host (preflight checks, Python env, fetch, stage, model pull, vector store build). It uses the GPU when CDI passthrough is available and warns/falls back to CPU otherwise, so the server can be treated as stateless. Takes flags for publication, chunk size, `--no-build`, and `--smoke`. - `docs/rootless-podman.md` - documents running the workload as an unprivileged user with rootless Podman (subordinate ID ranges, lingering, rootless GPU verification via CDI, then the same deploy script as a non-root user), to standardize the environment. ## Related Issue Part of [#161](https://forge.fedoraproject.org/commops/interns/issues/161) (reproducible/stateless deploy workflow, and rootless Podman standardization). ## Type of Change - [x] New feature - [x] Documentation update ## Checklist - [x] My branch is up to date with `main` - [x] Commits are signed off with DCO (`git commit -s`) - [x] I did not push directly to `main` - [x] I checked changed files for ambiguous Unicode characters (see CONTRIBUTING.md) - [x] I ran any relevant checks/tests locally - [x] Documentation is updated where needed ## Additional Notes `deploy.sh` passes `bash -n` and `docs/rootless-podman.md` is documented but not yet executed end-to-end on the host - I'll run the full deploy and the rootless setup as a follow-up and record any host-specific adjustments, then check those boxes on [#161](https://forge.fedoraproject.org/commops/interns/issues/161). Wanted to get the artifacts up for review first.
Add scripts/deploy.sh, an end-to-end deploy that rebuilds the pipeline from
source on a fresh host, so the server can be treated as stateless. Add
docs/rootless-podman.md for running the workload unprivileged with rootless
Podman.

Assisted-by: Claude Opus 4.8
Signed-off-by: gtfrans2re <francoisgonothitoure@gmail.com>
cybette approved these changes 2026-08-28 11:08:26 +00:00
Sign in to join this conversation.
No description provided.