57 lines
1.8 KiB
INI
57 lines
1.8 KiB
INI
# =============================================================================
|
|||
|
|
# Apache Airflow — Configuration (Airflow 3.3.x)
|
||
|
|
# Referensi arsitektur: bab 4.5.1 (Apache Airflow — Orchestrator)
|
||
|
|
# =============================================================================
|
||
|
|
# ⚠️ Airflow 3.3 memakai SimpleAuthManager (bukan FabAuthManager).
|
||
|
|
# Config [api] auth_backends dan [webserver] auth_backend dari Airflow 2.x
|
||
|
|
# TIDAK berlaku lagi — dihapus agar task runner bisa autentikasi internal.
|
||
|
|
# =============================================================================
|
||
|
|
|
||
|
|
[core]
|
||
|
|
executor = LocalExecutor
|
||
|
|
simple_auth_manager_users = admin:Admin
|
||
|
|
simple_auth_manager_passwords_file = /opt/airflow/simple_auth_manager_passwords.json
|
||
|
|
parallelism = 32
|
||
|
|
max_active_tasks_per_dag = 16
|
||
|
|
dagbag_import_timeout = 30
|
||
|
|
load_examples = False
|
||
|
|
default_timezone = Asia/Jakarta
|
||
|
|
|
||
|
|
[database]
|
||
|
|
# ⚠️ ConfigParser does NOT expand ${VAR} syntax — this is a placeholder only.
|
||
|
|
# The actual connection string is set via AIRFLOW__DATABASE__SQL_ALCHEMY_CONN
|
||
|
|
# environment variable in docker-compose.yml.
|
||
|
|
sql_alchemy_conn = postgresql+psycopg2://airflow:PLACEHOLDER@postgres:5432/airflow
|
||
|
|
sql_alchemy_pool_enabled = True
|
||
|
|
sql_alchemy_pool_size = 10
|
||
|
|
sql_alchemy_max_overflow = 20
|
||
|
|
|
||
|
|
[webserver]
|
||
|
|
# base_url internal (container) — task runner connect ke sini
|
||
|
|
base_url = http://airflow-webserver:8080
|
||
|
|
default_ui_timezone = Asia/Jakarta
|
||
|
|
expose_config = True
|
||
|
|
|
||
|
|
[scheduler]
|
||
|
|
parsing_processes = 4
|
||
|
|
max_threads = 4
|
||
|
|
scheduler_heartbeat_sec = 5
|
||
|
|
|
||
|
|
[dag_processor]
|
||
|
|
# Airflow 3.x: dag_dir_list_interval dipindah dari [scheduler] ke sini
|
||
|
|
# (menghindari DeprecationWarning saat start).
|
||
|
|
refresh_interval = 30
|
||
|
|
|
||
|
|
[logging]
|
||
|
|
remote_logging = False
|
||
|
|
log_level = INFO
|
||
|
|
|
||
|
|
[email]
|
||
|
|
email_backend = airflow.utils.email.send_email_smtp
|
||
|
|
|
||
|
|
[smtp]
|
||
|
|
smtp_host = localhost
|
||
|
|
smtp_port = 25
|
||
|
|
smtp_timeout = 30
|
||
|
|
smtp_mail_from = airflow@sicabe.local
|