{
  "manifest_version": "1.0.0",
  "template": {
    "id": "a46e57cc-b2f6-42d3-b696-e19ab1a78db3",
    "slug": "pfd9YM",
    "name": "PgBouncer+Postgres+PgAdmin : 1$",
    "description": "Optimized PostgreSQL Database Stack",
    "url": "https://railway.com/deploy/pfd9YM",
    "upstream": {
      "repo_url": "https://github.com/antisofisme/railway"
    }
  },
  "services": [
    {
      "name": "postgres",
      "source": {
        "repo": "https://github.com/antisofisme/railway"
      },
      "needs_volume": true,
      "volume_mount_path": "/var/lib/postgresql/data",
      "http": false
    },
    {
      "name": "pgadmin",
      "source": {
        "repo": "https://github.com/antisofisme/railway"
      },
      "needs_volume": false,
      "http": true
    },
    {
      "name": "pgbouncer",
      "source": {
        "repo": "https://github.com/antisofisme/railway"
      },
      "needs_volume": false,
      "http": false
    }
  ],
  "required_inputs": [
    {
      "key": "PGDATA",
      "service": "postgres",
      "description": "Directory data PostgreSQL",
      "secret": false,
      "strategy": "default",
      "default": "/var/lib/postgresql/data/pgdata"
    },
    {
      "key": "PGHOST",
      "service": "postgres",
      "description": "Host internal Railway",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "PGPORT",
      "service": "postgres",
      "description": "Port PostgreSQL",
      "secret": false,
      "strategy": "default",
      "default": "5432"
    },
    {
      "key": "PGSSLMODE",
      "service": "postgres",
      "description": "Mode SSL PostgreSQL",
      "secret": false,
      "strategy": "default",
      "default": "prefer"
    },
    {
      "key": "POSTGRES_DB",
      "service": "postgres",
      "description": "Nama database",
      "secret": false,
      "strategy": "default",
      "default": "n8n"
    },
    {
      "key": "POSTGRES_JIT",
      "service": "postgres",
      "description": "Aktifkan Just-In-Time compilation",
      "secret": false,
      "strategy": "default",
      "default": "on"
    },
    {
      "key": "POSTGRES_USER",
      "service": "postgres",
      "description": "Username database",
      "secret": false,
      "strategy": "default",
      "default": "n8n"
    },
    {
      "key": "POSTGRES_PASSWORD",
      "service": "postgres",
      "description": "Password database",
      "secret": true,
      "strategy": "default",
      "default": "password123"
    },
    {
      "key": "POSTGRES_WORK_MEM",
      "service": "postgres",
      "description": "Lebih banyak memori per operasi/koneksi",
      "secret": false,
      "strategy": "default",
      "default": "64MB"
    },
    {
      "key": "POSTGRES_WAL_LEVEL",
      "service": "postgres",
      "description": "Level WAL untuk replikasi",
      "secret": false,
      "strategy": "default",
      "default": "replica"
    },
    {
      "key": "POSTGRES_AUTOVACUUM",
      "service": "postgres",
      "description": "Aktifkan autovacuum",
      "secret": false,
      "strategy": "default",
      "default": "on"
    },
    {
      "key": "POSTGRES_MAX_WAL_SIZE",
      "service": "postgres",
      "description": "Ukuran maksimum WAL sebelum checkpoint",
      "secret": false,
      "strategy": "default",
      "default": "4GB"
    },
    {
      "key": "POSTGRES_MIN_WAL_SIZE",
      "service": "postgres",
      "description": "Ukuran minimum WAL yang dipertahankan",
      "secret": false,
      "strategy": "default",
      "default": "1GB"
    },
    {
      "key": "POSTGRES_TEMP_BUFFERS",
      "service": "postgres",
      "description": "Meningkatkan buffer untuk temp tables",
      "secret": false,
      "strategy": "default",
      "default": "64MB"
    },
    {
      "key": "POSTGRES_JIT_ABOVE_COST",
      "service": "postgres",
      "description": "Threshold lebih rendah untuk aktivasi JIT",
      "secret": false,
      "strategy": "default",
      "default": "100000"
    },
    {
      "key": "POSTGRES_LOG_LOCK_WAITS",
      "service": "postgres",
      "description": "Log jika menunggu lock",
      "secret": false,
      "strategy": "default",
      "default": "on"
    },
    {
      "key": "POSTGRES_LOG_TEMP_FILES",
      "service": "postgres",
      "description": "Matikan logging temp files",
      "secret": false,
      "strategy": "default",
      "default": "-1"
    },
    {
      "key": "POSTGRES_SHARED_BUFFERS",
      "service": "postgres",
      "description": "Meningkatkan cache untuk performa lebih baik",
      "secret": false,
      "strategy": "default",
      "default": "4GB"
    },
    {
      "key": "POSTGRES_LOG_CHECKPOINTS",
      "service": "postgres",
      "description": "Matikan log checkpoint",
      "secret": false,
      "strategy": "default",
      "default": "off"
    },
    {
      "key": "POSTGRES_LOG_CONNECTIONS",
      "service": "postgres",
      "description": "Matikan log koneksi",
      "secret": false,
      "strategy": "default",
      "default": "off"
    },
    {
      "key": "POSTGRES_LOG_MIN_MESSAGES",
      "service": "postgres",
      "description": "Hanya tampilkan warning dan error",
      "secret": false,
      "strategy": "default",
      "default": "warning"
    },
    {
      "key": "POSTGRES_RANDOM_PAGE_COST",
      "service": "postgres",
      "description": "Optimal untuk SSD",
      "secret": false,
      "strategy": "default",
      "default": "1.1"
    },
    {
      "key": "POSTGRES_WAL_KEEP_SEGMENTS",
      "service": "postgres",
      "description": "Jumlah segment WAL untuk recovery",
      "secret": false,
      "strategy": "default",
      "default": "32"
    },
    {
      "key": "POSTGRES_AUTOVACUUM_NAPTIME",
      "service": "postgres",
      "description": "Interval autovacuum",
      "secret": false,
      "strategy": "default",
      "default": "5min"
    },
    {
      "key": "POSTGRES_LOG_DISCONNECTIONS",
      "service": "postgres",
      "description": "Matikan log pemutusan koneksi",
      "secret": false,
      "strategy": "default",
      "default": "off"
    },
    {
      "key": "POSTGRES_PARALLEL_SETUP_COST",
      "service": "postgres",
      "description": "Kurangi cost untuk aktivasi paralelisme",
      "secret": false,
      "strategy": "default",
      "default": "10"
    },
    {
      "key": "POSTGRES_PARALLEL_TUPLE_COST",
      "service": "postgres",
      "description": "Kurangi cost paralelisme",
      "secret": false,
      "strategy": "default",
      "default": "0.01"
    },
    {
      "key": "POSTGRES_EFFECTIVE_CACHE_SIZE",
      "service": "postgres",
      "description": "Asumsi OS cache yang lebih besar",
      "secret": false,
      "strategy": "default",
      "default": "8GB"
    },
    {
      "key": "POSTGRES_MAINTENANCE_WORK_MEM",
      "service": "postgres",
      "description": "Lebih banyak memori untuk operasi pemeliharaan",
      "secret": false,
      "strategy": "default",
      "default": "1GB"
    },
    {
      "key": "POSTGRES_MAX_PARALLEL_WORKERS",
      "service": "postgres",
      "description": "Total worker paralel",
      "secret": false,
      "strategy": "default",
      "default": "8"
    },
    {
      "key": "POSTGRES_MAX_WORKER_PROCESSES",
      "service": "postgres",
      "description": "Total proses worker",
      "secret": false,
      "strategy": "default",
      "default": "8"
    },
    {
      "key": "POSTGRES_AUTOVACUUM_MAX_WORKERS",
      "service": "postgres",
      "description": "Jumlah worker autovacuum",
      "secret": false,
      "strategy": "default",
      "default": "3"
    },
    {
      "key": "POSTGRES_LOG_MIN_ERROR_STATEMENT",
      "service": "postgres",
      "description": "Log statements yang error",
      "secret": false,
      "strategy": "default",
      "default": "error"
    },
    {
      "key": "POSTGRES_EFFECTIVE_IO_CONCURRENCY",
      "service": "postgres",
      "description": "Lebih banyak concurrent I/O untuk SSD",
      "secret": false,
      "strategy": "default",
      "default": "300"
    },
    {
      "key": "POSTGRES_LOG_MIN_DURATION_STATEMENT",
      "service": "postgres",
      "description": "Hanya log query yang sangat lambat (>2s)",
      "secret": false,
      "strategy": "default",
      "default": "2000"
    },
    {
      "key": "POSTGRES_LOG_AUTOVACUUM_MIN_DURATION",
      "service": "postgres",
      "description": "Hanya log autovacuum yang berjalan >10s",
      "secret": false,
      "strategy": "default",
      "default": "10000"
    },
    {
      "key": "POSTGRES_AUTOVACUUM_VACUUM_SCALE_FACTOR",
      "service": "postgres",
      "description": "Threshold vacuum",
      "secret": false,
      "strategy": "default",
      "default": "0.1"
    },
    {
      "key": "POSTGRES_AUTOVACUUM_ANALYZE_SCALE_FACTOR",
      "service": "postgres",
      "description": "Threshold analyze",
      "secret": false,
      "strategy": "default",
      "default": "0.05"
    },
    {
      "key": "POSTGRES_MAX_PARALLEL_WORKERS_PER_GATHER",
      "service": "postgres",
      "description": "Worker per query paralel",
      "secret": false,
      "strategy": "default",
      "default": "4"
    },
    {
      "key": "PG_SERVER_HOST",
      "service": "pgadmin",
      "description": "Host PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PG_SERVER_PORT",
      "service": "pgadmin",
      "description": "Port PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PG_SERVER_USER",
      "service": "pgadmin",
      "description": "User PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGADMIN_DEFAULT_DB",
      "service": "pgadmin",
      "description": "Database default",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PG_SERVER_DATABASE",
      "service": "pgadmin",
      "description": "Database PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PG_SERVER_PASSWORD",
      "service": "pgadmin",
      "description": "Password PostgreSQL",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGADMIN_LISTEN_PORT",
      "service": "pgadmin",
      "description": "Port untuk web interface",
      "secret": false,
      "strategy": "default",
      "default": "8080"
    },
    {
      "key": "PGADMIN_DEFAULT_HOST",
      "service": "pgadmin",
      "description": "Host default",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGADMIN_DEFAULT_PORT",
      "service": "pgadmin",
      "description": "Port default",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGADMIN_DEFAULT_USER",
      "service": "pgadmin",
      "description": "User default",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGADMIN_DEFAULT_EMAIL",
      "service": "pgadmin",
      "description": "Email admin",
      "secret": false,
      "strategy": "default",
      "default": "admin@bantujelasin.com"
    },
    {
      "key": "PGADMIN_DEFAULT_PASSWORD",
      "service": "pgadmin",
      "description": "Password default",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGADMIN_SERVER_JSON_FILE",
      "service": "pgadmin",
      "description": "File konfigurasi server",
      "secret": false,
      "strategy": "default",
      "default": "/pgadmin4/servers.json"
    },
    {
      "key": "PGADMIN_CONFIG_CSV_QUOTING",
      "service": "pgadmin",
      "description": "Mode quoting CSV",
      "secret": false,
      "strategy": "default",
      "default": "'all'"
    },
    {
      "key": "PGADMIN_CONFIG_ENABLE_PSQL",
      "service": "pgadmin",
      "description": "Aktifkan terminal psql",
      "secret": false,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGADMIN_CONFIG_MFA_ENABLED",
      "service": "pgadmin",
      "description": "Matikan MFA",
      "secret": false,
      "strategy": "default",
      "default": "False"
    },
    {
      "key": "PGADMIN_CONFIG_SERVER_MODE",
      "service": "pgadmin",
      "description": "Mode server",
      "secret": false,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGADMIN_CONFIG_AUTH_SOURCES",
      "service": "pgadmin",
      "description": "Sumber autentikasi",
      "secret": false,
      "strategy": "default",
      "default": "['internal']"
    },
    {
      "key": "PGADMIN_CONFIG_BINARY_PATHS",
      "service": "pgadmin",
      "description": "Path utilitas PostgreSQL",
      "secret": false,
      "strategy": "default",
      "default": "{'pg': '/usr/bin'}"
    },
    {
      "key": "PGADMIN_CONFIG_EXPLAIN_COSTS",
      "service": "pgadmin",
      "description": "Tampilkan biaya",
      "secret": false,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGADMIN_CONFIG_CSV_QUOTE_CHAR",
      "service": "pgadmin",
      "description": "Karakter quote CSV",
      "secret": false,
      "strategy": "default",
      "default": "'\\\"'"
    },
    {
      "key": "PGADMIN_CONFIG_EXPLAIN_BUFFERS",
      "service": "pgadmin",
      "description": "Tampilkan buffer",
      "secret": false,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGADMIN_CONFIG_EXPLAIN_VERBOSE",
      "service": "pgadmin",
      "description": "Explain detail",
      "secret": false,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGADMIN_CONFIG_CONSOLE_LOG_LEVEL",
      "service": "pgadmin",
      "description": "Level log INFO",
      "secret": false,
      "strategy": "default",
      "default": "20"
    },
    {
      "key": "PGADMIN_CONFIG_ALLOW_SAVE_PASSWORD",
      "service": "pgadmin",
      "description": "Izinkan simpan password",
      "secret": true,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGADMIN_CONFIG_CSV_FIELD_SEPARATOR",
      "service": "pgadmin",
      "description": "Pemisah field CSV",
      "secret": false,
      "strategy": "default",
      "default": "','"
    },
    {
      "key": "PGADMIN_CONFIG_SQL_EDITOR_TAB_SIZE",
      "service": "pgadmin",
      "description": "Ukuran tab editor",
      "secret": false,
      "strategy": "default",
      "default": "4"
    },
    {
      "key": "PGADMIN_CONFIG_MAX_QUERY_HIST_STORED",
      "service": "pgadmin",
      "description": "Riwayat query",
      "secret": false,
      "strategy": "default",
      "default": "500"
    },
    {
      "key": "PGADMIN_CONFIG_MAX_SESSION_IDLE_TIME",
      "service": "pgadmin",
      "description": "Waktu idle maksimum (2 jam)",
      "secret": false,
      "strategy": "default",
      "default": "7200"
    },
    {
      "key": "PGADMIN_CONFIG_UPGRADE_CHECK_ENABLED",
      "service": "pgadmin",
      "description": "Matikan cek upgrade",
      "secret": false,
      "strategy": "default",
      "default": "False"
    },
    {
      "key": "PGADMIN_CONFIG_SHARED_STORAGE_MAX_SIZE",
      "service": "pgadmin",
      "description": "Ukuran penyimpanan bersama (1GB)",
      "secret": false,
      "strategy": "default",
      "default": "1073741824"
    },
    {
      "key": "PGADMIN_CONFIG_CHECK_CORRUPTED_DB_ENTRY",
      "service": "pgadmin",
      "description": "Matikan cek korupsi",
      "secret": false,
      "strategy": "default",
      "default": "False"
    },
    {
      "key": "PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED",
      "service": "pgadmin",
      "description": "Tidak wajib master password",
      "secret": true,
      "strategy": "default",
      "default": "False"
    },
    {
      "key": "PGADMIN_CONFIG_MAX_TRANSACTION_LOG_SIZE",
      "service": "pgadmin",
      "description": "Ukuran log transaksi (100MB)",
      "secret": false,
      "strategy": "default",
      "default": "104857600"
    },
    {
      "key": "PGADMIN_CONFIG_TABLE_ROWS_DISPLAY_COUNT",
      "service": "pgadmin",
      "description": "Jumlah baris tabel",
      "secret": false,
      "strategy": "default",
      "default": "500"
    },
    {
      "key": "PGADMIN_CONFIG_ALLOW_SAVE_TUNNEL_PASSWORD",
      "service": "pgadmin",
      "description": "Izinkan simpan password tunnel",
      "secret": true,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION",
      "service": "pgadmin",
      "description": "Proteksi cookie",
      "secret": false,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGADMIN_CONFIG_ENABLE_RUNTIME_DOWNLOAD_ASSETS",
      "service": "pgadmin",
      "description": "Aktifkan download aset",
      "secret": false,
      "strategy": "default",
      "default": "True"
    },
    {
      "key": "PGHOST",
      "service": "pgbouncer",
      "description": "Host PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGPORT",
      "service": "pgbouncer",
      "description": "Port PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGUSER",
      "service": "pgbouncer",
      "description": "User PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGDATABASE",
      "service": "pgbouncer",
      "description": "Database PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGPASSWORD",
      "service": "pgbouncer",
      "description": "Password PostgreSQL",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "POSTGRES_DB",
      "service": "pgbouncer",
      "description": "Duplikat untuk kompatibilitas",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGBOUNCER_SSL",
      "service": "pgbouncer",
      "description": "Aktifkan SSL",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "POSTGRES_USER",
      "service": "pgbouncer",
      "description": "Duplikat untuk kompatibilitas",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGBOUNCER_HOST",
      "service": "pgbouncer",
      "description": "Integrasi dengan PostgreSQL",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "PGBOUNCER_PKT_BUF",
      "service": "pgbouncer",
      "description": "Ukuran buffer paket",
      "secret": false,
      "strategy": "default",
      "default": "16384"
    },
    {
      "key": "POSTGRES_PASSWORD",
      "service": "pgbouncer",
      "description": "Duplikat untuk kompatibilitas",
      "secret": true,
      "strategy": "railway_provided",
      "railway_source": "reference_variable"
    },
    {
      "key": "PGBOUNCER_AUTH_TYPE",
      "service": "pgbouncer",
      "description": "Metode autentikasi",
      "secret": false,
      "strategy": "default",
      "default": "md5"
    },
    {
      "key": "PGBOUNCER_LOG_STATS",
      "service": "pgbouncer",
      "description": "Matikan log statistik",
      "secret": false,
      "strategy": "default",
      "default": "0"
    },
    {
      "key": "PGBOUNCER_POOL_MODE",
      "service": "pgbouncer",
      "description": "Mode pool per transaksi",
      "secret": false,
      "strategy": "default",
      "default": "transaction"
    },
    {
      "key": "PGBOUNCER_LISTEN_ADDR",
      "service": "pgbouncer",
      "description": "Alamat untuk mendengarkan koneksi",
      "secret": false,
      "strategy": "default",
      "default": "*"
    },
    {
      "key": "PGBOUNCER_LISTEN_PORT",
      "service": "pgbouncer",
      "description": "Port untuk koneksi klien",
      "secret": false,
      "strategy": "default",
      "default": "6432"
    },
    {
      "key": "PGBOUNCER_TLS_ENABLED",
      "service": "pgbouncer",
      "description": "Aktifkan SSL secara global",
      "secret": false,
      "strategy": "default",
      "default": "true"
    },
    {
      "key": "PGBOUNCER_STATS_PERIOD",
      "service": "pgbouncer",
      "description": "Interval statistik",
      "secret": false,
      "strategy": "default",
      "default": "60"
    },
    {
      "key": "PGBOUNCER_TCP_KEEPIDLE",
      "service": "pgbouncer",
      "description": "Waktu idle sebelum keepalive",
      "secret": false,
      "strategy": "default",
      "default": "60"
    },
    {
      "key": "PGBOUNCER_MIN_POOL_SIZE",
      "service": "pgbouncer",
      "description": "Ukuran pool minimum yang lebih besar",
      "secret": false,
      "strategy": "default",
      "default": "20"
    },
    {
      "key": "PGBOUNCER_TCP_KEEPALIVE",
      "service": "pgbouncer",
      "description": "Aktifkan TCP keepalive",
      "secret": false,
      "strategy": "default",
      "default": "1"
    },
    {
      "key": "PGBOUNCER_TCP_KEEPINTVL",
      "service": "pgbouncer",
      "description": "Interval keepalive",
      "secret": false,
      "strategy": "default",
      "default": "30"
    },
    {
      "key": "PGBOUNCER_LOG_CONNECTIONS",
      "service": "pgbouncer",
      "description": "Matikan log koneksi baru",
      "secret": false,
      "strategy": "default",
      "default": "0"
    },
    {
      "key": "PGBOUNCER_MAX_PACKET_SIZE",
      "service": "pgbouncer",
      "description": "Ukuran paket maksimum",
      "secret": false,
      "strategy": "default",
      "default": "2147483647"
    },
    {
      "key": "PGBOUNCER_SERVER_LIFETIME",
      "service": "pgbouncer",
      "description": "Lifetime yang lebih pendek untuk recycle koneksi",
      "secret": false,
      "strategy": "default",
      "default": "1800"
    },
    {
      "key": "PGBOUNCER_DEFAULT_POOL_SIZE",
      "service": "pgbouncer",
      "description": "Ukuran pool default yang lebih besar",
      "secret": false,
      "strategy": "default",
      "default": "100"
    },
    {
      "key": "PGBOUNCER_SERVER_FAST_CLOSE",
      "service": "pgbouncer",
      "description": "Tutup koneksi lebih cepat",
      "secret": false,
      "strategy": "default",
      "default": "1"
    },
    {
      "key": "PGBOUNCER_CLIENT_TLS_SSLMODE",
      "service": "pgbouncer",
      "description": "Mode SSL client (disable, allow, prefer, require, verify-ca, verify-full)",
      "secret": false,
      "strategy": "default",
      "default": "prefer"
    },
    {
      "key": "PGBOUNCER_LOG_DISCONNECTIONS",
      "service": "pgbouncer",
      "description": "Matikan log pemutusan koneksi",
      "secret": false,
      "strategy": "default",
      "default": "0"
    },
    {
      "key": "PGBOUNCER_QUERY_WAIT_TIMEOUT",
      "service": "pgbouncer",
      "description": "Timeout untuk query yang menunggu",
      "secret": false,
      "strategy": "default",
      "default": "120"
    },
    {
      "key": "PGBOUNCER_SERVER_ROUND_ROBIN",
      "service": "pgbouncer",
      "description": "Distribusi koneksi lebih merata",
      "secret": false,
      "strategy": "default",
      "default": "1"
    },
    {
      "key": "PGBOUNCER_SERVER_TLS_SSLMODE",
      "service": "pgbouncer",
      "description": "Mode SSL server",
      "secret": false,
      "strategy": "default",
      "default": "prefer"
    },
    {
      "key": "PGBOUNCER_SERVER_IDLE_TIMEOUT",
      "service": "pgbouncer",
      "description": "Timeout lebih pendek untuk koneksi idle",
      "secret": false,
      "strategy": "default",
      "default": "60"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "pfd9YM"
      }
    },
    "cli": "railway deploy --template pfd9YM",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "a46e57cc-b2f6-42d3-b696-e19ab1a78db3",
            "serializedConfig": {
              "services": {
                "35b43bf0-cd7a-4be7-91de-606ca05a70d1": {
                  "icon": "https://img.icons8.com/color/48/postgreesql.png",
                  "name": "postgres",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": null
                  },
                  "source": {
                    "repo": "https://github.com/antisofisme/railway",
                    "rootDirectory": "n8n/postgres"
                  },
                  "variables": {
                    "TZ": {
                      "isOptional": true,
                      "description": "",
                      "defaultValue": ""
                    },
                    "PGDATA": {
                      "isOptional": false,
                      "description": "Directory data PostgreSQL",
                      "defaultValue": "/var/lib/postgresql/data/pgdata"
                    },
                    "PGHOST": {
                      "isOptional": false,
                      "description": "Host internal Railway",
                      "defaultValue": "${{RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "PGPORT": {
                      "isOptional": false,
                      "description": "Port PostgreSQL",
                      "defaultValue": "5432"
                    },
                    "PGSSLMODE": {
                      "isOptional": false,
                      "description": "Mode SSL PostgreSQL",
                      "defaultValue": "prefer"
                    },
                    "POSTGRES_DB": {
                      "isOptional": false,
                      "description": "Nama database",
                      "defaultValue": "n8n"
                    },
                    "POSTGRES_JIT": {
                      "isOptional": false,
                      "description": "Aktifkan Just-In-Time compilation",
                      "defaultValue": "on"
                    },
                    "POSTGRES_USER": {
                      "isOptional": false,
                      "description": "Username database",
                      "defaultValue": "n8n"
                    },
                    "POSTGRES_PASSWORD": {
                      "isOptional": false,
                      "description": "Password database",
                      "defaultValue": "password123"
                    },
                    "POSTGRES_WORK_MEM": {
                      "isOptional": false,
                      "description": "Lebih banyak memori per operasi/koneksi",
                      "defaultValue": "64MB"
                    },
                    "POSTGRES_WAL_LEVEL": {
                      "isOptional": false,
                      "description": "Level WAL untuk replikasi",
                      "defaultValue": "replica"
                    },
                    "POSTGRES_AUTOVACUUM": {
                      "isOptional": false,
                      "description": "Aktifkan autovacuum",
                      "defaultValue": "on"
                    },
                    "POSTGRES_MAX_WAL_SIZE": {
                      "isOptional": false,
                      "description": "Ukuran maksimum WAL sebelum checkpoint",
                      "defaultValue": "4GB"
                    },
                    "POSTGRES_MIN_WAL_SIZE": {
                      "isOptional": false,
                      "description": "Ukuran minimum WAL yang dipertahankan",
                      "defaultValue": "1GB"
                    },
                    "POSTGRES_TEMP_BUFFERS": {
                      "isOptional": false,
                      "description": "Meningkatkan buffer untuk temp tables",
                      "defaultValue": "64MB"
                    },
                    "POSTGRES_JIT_ABOVE_COST": {
                      "isOptional": false,
                      "description": "Threshold lebih rendah untuk aktivasi JIT",
                      "defaultValue": "100000"
                    },
                    "POSTGRES_LOG_LOCK_WAITS": {
                      "isOptional": false,
                      "description": "Log jika menunggu lock",
                      "defaultValue": "on"
                    },
                    "POSTGRES_LOG_TEMP_FILES": {
                      "isOptional": false,
                      "description": "Matikan logging temp files",
                      "defaultValue": "-1"
                    },
                    "POSTGRES_SHARED_BUFFERS": {
                      "isOptional": false,
                      "description": "Meningkatkan cache untuk performa lebih baik",
                      "defaultValue": "4GB"
                    },
                    "POSTGRES_LOG_CHECKPOINTS": {
                      "isOptional": false,
                      "description": "Matikan log checkpoint",
                      "defaultValue": "off"
                    },
                    "POSTGRES_LOG_CONNECTIONS": {
                      "isOptional": false,
                      "description": "Matikan log koneksi",
                      "defaultValue": "off"
                    },
                    "POSTGRES_LOG_MIN_MESSAGES": {
                      "isOptional": false,
                      "description": "Hanya tampilkan warning dan error",
                      "defaultValue": "warning"
                    },
                    "POSTGRES_RANDOM_PAGE_COST": {
                      "isOptional": false,
                      "description": "Optimal untuk SSD",
                      "defaultValue": "1.1"
                    },
                    "POSTGRES_WAL_KEEP_SEGMENTS": {
                      "isOptional": false,
                      "description": "Jumlah segment WAL untuk recovery",
                      "defaultValue": "32"
                    },
                    "POSTGRES_AUTOVACUUM_NAPTIME": {
                      "isOptional": false,
                      "description": "Interval autovacuum",
                      "defaultValue": "5min"
                    },
                    "POSTGRES_LOG_DISCONNECTIONS": {
                      "isOptional": false,
                      "description": "Matikan log pemutusan koneksi",
                      "defaultValue": "off"
                    },
                    "POSTGRES_PARALLEL_SETUP_COST": {
                      "isOptional": false,
                      "description": "Kurangi cost untuk aktivasi paralelisme",
                      "defaultValue": "10"
                    },
                    "POSTGRES_PARALLEL_TUPLE_COST": {
                      "isOptional": false,
                      "description": "Kurangi cost paralelisme",
                      "defaultValue": "0.01"
                    },
                    "POSTGRES_EFFECTIVE_CACHE_SIZE": {
                      "isOptional": false,
                      "description": "Asumsi OS cache yang lebih besar",
                      "defaultValue": "8GB"
                    },
                    "POSTGRES_MAINTENANCE_WORK_MEM": {
                      "isOptional": false,
                      "description": "Lebih banyak memori untuk operasi pemeliharaan",
                      "defaultValue": "1GB"
                    },
                    "POSTGRES_MAX_PARALLEL_WORKERS": {
                      "isOptional": false,
                      "description": "Total worker paralel",
                      "defaultValue": "8"
                    },
                    "POSTGRES_MAX_WORKER_PROCESSES": {
                      "isOptional": false,
                      "description": "Total proses worker",
                      "defaultValue": "8"
                    },
                    "POSTGRES_AUTOVACUUM_MAX_WORKERS": {
                      "isOptional": false,
                      "description": "Jumlah worker autovacuum",
                      "defaultValue": "3"
                    },
                    "POSTGRES_LOG_MIN_ERROR_STATEMENT": {
                      "isOptional": false,
                      "description": "Log statements yang error",
                      "defaultValue": "error"
                    },
                    "POSTGRES_EFFECTIVE_IO_CONCURRENCY": {
                      "isOptional": false,
                      "description": "Lebih banyak concurrent I/O untuk SSD",
                      "defaultValue": "300"
                    },
                    "POSTGRES_LOG_MIN_DURATION_STATEMENT": {
                      "isOptional": false,
                      "description": "Hanya log query yang sangat lambat (>2s)",
                      "defaultValue": "2000"
                    },
                    "POSTGRES_LOG_AUTOVACUUM_MIN_DURATION": {
                      "isOptional": false,
                      "description": "Hanya log autovacuum yang berjalan >10s",
                      "defaultValue": "10000"
                    },
                    "POSTGRES_AUTOVACUUM_VACUUM_SCALE_FACTOR": {
                      "isOptional": false,
                      "description": "Threshold vacuum",
                      "defaultValue": "0.1"
                    },
                    "POSTGRES_AUTOVACUUM_ANALYZE_SCALE_FACTOR": {
                      "isOptional": false,
                      "description": "Threshold analyze",
                      "defaultValue": "0.05"
                    },
                    "POSTGRES_MAX_PARALLEL_WORKERS_PER_GATHER": {
                      "isOptional": false,
                      "description": "Worker per query paralel",
                      "defaultValue": "4"
                    }
                  },
                  "volumeMounts": {
                    "35b43bf0-cd7a-4be7-91de-606ca05a70d1": {
                      "mountPath": "/var/lib/postgresql/data"
                    }
                  }
                },
                "891c2953-d9db-4a41-8d36-15b8ee88a2e2": {
                  "icon": "https://i.ytimg.com/vi/bvgq1ikV6P8/hq720.jpg?sqp=-oaymwEhCK4FEIIDSFryq4qpAxMIARUAAAAAGAElAADIQj0AgKJD&rs=AOn4CLCB5tyrGv6auBxcQLwql-0enfdmYA",
                  "name": "pgadmin",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": null
                  },
                  "source": {
                    "repo": "https://github.com/antisofisme/railway",
                    "rootDirectory": "n8n/pgadmin"
                  },
                  "variables": {
                    "TZ": {
                      "isOptional": true,
                      "description": "",
                      "defaultValue": ""
                    },
                    "PG_SERVER_HOST": {
                      "isOptional": false,
                      "description": "Host PostgreSQL",
                      "defaultValue": "${{postgres.PGHOST}}"
                    },
                    "PG_SERVER_PORT": {
                      "isOptional": false,
                      "description": "Port PostgreSQL",
                      "defaultValue": "${{postgres.PGPORT}}"
                    },
                    "PG_SERVER_USER": {
                      "isOptional": false,
                      "description": "User PostgreSQL",
                      "defaultValue": "${{postgres.POSTGRES_USER}}"
                    },
                    "PGADMIN_DEFAULT_DB": {
                      "isOptional": false,
                      "description": "Database default",
                      "defaultValue": "${{postgres.POSTGRES_DB}}"
                    },
                    "PG_SERVER_DATABASE": {
                      "isOptional": false,
                      "description": "Database PostgreSQL",
                      "defaultValue": "${{postgres.POSTGRES_DB}}"
                    },
                    "PG_SERVER_PASSWORD": {
                      "isOptional": false,
                      "description": "Password PostgreSQL",
                      "defaultValue": "${{postgres.POSTGRES_PASSWORD}}"
                    },
                    "PGADMIN_LISTEN_PORT": {
                      "isOptional": false,
                      "description": "Port untuk web interface",
                      "defaultValue": "8080"
                    },
                    "PGADMIN_DEFAULT_HOST": {
                      "isOptional": false,
                      "description": "Host default",
                      "defaultValue": "${{postgres.PGHOST}}"
                    },
                    "PGADMIN_DEFAULT_PORT": {
                      "isOptional": false,
                      "description": "Port default",
                      "defaultValue": "${{postgres.PGPORT}}"
                    },
                    "PGADMIN_DEFAULT_USER": {
                      "isOptional": false,
                      "description": "User default",
                      "defaultValue": "${{postgres.POSTGRES_USER}}"
                    },
                    "PGADMIN_DEFAULT_EMAIL": {
                      "isOptional": false,
                      "description": "Email admin",
                      "defaultValue": "admin@bantujelasin.com"
                    },
                    "PGADMIN_DEFAULT_PASSWORD": {
                      "isOptional": false,
                      "description": "Password default",
                      "defaultValue": "${{postgres.POSTGRES_PASSWORD}}"
                    },
                    "PGADMIN_SERVER_JSON_FILE": {
                      "isOptional": false,
                      "description": "File konfigurasi server",
                      "defaultValue": "/pgadmin4/servers.json"
                    },
                    "PGADMIN_CONFIG_CSV_QUOTING": {
                      "isOptional": false,
                      "description": "Mode quoting CSV",
                      "defaultValue": "'all'"
                    },
                    "PGADMIN_CONFIG_ENABLE_PSQL": {
                      "isOptional": false,
                      "description": "Aktifkan terminal psql",
                      "defaultValue": "True"
                    },
                    "PGADMIN_CONFIG_MFA_ENABLED": {
                      "isOptional": false,
                      "description": "Matikan MFA",
                      "defaultValue": "False"
                    },
                    "PGADMIN_CONFIG_SERVER_MODE": {
                      "isOptional": false,
                      "description": "Mode server",
                      "defaultValue": "True"
                    },
                    "PGADMIN_CONFIG_AUTH_SOURCES": {
                      "isOptional": false,
                      "description": "Sumber autentikasi",
                      "defaultValue": "['internal']"
                    },
                    "PGADMIN_CONFIG_BINARY_PATHS": {
                      "isOptional": false,
                      "description": "Path utilitas PostgreSQL",
                      "defaultValue": "{'pg': '/usr/bin'}"
                    },
                    "PGADMIN_CONFIG_EXPLAIN_COSTS": {
                      "isOptional": false,
                      "description": "Tampilkan biaya",
                      "defaultValue": "True"
                    },
                    "PGADMIN_CONFIG_CSV_QUOTE_CHAR": {
                      "isOptional": false,
                      "description": "Karakter quote CSV",
                      "defaultValue": "'\\\"'"
                    },
                    "PGADMIN_CONFIG_EXPLAIN_BUFFERS": {
                      "isOptional": false,
                      "description": "Tampilkan buffer",
                      "defaultValue": "True"
                    },
                    "PGADMIN_CONFIG_EXPLAIN_VERBOSE": {
                      "isOptional": false,
                      "description": "Explain detail",
                      "defaultValue": "True"
                    },
                    "PGADMIN_CONFIG_CONSOLE_LOG_LEVEL": {
                      "isOptional": false,
                      "description": "Level log INFO",
                      "defaultValue": "20"
                    },
                    "PGADMIN_CONFIG_ALLOW_SAVE_PASSWORD": {
                      "isOptional": false,
                      "description": "Izinkan simpan password",
                      "defaultValue": "True"
                    },
                    "PGADMIN_CONFIG_CSV_FIELD_SEPARATOR": {
                      "isOptional": false,
                      "description": "Pemisah field CSV",
                      "defaultValue": "','"
                    },
                    "PGADMIN_CONFIG_SQL_EDITOR_TAB_SIZE": {
                      "isOptional": false,
                      "description": "Ukuran tab editor",
                      "defaultValue": "4"
                    },
                    "PGADMIN_CONFIG_MAX_QUERY_HIST_STORED": {
                      "isOptional": false,
                      "description": "Riwayat query",
                      "defaultValue": "500"
                    },
                    "PGADMIN_CONFIG_MAX_SESSION_IDLE_TIME": {
                      "isOptional": false,
                      "description": "Waktu idle maksimum (2 jam)",
                      "defaultValue": "7200"
                    },
                    "PGADMIN_CONFIG_UPGRADE_CHECK_ENABLED": {
                      "isOptional": false,
                      "description": "Matikan cek upgrade",
                      "defaultValue": "False"
                    },
                    "PGADMIN_CONFIG_SHARED_STORAGE_MAX_SIZE": {
                      "isOptional": false,
                      "description": "Ukuran penyimpanan bersama (1GB)",
                      "defaultValue": "1073741824"
                    },
                    "PGADMIN_CONFIG_CHECK_CORRUPTED_DB_ENTRY": {
                      "isOptional": false,
                      "description": "Matikan cek korupsi",
                      "defaultValue": "False"
                    },
                    "PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED": {
                      "isOptional": false,
                      "description": "Tidak wajib master password",
                      "defaultValue": "False"
                    },
                    "PGADMIN_CONFIG_MAX_TRANSACTION_LOG_SIZE": {
                      "isOptional": false,
                      "description": "Ukuran log transaksi (100MB)",
                      "defaultValue": "104857600"
                    },
                    "PGADMIN_CONFIG_TABLE_ROWS_DISPLAY_COUNT": {
                      "isOptional": false,
                      "description": "Jumlah baris tabel",
                      "defaultValue": "500"
                    },
                    "PGADMIN_CONFIG_ALLOW_SAVE_TUNNEL_PASSWORD": {
                      "isOptional": false,
                      "description": "Izinkan simpan password tunnel",
                      "defaultValue": "True"
                    },
                    "PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION": {
                      "isOptional": false,
                      "description": "Proteksi cookie",
                      "defaultValue": "True"
                    },
                    "PGADMIN_CONFIG_ENABLE_RUNTIME_DOWNLOAD_ASSETS": {
                      "isOptional": false,
                      "description": "Aktifkan download aset",
                      "defaultValue": "True"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>": {}
                    }
                  }
                },
                "a91ada7e-4bd9-4a94-8f07-722a95abb40b": {
                  "icon": "https://www.datasunrise.com/wp-content/uploads/2016/12/Connection-Pooling-with-PgBouncer-min.jpg",
                  "name": "pgbouncer",
                  "deploy": {
                    "startCommand": null,
                    "healthcheckPath": null
                  },
                  "source": {
                    "repo": "https://github.com/antisofisme/railway",
                    "rootDirectory": "n8n/pgbouncer"
                  },
                  "variables": {
                    "TZ": {
                      "isOptional": true,
                      "description": "",
                      "defaultValue": ""
                    },
                    "PGHOST": {
                      "isOptional": false,
                      "description": "Host PostgreSQL",
                      "defaultValue": "${{postgres.PGHOST}}"
                    },
                    "PGPORT": {
                      "isOptional": false,
                      "description": "Port PostgreSQL",
                      "defaultValue": "${{postgres.PGPORT}}"
                    },
                    "PGUSER": {
                      "isOptional": false,
                      "description": "User PostgreSQL",
                      "defaultValue": "${{postgres.POSTGRES_USER}}"
                    },
                    "PGDATABASE": {
                      "isOptional": false,
                      "description": "Database PostgreSQL",
                      "defaultValue": "${{postgres.POSTGRES_DB}}"
                    },
                    "PGPASSWORD": {
                      "isOptional": false,
                      "description": "Password PostgreSQL",
                      "defaultValue": "${{postgres.POSTGRES_PASSWORD}}"
                    },
                    "POSTGRES_DB": {
                      "isOptional": false,
                      "description": "Duplikat untuk kompatibilitas",
                      "defaultValue": "${{postgres.POSTGRES_DB}}"
                    },
                    "PGBOUNCER_SSL": {
                      "isOptional": false,
                      "description": "Aktifkan SSL",
                      "defaultValue": "true"
                    },
                    "POSTGRES_USER": {
                      "isOptional": false,
                      "description": "Duplikat untuk kompatibilitas",
                      "defaultValue": "${{postgres.POSTGRES_USER}}"
                    },
                    "PGBOUNCER_HOST": {
                      "isOptional": false,
                      "description": "Integrasi dengan PostgreSQL",
                      "defaultValue": "${{RAILWAY_PRIVATE_DOMAIN}}"
                    },
                    "PGBOUNCER_PKT_BUF": {
                      "isOptional": false,
                      "description": "Ukuran buffer paket",
                      "defaultValue": "16384"
                    },
                    "POSTGRES_PASSWORD": {
                      "isOptional": false,
                      "description": "Duplikat untuk kompatibilitas",
                      "defaultValue": "${{postgres.POSTGRES_PASSWORD}}"
                    },
                    "PGBOUNCER_AUTH_TYPE": {
                      "isOptional": false,
                      "description": "Metode autentikasi",
                      "defaultValue": "md5"
                    },
                    "PGBOUNCER_LOG_STATS": {
                      "isOptional": false,
                      "description": "Matikan log statistik",
                      "defaultValue": "0"
                    },
                    "PGBOUNCER_POOL_MODE": {
                      "isOptional": false,
                      "description": "Mode pool per transaksi",
                      "defaultValue": "transaction"
                    },
                    "PGBOUNCER_LISTEN_ADDR": {
                      "isOptional": false,
                      "description": "Alamat untuk mendengarkan koneksi",
                      "defaultValue": "*"
                    },
                    "PGBOUNCER_LISTEN_PORT": {
                      "isOptional": false,
                      "description": "Port untuk koneksi klien",
                      "defaultValue": "6432"
                    },
                    "PGBOUNCER_TLS_ENABLED": {
                      "isOptional": false,
                      "description": "Aktifkan SSL secara global",
                      "defaultValue": "true"
                    },
                    "PGBOUNCER_STATS_PERIOD": {
                      "isOptional": false,
                      "description": "Interval statistik",
                      "defaultValue": "60"
                    },
                    "PGBOUNCER_TCP_KEEPIDLE": {
                      "isOptional": false,
                      "description": "Waktu idle sebelum keepalive",
                      "defaultValue": "60"
                    },
                    "PGBOUNCER_MIN_POOL_SIZE": {
                      "isOptional": false,
                      "description": "Ukuran pool minimum yang lebih besar",
                      "defaultValue": "20"
                    },
                    "PGBOUNCER_TCP_KEEPALIVE": {
                      "isOptional": false,
                      "description": "Aktifkan TCP keepalive",
                      "defaultValue": "1"
                    },
                    "PGBOUNCER_TCP_KEEPINTVL": {
                      "isOptional": false,
                      "description": "Interval keepalive",
                      "defaultValue": "30"
                    },
                    "PGBOUNCER_LOG_CONNECTIONS": {
                      "isOptional": false,
                      "description": "Matikan log koneksi baru",
                      "defaultValue": "0"
                    },
                    "PGBOUNCER_MAX_PACKET_SIZE": {
                      "isOptional": false,
                      "description": "Ukuran paket maksimum",
                      "defaultValue": "2147483647"
                    },
                    "PGBOUNCER_SERVER_LIFETIME": {
                      "isOptional": false,
                      "description": "Lifetime yang lebih pendek untuk recycle koneksi",
                      "defaultValue": "1800"
                    },
                    "PGBOUNCER_DEFAULT_POOL_SIZE": {
                      "isOptional": false,
                      "description": "Ukuran pool default yang lebih besar",
                      "defaultValue": "100"
                    },
                    "PGBOUNCER_SERVER_FAST_CLOSE": {
                      "isOptional": false,
                      "description": "Tutup koneksi lebih cepat",
                      "defaultValue": "1"
                    },
                    "PGBOUNCER_CLIENT_TLS_SSLMODE": {
                      "isOptional": false,
                      "description": "Mode SSL client (disable, allow, prefer, require, verify-ca, verify-full)",
                      "defaultValue": "prefer"
                    },
                    "PGBOUNCER_LOG_DISCONNECTIONS": {
                      "isOptional": false,
                      "description": "Matikan log pemutusan koneksi",
                      "defaultValue": "0"
                    },
                    "PGBOUNCER_QUERY_WAIT_TIMEOUT": {
                      "isOptional": false,
                      "description": "Timeout untuk query yang menunggu",
                      "defaultValue": "120"
                    },
                    "PGBOUNCER_SERVER_ROUND_ROBIN": {
                      "isOptional": false,
                      "description": "Distribusi koneksi lebih merata",
                      "defaultValue": "1"
                    },
                    "PGBOUNCER_SERVER_TLS_SSLMODE": {
                      "isOptional": false,
                      "description": "Mode SSL server",
                      "defaultValue": "prefer"
                    },
                    "PGBOUNCER_SERVER_IDLE_TIMEOUT": {
                      "isOptional": false,
                      "description": "Timeout lebih pendek untuk koneksi idle",
                      "defaultValue": "60"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {},
  "resources": {
    "expected_services": 3,
    "needs_volume": true
  },
  "generated_at": "2026-09-21T22:14:44.200Z",
  "generator_version": "0.1.0",
  "status": "degraded",
  "validated_at": "2026-09-21T07:33:59.227Z",
  "success_rate_30d": 0,
  "validation": {
    "last_run_id": "run_551c39a8af794ec58f26",
    "checks": [
      {
        "name": "workflow_completed",
        "passed": false,
        "detail": "Repository \"antisofisme/railway\" not found or is not accessible"
      }
    ]
  }
}
