better secrets admin

This commit is contained in:
2026-07-19 09:58:27 +02:00
parent 768ccab09f
commit 0c03348c88
6 changed files with 118 additions and 75 deletions
+7 -14
View File
@@ -1,11 +1,7 @@
from lapp import create_app
import os
import secrets
import sqlalchemy as sa
from models import db, User, ListOfItems, Shared, Item, Group
def initial_secret(env_name):
return os.environ.get(env_name) or secrets.token_urlsafe(18)
from secrets_config import load_secrets
if __name__ == "__main__":
app = create_app()
@@ -13,10 +9,11 @@ if __name__ == "__main__":
query = sa.select(User)
users = db.session.scalars(query).all()
if len(users) == 0:
admin_group_secret = initial_secret("LAPP_INITIAL_ADMIN_GROUP")
user_group_secret = initial_secret("LAPP_INITIAL_USER_GROUP")
admin_password = initial_secret("LAPP_INITIAL_ADMIN_PASSWORD")
user_password = initial_secret("LAPP_INITIAL_USER_PASSWORD")
initial_data = load_secrets(app.instance_path)["initial_data"]
admin_group_secret = initial_data["admin_group"]
user_group_secret = initial_data["user_group"]
admin_password = initial_data["admin_password"]
user_password = initial_data["user_password"]
g = Group(secret=admin_group_secret)
db.session.add(g)
@@ -30,11 +27,7 @@ if __name__ == "__main__":
db.session.add(user1)
db.session.commit()
print("Created initial credentials:")
print(f"admin password: {admin_password}")
print(f"admin group secret: {admin_group_secret}")
print(f"ignace password: {user_password}")
print(f"ignace group secret: {user_group_secret}")
print("Created initial credentials from instance/secrets.yaml")
lol1 = ListOfItems(owner_user_id = user1.id, name="Supermarkt", is_active=True)
db.session.add(lol1)