Files
labyricorn-site-git-repo/docs/DEPLOYMENT.md

57 lines
2.2 KiB
Markdown

# Initial Deployment
This document defines the first deployment boundary. It does not assume GitHub,
Cloudflare Pages, Docker, or a public Control Plane.
## Target environment
- Gitea: `https://git.labyricorn.com`
- Labyricorn: installed directly in an LXC container
- Control Plane: private network access only
- Public site: static output served by the configured local runtime
- Canonical site address: `https://labyricorn.com`
## Deployment sequence
1. Create an empty repository on `git.labyricorn.com`.
2. Add that Gitea repository as the remote for this local repository.
3. Push the default branch to Gitea.
4. Connect the repository in the Labyricorn Control Plane.
5. Synchronize it and confirm `.labyricorn/site.yml` and the root `site.yml`
are valid.
6. Validate `.theme/theme.yml`, every referenced Liquid template, and the
declared stylesheet before creating a release.
7. Confirm that the `page`, `article`, and `project` models are installed and
enabled in Labyricorn.
8. Confirm discovery finds the three Markdown documents in this repository.
9. Preview the generated routes and resolve any validation errors.
10. Build the site.
11. Publish the completed build to the local canonical site.
12. Verify the homepage, article, project index, and project page from a
browser.
13. Record the deployed Git revision and active local release.
## Required proof
The initial deployment is successful only when all of the following are true:
- the repository revision shown by Labyricorn matches Gitea;
- configuration validation uses the committed `site.yml`;
- theme validation uses the committed `.theme/theme.yml` and declared files;
- all three source documents are discovered without filename heuristics;
- generated routes come from configured model behavior;
- the public pages are served from the activated local release;
- restarting the Control Plane does not erase deployment state;
- no operational success status is fabricated.
## Not part of the first deployment
Add these only after the local path is proven:
- GitHub deployment mirror;
- Cloudflare Pages;
- anonymous comments;
- social sharing automation;
- additional projections or publishing targets.