chore(release): prepare v0.9.1
CI / container-policy (push) Successful in 3s
CI / javascript-check (push) Successful in 13s
CI / python-tests (push) Successful in 1m18s
CI / container-verify (push) Skipped
CI / container-publish (push) Successful in 16s

This commit is contained in:
BartelLuis
2026-09-14 20:48:05 +02:00
parent c32aaa8d27
commit 3c2faa40b4
8 changed files with 13 additions and 12 deletions
+1 -1
View File
@@ -98,7 +98,7 @@ Der [Gitea-Actions-Workflow](.gitea/workflows/ci.yml) prüft Python und JavaScri
und testet HTTPS, Anmeldung und Datenerhalt beim Neustart im gehärteten Container. und testet HTTPS, Anmeldung und Datenerhalt beim Neustart im gehärteten Container.
Bei aktivierter Veröffentlichung (`PUBLISH_IMAGES=true`) veröffentlichen Bei aktivierter Veröffentlichung (`PUBLISH_IMAGES=true`) veröffentlichen
Standardbranch-Pushes `sha-<Commit>` und `edge` in Standardbranch-Pushes `sha-<Commit>` und `edge` in
`gitlab.bartelluis.de/bartelluis/proxmox-ais-server`; Release-Tags wie `v0.1.0` `gitlab.bartelluis.de/bartelluis/proxmox-ais-server`; Release-Tags wie `v0.9.1`
zusätzlich die passende Versionsnummer. Feature-Branches und Pull Requests zusätzlich die passende Versionsnummer. Feature-Branches und Pull Requests
werden ohne Registry-Push geprüft. werden ohne Registry-Push geprüft.
+1 -1
View File
@@ -5,4 +5,4 @@ MAINTENANCE=false
# Durch die vollstaendige PROVISIONER_IMAGE-Zeile aus deploy.env im Gitea- # Durch die vollstaendige PROVISIONER_IMAGE-Zeile aus deploy.env im Gitea-
# Actions-Artefakt container-deploy ersetzen. Alternativ einen vorhandenen # Actions-Artefakt container-deploy ersetzen. Alternativ einen vorhandenen
# Versionstag aus der Gitea-Registry verwenden. Der Beispieltag muss veroeffentlicht sein. # Versionstag aus der Gitea-Registry verwenden. Der Beispieltag muss veroeffentlicht sein.
PROVISIONER_IMAGE=gitlab.bartelluis.de/bartelluis/proxmox-ais-server:0.1.0 PROVISIONER_IMAGE=gitlab.bartelluis.de/bartelluis/proxmox-ais-server:0.9.1
+2 -2
View File
@@ -55,14 +55,14 @@ Imagepfad mit einem tatsächlich vorhandenen Versions-Tag kopieren. Der aktuelle
Imagepfad der Beispieldatei sieht so aus: Imagepfad der Beispieldatei sieht so aus:
```dotenv ```dotenv
PROVISIONER_IMAGE=gitlab.bartelluis.de/bartelluis/proxmox-ais-server:0.1.0 PROVISIONER_IMAGE=gitlab.bartelluis.de/bartelluis/proxmox-ais-server:0.9.1
PUBLIC_URL=https://provision.example.net PUBLIC_URL=https://provision.example.net
MAINTENANCE=false MAINTENANCE=false
``` ```
`PROVISIONER_IMAGE` und `PUBLIC_URL` für die Installation festlegen. Der `PROVISIONER_IMAGE` und `PUBLIC_URL` für die Installation festlegen. Der
Imagepfad entspricht dem aktuellen Wert der Vorlage; die Verfügbarkeit des Imagepfad entspricht dem aktuellen Wert der Vorlage; die Verfügbarkeit des
Tags `0.1.0` wird damit nicht vorausgesetzt. Maßgeblich sind das Tags `0.9.1` wird damit nicht vorausgesetzt. Maßgeblich sind das
Pipeline-Artefakt oder die Registry-Anzeige deines Projekts. Pipeline-Artefakt oder die Registry-Anzeige deines Projekts.
Der Registry-Endpunkt der Vorlage ist `gitlab.bartelluis.de`. Bei einer abweichenden Der Registry-Endpunkt der Vorlage ist `gitlab.bartelluis.de`. Bei einer abweichenden
CI-Registry den Host aus `deploy.env` auch für `docker login` verwenden. CI-Registry den Host aus `deploy.env` auch für `docker login` verwenden.
+4 -4
View File
@@ -166,15 +166,15 @@ Lokale Tests ersetzen diesen Lauf mit Registry-Anmeldung und Push nicht.
Für ein Release zuerst `[project].version` ändern und den geprüften Commit Für ein Release zuerst `[project].version` ändern und den geprüften Commit
übernehmen. Anschließend mit einem berechtigten Konto den passenden Tag übernehmen. Anschließend mit einem berechtigten Konto den passenden Tag
erstellen und an den Gitea-Remote pushen. Im vorhandenen Checkout heißt er erstellen und an den Gitea-Remote pushen. Im vorhandenen Checkout heißt er
`origin`; vor dem Push mit `git remote -v` prüfen. Für Projektversion `0.1.0`, `origin`; vor dem Push mit `git remote -v` prüfen. Für Projektversion `0.9.1`,
sofern der Tag noch nicht existiert: sofern der Tag noch nicht existiert:
```bash ```bash
git tag -a v0.1.0 -m "Release 0.1.0" git tag -a v0.9.1 -m "Release 0.9.1"
git push origin v0.1.0 git push origin v0.9.1
``` ```
Der Release-Lauf muss den Image-Tag `0.1.0` erzeugen. Für einen manuellen Lauf Der Release-Lauf muss den Image-Tag `0.9.1` erzeugen. Für einen manuellen Lauf
unter **Actions** den Workflow und den gewünschten Ref auswählen. Auch dabei unter **Actions** den Workflow und den gewünschten Ref auswählen. Auch dabei
gelten Opt-in, Standardbranch- beziehungsweise Tag-Regel und Versionsabgleich. gelten Opt-in, Standardbranch- beziehungsweise Tag-Regel und Versionsabgleich.
Branch-Push und Pull Request können für denselben Quellstand getrennte Läufe Branch-Push und Pull Request können für denselben Quellstand getrennte Läufe
+1 -1
View File
@@ -3,7 +3,7 @@
"info": { "info": {
"title": "Proxmox AIS", "title": "Proxmox AIS",
"description": "Kontrollierte Proxmox-Installation und wiederaufnehmbare Nachkonfiguration.", "description": "Kontrollierte Proxmox-Installation und wiederaufnehmbare Nachkonfiguration.",
"version": "0.1.0" "version": "0.9.1"
}, },
"paths": { "paths": {
"/health/live": { "/health/live": {
+1 -1
View File
@@ -1,3 +1,3 @@
"""Proxmox AIS: controlled installation and post-installation provisioning.""" """Proxmox AIS: controlled installation and post-installation provisioning."""
__version__ = "0.1.0" __version__ = "0.9.1"
+2 -1
View File
@@ -21,6 +21,7 @@ from fastapi.templating import Jinja2Templates
import jsonschema import jsonschema
from pydantic import ValidationError from pydantic import ValidationError
from . import __version__
from .config import Settings from .config import Settings
from .db import Database from .db import Database
from .models import (Approval, Completion, Enroll, EventBatch, GroupCreate, HostCreate, HostUpdate, IsoCreate, LeaseRequest, LogBatch, ModuleCreate, ProfileCreate, Publish, RunAction, RunReconcile, SecretCreate, UserCreate, normalize_identity) from .models import (Approval, Completion, Enroll, EventBatch, GroupCreate, HostCreate, HostUpdate, IsoCreate, LeaseRequest, LogBatch, ModuleCreate, ProfileCreate, Publish, RunAction, RunReconcile, SecretCreate, UserCreate, normalize_identity)
@@ -107,7 +108,7 @@ def create_app(settings: Settings | None = None):
except asyncio.CancelledError: except asyncio.CancelledError:
pass pass
app = FastAPI(title="Proxmox AIS", version="0.1.0", description="Kontrollierte Proxmox-Installation und wiederaufnehmbare Nachkonfiguration.", lifespan=lifespan, docs_url=None, redoc_url=None, openapi_url=None) app = FastAPI(title="Proxmox AIS", version=__version__, description="Kontrollierte Proxmox-Installation und wiederaufnehmbare Nachkonfiguration.", lifespan=lifespan, docs_url=None, redoc_url=None, openapi_url=None)
app.state.db, app.state.settings, app.state.security, app.state.service = db, settings, security, service app.state.db, app.state.settings, app.state.security, app.state.service = db, settings, security, service
app.add_middleware(RequestGuards, max_bytes=settings.max_request_bytes) app.add_middleware(RequestGuards, max_bytes=settings.max_request_bytes)
(ASSETS / "static").mkdir(exist_ok=True) (ASSETS / "static").mkdir(exist_ok=True)
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "proxmox-ais-server" name = "proxmox-ais-server"
version = "0.1.0" version = "0.9.1"
description = "Controlled Proxmox automated installation and resumable post-installation" description = "Controlled Proxmox automated installation and resumable post-installation"
readme = "README.md" readme = "README.md"
requires-python = ">=3.12" requires-python = ">=3.12"