Fix vault usage

This commit is contained in:
2024-11-19 16:14:15 +01:00
parent f7290785cb
commit edd21096df
5 changed files with 28 additions and 17 deletions

View File

@@ -1,7 +0,0 @@
#! /usr/bin/env sh
response=`curl -X 'GET' "https://$VAULT_HOST/v1/$VAULT_SECRET_PATH" -s \
-H 'accept: application/json' \
-H "X-Vault-Token: $VAULT_TOKEN"`
echo "$(echo "$response" | jq -r '.data.data | to_entries | map("\(.key)='\''\(.value)'\''") | .[]')"

View File

@@ -1,5 +1,3 @@
#! /usr/bin/env sh
export $(/env.sh)
/opt/venv/bin/python main.py $1

View File

@@ -1,5 +1,3 @@
#! /usr/bin/env sh
export $(/env.sh)
/opt/venv/bin/taskiq scheduler core.broker:scheduler modules.tasks

View File

@@ -1,7 +1,3 @@
#! /usr/bin/env sh
export $(/env.sh)
printenv
/opt/venv/bin/taskiq worker core.broker:broker modules.tasks

View File

@@ -1,7 +1,16 @@
from pydantic import BaseModel
from pydantic_settings import BaseSettings
from httpx import Client
class Config(BaseSettings):
class Settings(BaseSettings):
VAULT_HOST: str
VAULT_SECRET_PATH: str
VAULT_TOKEN: str
class Config(BaseModel):
DISCORD_BOT_TOKEN: str
DISCORD_BOT_ID: str
DISCORD_BOT_ACTIVITY: str
@@ -21,4 +30,21 @@ class Config(BaseSettings):
REDIS_URI: str
config = Config() # type: ignore
def get_config() -> Config:
settings = Settings() # type: ignore
with Client() as client:
response = client.get(
f"https://{settings.VAULT_HOST}/v1/{settings.VAULT_SECRET_PATH}",
headers={
"X-Vault-Token": settings.VAULT_TOKEN,
"Content-Type": "application/json",
}
)
response.raise_for_status()
return Config(**response.json()["data"])
config = get_config()