chore: Remove mounted API config file — now lives in aether_api_fastapi repo

API config is no longer injected via volume mount. app/config.py in the
aether_api_fastapi repo reads all settings directly from env vars (.env).
Updated README to reflect the new config location.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-03-10 18:45:18 -04:00
parent 1aa4186f4a
commit 50f4ddf39d
2 changed files with 1 additions and 79 deletions

View File

@@ -108,7 +108,7 @@ These scripts are located in the root directory:
## 📂 Directory Map
* **`conf/`**: Configuration templates for Nginx, Gunicorn, and the API.
* **`conf/`**: Configuration templates for Nginx and Gunicorn. API config now lives in the `aether_api_fastapi` repo as `app/config.py` and reads settings directly from env vars.
* **`logs/`**: Centralized logging for all containers.
* **`srv/`**: Mount points for data and source code (managed via symlinks).
* **`scripts/`**: Internal automation logic.

View File

@@ -1,78 +0,0 @@
# Configuration file for this FastAPI app.
import os
from pydantic import BaseSettings
from typing import Any, Dict, List, Optional, Union
class Settings(BaseSettings):
AETHER_CFG: Dict[str, Any] = {
"id": os.getenv('AE_CFG_ID', 0)
}
JWT_KEY: str = os.getenv('AE_API_JWT_KEY', 'EHmSXZFKfMEW65E8kxCKmQ')
# Database Connection
# We use first-level attributes so BaseSettings can map them automatically if needed,
# but we keep the DB dictionary structure for compatibility with the rest of the app.
DB_SERVER: str = os.getenv('AE_DB_SERVER', 'mariadb')
DB_PORT: str = os.getenv('AE_DB_PORT', '3306')
DB_NAME: str = os.getenv('AE_DB_NAME', 'aether_dev')
DB_USER: str = os.getenv('AE_DB_USERNAME', 'aether_dev')
DB_PASS: str = os.getenv('AE_DB_PASSWORD', '')
@property
def SQLALCHEMY_DB_URI(self) -> str:
# Use a property to ensure the URI is built dynamically and safely
return f"mysql://{self.DB_USER}:{self.DB_PASS}@{self.DB_SERVER}:{self.DB_PORT}/{self.DB_NAME}"
@property
def DB(self) -> Dict[str, Any]:
# Compatibility dictionary
return {
"server": self.DB_SERVER,
"port": self.DB_PORT,
"name": self.DB_NAME,
"username": self.DB_USER,
"password": self.DB_PASS,
"connect_timeout": int(os.getenv('AE_DB_CONNECTION_TIMEOUT', 20)),
"pool_recycle": int(os.getenv('AE_DB_POOL_RECYCLE', 1800))
}
# Logging
LOG_PATH: Dict[str, str] = {
"app": os.getenv('AE_API_LOG_PATH', '/logs/aether_api.log')
}
# Redis
REDIS: Dict[str, str] = {
"server": os.getenv('AE_REDIS_SERVER', 'redis'),
"port": os.getenv('AE_REDIS_PORT', '6379')
}
# --- CRITICAL CONFIGURATIONS ---
# The following dictionaries are REQUIRED by the application logic.
# Do not remove them during refactors, as the app (e.g., lib_email.py)
# accesses these attributes directly on the settings object.
# Send SMTP Email
# Used by app/lib_email.py for outbound communications.
SMTP: Dict[str, str] = {
"server": os.getenv('AE_SMTP_SERVER', 'linode.oneskyit.com'),
"port": os.getenv('AE_SMTP_PORT', '465'),
"username": os.getenv('AE_SMTP_USERNAME', 'send_mail'),
"password": os.getenv('AE_SMTP_PASSWORD', 'set-in-ae-sql-db-cnf-tbl')
}
# Server Hosted File Paths
# Used extensively for file uploads, downloads, and exports.
FILES_PATH: Dict[str, str] = {
"hosted_files_root": os.getenv('AE_FILES_PATH_ROOT', '/srv/hosted_files'),
"hosted_tmp_root": os.getenv('AE_FILES_PATH_TMP', '/srv/hosted_tmp')
}
# --- END CRITICAL CONFIGURATIONS ---
# CORS
ORIGINS_REGEX: str = os.getenv('AE_API_ORIGINS_REGEX', '(https://.*\.oneskyit\.com)|(https://.*\.oneskyit\.com:4443)')
ORIGINS: List[str] = ['https://oneskyit.com']
settings = Settings()