57 lines
2.2 KiB
Markdown
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.
|
|
|