This commit is contained in:
2026-07-06 10:18:48 +02:00
commit d0e2da0cfe
10 changed files with 92 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
__pycache__/
*.pyc
.env
.venv/
venv/
View File
View File
View File
View File
+25
View File
@@ -0,0 +1,25 @@
from pathlib import Path
from fastapi import APIRouter
router = APIRouter()
@router.get("/status")
def bootstrap_status():
privix_path = Path("/privix")
if not privix_path.exists():
return {
"mode": "bootstrap",
"source_attached": False,
"privix_path": None,
"message": "/privix does not exist. Choose create, attach, mount, or restore.",
}
return {
"mode": "bootstrap",
"source_attached": False,
"privix_path": str(privix_path),
"privix_exists": True,
"message": "/privix exists, but is not attached yet.",
}
View File
+25
View File
@@ -0,0 +1,25 @@
from fastapi import FastAPI
from app.api.v1.routes import bootstrap
app = FastAPI(
title="PRIVIX API",
version="0.1.0",
description="Local PRIVIX control API",
)
app.include_router(
bootstrap.router,
prefix="/api/v1/bootstrap",
tags=["bootstrap"],
)
@app.get("/")
def root():
return {
"name": "PRIVIX API",
"status": "running",
"api": "/api/v1",
"docs": "/docs",
}
View File
+37
View File
@@ -0,0 +1,37 @@
annotated-doc==0.0.4
annotated-types==0.7.0
anyio==4.14.1
certifi==2026.6.17
click==8.4.2
dnspython==2.8.0
email-validator==2.3.0
fastapi==0.139.0
fastapi-cli==0.0.28
h11==0.16.0
httpcore==1.0.9
httptools==0.8.0
httpx==0.28.1
idna==3.18
Jinja2==3.1.6
markdown-it-py==4.2.0
MarkupSafe==3.0.3
mdurl==0.1.2
pydantic==2.13.4
pydantic-extra-types==2.11.1
pydantic-settings==2.14.2
pydantic_core==2.46.4
Pygments==2.20.0
python-dotenv==1.2.2
python-multipart==0.0.32
PyYAML==6.0.3
rich==15.0.0
rich-toolkit==0.20.1
shellingham==1.5.4
starlette==1.3.1
typer==0.26.8
typing-inspection==0.4.2
typing_extensions==4.16.0
uvicorn==0.50.1
uvloop==0.22.1
watchfiles==1.2.0
websockets==16.0