Compare commits

...

4 commits

6 changed files with 20 additions and 11 deletions

View file

@ -22,6 +22,7 @@ RUN set -ex; \
export DEBIAN_FRONTEND=noninteractive; \
apt-get update; apt-get -y install --no-install-recommends \
easy-rsa \
git-flow \
; rm -rf /var/lib/apt/lists/*; \
ln -s /usr/share/easy-rsa/easyrsa /usr/local/bin;

View file

@ -56,7 +56,7 @@ class EasyRSA:
days: int = 365 * 50,
cn: str = "kiwi-vpn-ca"
) -> crypto.X509:
return self.__build_cert(
cert = self.__build_cert(
Path("ca.crt"),
f"--passout=pass:{self.__ca_password}",
@ -79,6 +79,9 @@ class EasyRSA:
"build-ca",
)
self.__easyrsa("gen-dh")
return cert
def issue(
self,
days: int = 365 * 50,

View file

@ -15,13 +15,12 @@ from fastapi import FastAPI
from .config import Config, Settings
from .db import Connection
from .db.schemas import User
from .routers import admin, dn, user
from .routers import main_router
settings = Settings.get()
app = FastAPI()
api = FastAPI(
app = FastAPI(
title="kiwi-vpn API",
description="This API enables the `kiwi-vpn` service.",
contact={
@ -37,11 +36,7 @@ api = FastAPI(
redoc_url=settings.redoc_url if not settings.production_mode else None,
)
api.include_router(admin.router)
api.include_router(user.router)
api.include_router(dn.router)
app.mount("/api", api)
app.include_router(main_router)
@app.on_event("startup")

View file

@ -0,0 +1,10 @@
from fastapi import APIRouter
from . import admin, user
main_router = APIRouter(prefix="/api/v1")
main_router.include_router(admin.router)
main_router.include_router(user.router)
__all__ = ["main_router"]

View file

@ -10,7 +10,7 @@ from ..db import Connection
from ..db.schemas import User, UserCapability, UserCreate
from ._common import Responses, get_current_user
router = APIRouter(prefix="/admin")
router = APIRouter(prefix="/admin", tags=["admin"])
@router.put(

View file

@ -12,7 +12,7 @@ from ..db import Connection
from ..db.schemas import User, UserCapability, UserCreate
from ._common import Responses, get_current_user, get_current_user_if_admin
router = APIRouter(prefix="/user")
router = APIRouter(prefix="/user", tags=["user"])
class Token(BaseModel):