from pydantic_settings import BaseSettings class Settings(BaseSettings): DATABASE_URL: str = "postgresql+asyncpg://postgres:postgres@localhost:5432/kmountain" CORS_ORIGINS: list[str] = ["http://localhost:4200", "http://localhost:3000"] ENV: str = "development" # Auth ADMIN_USERNAME: str = "" ADMIN_PASSWORD: str = "" GOOGLE_CLIENT_ID: str = "" GOOGLE_REDIRECT_URI: str = "http://localhost:4200" JWT_SECRET_KEY: str = "change-me-in-production" JWT_EXPIRE_MINUTES: int = 1440 # 24 hours # Visitor stats LOGS_DIR: str = "/logs" GEOLITE2_DB_PATH: str = "/app/geo/GeoLite2-City.mmdb" # Mobile build orchestration MOBILE_BUILD_SSH_USER: str = "buildbot" MOBILE_BUILD_SSH_PASSWORD: str = "buildbot" MOBILE_BUILD_SSH_PORT: int = 22 MOBILE_BUILD_ANDROID_HOST: str = "" MOBILE_BUILD_IOS_HOST: str = "" MOBILE_BUILD_REMOTE_APP_DIR: str = "~/mobile_app" MOBILE_BUILD_ANDROID_SCRIPT: str = "do_android_build.sh" MOBILE_BUILD_IOS_SCRIPT: str = "do_ios_build.sh" MOBILE_BUILD_UPLOAD_DIR: str = "/tmp/kmtn_mobile_build_uploads" MOBILE_BUILD_ARTIFACT_DIR: str = "/tmp/kmtn_mobile_build_artifacts" MOBILE_BUILD_ANDROID_ARTIFACT_GLOB: str = "~/mobile_app/build/app/outputs/bundle/release/*.aab" MOBILE_BUILD_IOS_ARTIFACT_GLOB: str = "~/mobile_app/build/ios/ipa/*.ipa" model_config = {"env_prefix": "KMTN_"} settings = Settings()