@kici-dev/orchestrator 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent-version.d.ts +12 -21
- package/dist/agent/dispatcher.d.ts +283 -437
- package/dist/agent/host-roster-reaper.d.ts +8 -10
- package/dist/agent/host-roster.d.ts +77 -100
- package/dist/agent/ownership-refusal.d.ts +3 -5
- package/dist/agent/ownership-tracker.d.ts +42 -76
- package/dist/agent/registry.d.ts +121 -233
- package/dist/agent/token-store.d.ts +34 -77
- package/dist/agent-packaging/availability.d.ts +6 -9
- package/dist/agent-packaging/download.d.ts +6 -9
- package/dist/agent-packaging/install-closure.d.ts +9 -12
- package/dist/agent-packaging/node-binary.d.ts +6 -10
- package/dist/agent-packaging/node-runtime-members.d.ts +3 -5
- package/dist/agent-packaging/refresh.d.ts +12 -16
- package/dist/agent-packaging/store.d.ts +5 -6
- package/dist/agent-packaging/upload.d.ts +3 -4
- package/dist/app.d.ts +0 -3
- package/dist/approvals/apply-decision.d.ts +35 -52
- package/dist/approvals/approval-resolver.d.ts +11 -23
- package/dist/approvals/held-run-release-wiring.d.ts +14 -21
- package/dist/approvals/independent-wiring.d.ts +13 -20
- package/dist/approvals/resume-router.d.ts +1 -1
- package/dist/approvals/step-approval-bridge.d.ts +11 -21
- package/dist/approvals/triggerer-subject.d.ts +8 -10
- package/dist/artifacts/artifact-store.d.ts +55 -95
- package/dist/artifacts/failure-messages.d.ts +15 -20
- package/dist/audit/access-log.d.ts +27 -45
- package/dist/audit/sampling-rate-limiter.d.ts +11 -23
- package/dist/cache/agent-job-failed-error.d.ts +2 -3
- package/dist/cache/build-coordinator.d.ts +5 -28
- package/dist/cache/cache-upload-settle.d.ts +11 -11
- package/dist/cache/dep-cache.d.ts +32 -60
- package/dist/cache/dispatch-cache-ref-tracker.d.ts +15 -23
- package/dist/cache/global-eval-round-cache.d.ts +33 -41
- package/dist/cache/pending-builds.d.ts +2 -6
- package/dist/cache/pending-dynamics.d.ts +2 -7
- package/dist/cache/pending-global-evals.d.ts +9 -12
- package/dist/cache/pending-inits.d.ts +11 -22
- package/dist/cache/pending-precursor-db-watcher.d.ts +24 -32
- package/dist/cache/pending-tracker.d.ts +17 -45
- package/dist/cache/precursor-result.d.ts +17 -30
- package/dist/cache/source-cache.d.ts +36 -65
- package/dist/cache/user-cache.d.ts +21 -25
- package/dist/cancel/cancel-held-run.d.ts +13 -16
- package/dist/cancel/cancel-route-answer.d.ts +1 -2
- package/dist/cancel/cancel-run.d.ts +26 -50
- package/dist/cancel/dashboard-cancel-handler.d.ts +2 -2
- package/dist/cancel/peer-job-cancel.d.ts +11 -14
- package/dist/cancel/sweep-stuck-cancelling.d.ts +9 -13
- package/dist/cli/api-client.d.ts +25 -76
- package/dist/cli/commands/access-log.d.ts +4 -24
- package/dist/cli/commands/agent-package.d.ts +7 -15
- package/dist/cli/commands/agent-service/agent-env.d.ts +3 -6
- package/dist/cli/commands/agent-service/index.d.ts +4 -10
- package/dist/cli/commands/agent-service/install.d.ts +4 -11
- package/dist/cli/commands/agent-service/status.d.ts +4 -9
- package/dist/cli/commands/agent-service/upgrade.d.ts +4 -16
- package/dist/cli/commands/agent.d.ts +12 -25
- package/dist/cli/commands/api-key.d.ts +5 -12
- package/dist/cli/commands/attestations-list.d.ts +7 -17
- package/dist/cli/commands/attestations-retry.d.ts +5 -11
- package/dist/cli/commands/attestations-reverify.d.ts +4 -5
- package/dist/cli/commands/attestations.d.ts +3 -8
- package/dist/cli/commands/audit.d.ts +1 -5
- package/dist/cli/commands/backend.d.ts +2 -11
- package/dist/cli/commands/check-run.d.ts +7 -18
- package/dist/cli/commands/cluster-name.d.ts +5 -12
- package/dist/cli/commands/cluster-settings.d.ts +28 -53
- package/dist/cli/commands/cold-store.d.ts +7 -15
- package/dist/cli/commands/config.d.ts +9 -20
- package/dist/cli/commands/context.d.ts +8 -20
- package/dist/cli/commands/dashboard-encryption-key.d.ts +9 -14
- package/dist/cli/commands/db-backup.d.ts +17 -32
- package/dist/cli/commands/db.d.ts +3 -4
- package/dist/cli/commands/debug-bundle.d.ts +3 -10
- package/dist/cli/commands/diagnose.d.ts +3 -14
- package/dist/cli/commands/event-dlq.d.ts +4 -12
- package/dist/cli/commands/event-log.d.ts +2 -20
- package/dist/cli/commands/execution.d.ts +3 -9
- package/dist/cli/commands/firecracker/index.d.ts +3 -6
- package/dist/cli/commands/held-run.d.ts +23 -37
- package/dist/cli/commands/host.d.ts +4 -11
- package/dist/cli/commands/inspect-bundle.d.ts +3 -11
- package/dist/cli/commands/local-hook.d.ts +2 -10
- package/dist/cli/commands/local-trigger.d.ts +2 -2
- package/dist/cli/commands/orchestrator-service/drain.d.ts +3 -6
- package/dist/cli/commands/orchestrator-service/index.d.ts +6 -14
- package/dist/cli/commands/orchestrator-service/install-env.d.ts +25 -49
- package/dist/cli/commands/orchestrator-service/install.d.ts +2 -5
- package/dist/cli/commands/orchestrator-service/status.d.ts +10 -22
- package/dist/cli/commands/orchestrator-service/upgrade.d.ts +6 -15
- package/dist/cli/commands/org-settings.d.ts +5 -11
- package/dist/cli/commands/peer.d.ts +5 -10
- package/dist/cli/commands/queue.d.ts +3 -9
- package/dist/cli/commands/registration.d.ts +4 -8
- package/dist/cli/commands/remote-source.d.ts +6 -12
- package/dist/cli/commands/rotate.d.ts +1 -5
- package/dist/cli/commands/runs.d.ts +1 -30
- package/dist/cli/commands/scaler.d.ts +5 -12
- package/dist/cli/commands/secret.d.ts +1 -9
- package/dist/cli/commands/service-health.d.ts +5 -10
- package/dist/cli/commands/shared/admin-cli-access-log.d.ts +10 -19
- package/dist/cli/commands/shared/bare-metal-binary-check.d.ts +86 -0
- package/dist/cli/commands/shared/cli-action.d.ts +1 -4
- package/dist/cli/commands/shared/confirm.d.ts +5 -10
- package/dist/cli/commands/shared/db.d.ts +1 -12
- package/dist/cli/commands/shared/env-file-mode.d.ts +6 -9
- package/dist/cli/commands/shared/secret-input.d.ts +7 -21
- package/dist/cli/commands/shared/service-verbs.d.ts +6 -12
- package/dist/cli/commands/shared/unbound-context-warning.d.ts +2 -4
- package/dist/cli/commands/shared/upgrade-hooks.d.ts +7 -16
- package/dist/cli/commands/shared/upgrade-safety.d.ts +20 -31
- package/dist/cli/commands/shared/versioned-upgrade.d.ts +83 -161
- package/dist/cli/commands/signing-key.d.ts +4 -9
- package/dist/cli/commands/source-manifest.d.ts +11 -14
- package/dist/cli/commands/source.d.ts +7 -32
- package/dist/cli/commands/token.d.ts +4 -15
- package/dist/cli/commands/trust-policy.d.ts +35 -88
- package/dist/cli/commands/variable.d.ts +3 -5
- package/dist/cli/commands/workflow.d.ts +3 -24
- package/dist/cli/join.d.ts +3 -6
- package/dist/cli/kici-admin.d.ts +11 -29
- package/dist/cli/lazy-deps/cache.d.ts +1 -14
- package/dist/cli/lazy-deps/downloader.d.ts +4 -27
- package/dist/cli/lazy-deps/registry.d.ts +5 -25
- package/dist/cli/local-github-ingress-url.d.ts +5 -7
- package/dist/cli/loopback-callback.d.ts +6 -7
- package/dist/cli/open-browser.d.ts +4 -8
- package/dist/cli/root-option-routing.d.ts +17 -29
- package/dist/cli/service/backup-timer.d.ts +16 -39
- package/dist/cli/service/compose-path.d.ts +3 -7
- package/dist/cli/service/compose.d.ts +12 -30
- package/dist/cli/service/deploy-env.d.ts +6 -18
- package/dist/cli/service/entrypoint.d.ts +14 -25
- package/dist/cli/service/env-assignment.d.ts +6 -17
- package/dist/cli/service/image-digests.d.ts +6 -15
- package/dist/cli/service/index.d.ts +2 -18
- package/dist/cli/service/instance/index-file.d.ts +9 -16
- package/dist/cli/service/instance/manifest.d.ts +33 -59
- package/dist/cli/service/instance/resolve.d.ts +32 -68
- package/dist/cli/service/instance/types.d.ts +12 -29
- package/dist/cli/service/launchd.d.ts +29 -60
- package/dist/cli/service/platform-detect.d.ts +13 -68
- package/dist/cli/service/privilege.d.ts +12 -25
- package/dist/cli/service/shutdown-grace.d.ts +11 -20
- package/dist/cli/service/systemd.d.ts +7 -20
- package/dist/cli/service/types.d.ts +63 -114
- package/dist/cli/service/windows-acl.d.ts +14 -21
- package/dist/cli/service/windows-env-file.d.ts +10 -28
- package/dist/cli/service/windows.d.ts +15 -31
- package/dist/cli/webhook-url-notes.d.ts +4 -6
- package/dist/cli/wizard/agent-wizard.d.ts +3 -14
- package/dist/cli/wizard/orchestrator-wizard.d.ts +12 -37
- package/dist/cli/wizard/prompts.d.ts +6 -16
- package/dist/cli.js +4568 -6571
- package/dist/cluster/cluster-identity.d.ts +20 -32
- package/dist/cluster/cluster-settings-reader.d.ts +50 -77
- package/dist/cluster/coordinator-credential.d.ts +4 -5
- package/dist/cluster/coordinator.d.ts +76 -148
- package/dist/cluster/health-api.d.ts +2 -10
- package/dist/cluster/index.d.ts +1 -6
- package/dist/cluster/instance-heartbeat.d.ts +26 -42
- package/dist/cluster/join-client.d.ts +4 -7
- package/dist/cluster/join-handler.d.ts +3 -7
- package/dist/cluster/join-token.d.ts +13 -27
- package/dist/cluster/leader-gated-scheduler.d.ts +8 -17
- package/dist/cluster/orphan-recovery.d.ts +13 -35
- package/dist/cluster/peer-auth-coordinator.d.ts +2 -8
- package/dist/cluster/peer-client.d.ts +46 -76
- package/dist/cluster/peer-credentials.d.ts +24 -70
- package/dist/cluster/peer-crypto.d.ts +5 -26
- package/dist/cluster/peer-forget.d.ts +3 -3
- package/dist/cluster/peer-handler.d.ts +47 -71
- package/dist/cluster/peer-registry.d.ts +37 -106
- package/dist/cluster/plan-headroom-store.d.ts +4 -6
- package/dist/cluster/raft-state.d.ts +4 -13
- package/dist/cluster/raft.d.ts +18 -53
- package/dist/cluster/reconcile-identity.d.ts +8 -11
- package/dist/cluster/rerouted-job-guard.d.ts +7 -11
- package/dist/cluster/verified-issuer.d.ts +2 -3
- package/dist/cluster/worker-cluster-settings.d.ts +7 -10
- package/dist/cluster/worker-eviction.d.ts +16 -26
- package/dist/cold-store/load-access-log-range.d.ts +15 -31
- package/dist/cold-store/load-event-log-range.d.ts +13 -27
- package/dist/cold-store/load-secret-audit-log-range.d.ts +8 -12
- package/dist/cold-store/orchestrator-cold-store.d.ts +8 -28
- package/dist/cold-store/tables/access-log.d.ts +12 -14
- package/dist/cold-store/tables/event-log.d.ts +4 -8
- package/dist/cold-store/tables/execution-runs.d.ts +6 -11
- package/dist/cold-store/tables/secret-audit-log.d.ts +5 -12
- package/dist/concurrency/dispatch-next-queued.d.ts +13 -25
- package/dist/concurrency/queue-manager.d.ts +22 -54
- package/dist/concurrency/waiters.d.ts +15 -31
- package/dist/config/encryption.d.ts +0 -2
- package/dist/config/loader.d.ts +0 -1
- package/dist/config/reload.d.ts +0 -6
- package/dist/config/resolver.d.ts +0 -4
- package/dist/config/shared-store.d.ts +0 -2
- package/dist/config/types.d.ts +0 -3
- package/dist/content-requirements-cache.d.ts +0 -1
- package/dist/contexts/context-store.d.ts +0 -2
- package/dist/contexts/held-runs.d.ts +0 -2
- package/dist/contexts/variable-store.d.ts +0 -2
- package/dist/dashboard/attestation-filters.d.ts +13 -18
- package/dist/dashboard/handler.d.ts +143 -307
- package/dist/db/client.d.ts +2 -6
- package/dist/db/deferred-index-build.d.ts +8 -10
- package/dist/db/deferred-indexes.d.ts +15 -22
- package/dist/db/migration-provider.d.ts +2 -4
- package/dist/db/migration-test-harness.d.ts +26 -44
- package/dist/db/migrations/001_initial.d.ts +1 -4
- package/dist/db/migrations/002_config_versions_key_version.d.ts +5 -8
- package/dist/db/migrations/003_access_log.d.ts +10 -15
- package/dist/db/migrations/004_rename_bundle_to_source.d.ts +7 -9
- package/dist/db/migrations/005_cold_store_chunk_counter.d.ts +4 -10
- package/dist/db/migrations/006_runs_jobs_steps_archived_at.d.ts +9 -29
- package/dist/db/migrations/007_audit_logs_archived_at.d.ts +11 -30
- package/dist/db/migrations/008_event_log_archived_at.d.ts +14 -29
- package/dist/db/migrations/009_access_log_trigram.d.ts +4 -8
- package/dist/db/migrations/010_cold_store_chunks.d.ts +16 -26
- package/dist/db/migrations/011_drop_source_secrets_notify.d.ts +6 -14
- package/dist/db/migrations/012_peer_credentials_active_uniq.d.ts +9 -14
- package/dist/db/migrations/013_execution_log_bytes.d.ts +5 -13
- package/dist/db/migrations/014_kici_events_lease_retry.d.ts +14 -27
- package/dist/db/migrations/015_org_settings_customer_scoped.d.ts +12 -17
- package/dist/db/migrations/016_org_settings_allow_http_npm.d.ts +4 -6
- package/dist/db/migrations/019_generic_sources_change_notify.d.ts +13 -17
- package/dist/db/migrations/020_org_settings_dashboard_write_policy.d.ts +5 -8
- package/dist/db/migrations/021_check_run_tracking.d.ts +5 -17
- package/dist/db/migrations/022_scaler_manager_state.d.ts +10 -20
- package/dist/db/migrations/023_dispatch_queue_recovery_deadline.d.ts +7 -18
- package/dist/db/migrations/024_dispatch_queue_provisioning_error.d.ts +5 -11
- package/dist/db/migrations/025_init_failure.d.ts +5 -9
- package/dist/db/migrations/027_workflow_timeout.d.ts +5 -13
- package/dist/db/migrations/029_dispatch_queue_attempts.d.ts +4 -10
- package/dist/db/migrations/030_held_runs_env_set_null.d.ts +5 -6
- package/dist/db/migrations/031_dispatch_queue_ack_deadline.d.ts +6 -12
- package/dist/db/migrations/033_org_settings_approval.d.ts +7 -10
- package/dist/db/migrations/034_held_runs_generalize.d.ts +10 -18
- package/dist/db/migrations/035_pending_workflow_contexts.d.ts +4 -5
- package/dist/db/migrations/037_generic_sources_provider_type_local.d.ts +5 -6
- package/dist/db/migrations/038_remote_sources.d.ts +5 -7
- package/dist/db/migrations/045_host_properties.d.ts +5 -9
- package/dist/db/migrations/046_join_token_consumed_by_instance.d.ts +5 -10
- package/dist/db/migrations/048_host_reboot_pending.d.ts +6 -12
- package/dist/db/migrations/049_held_runs_payload.d.ts +3 -8
- package/dist/db/migrations/050_sources_slug.d.ts +4 -5
- package/dist/db/migrations/051_binding_host_pattern.d.ts +7 -10
- package/dist/db/migrations/052_host_reach_metadata.d.ts +8 -11
- package/dist/db/migrations/053_agent_token_single_use.d.ts +6 -10
- package/dist/db/migrations/054_local_working_tree.d.ts +4 -6
- package/dist/db/migrations/055_agent_token_mandatory_labels.d.ts +6 -11
- package/dist/db/migrations/056_execution_jobs_environments.d.ts +4 -11
- package/dist/db/migrations/064_execution_jobs_skipped_environments.d.ts +6 -9
- package/dist/db/migrations/065_pending_attestations.d.ts +9 -12
- package/dist/db/migrations/066_pending_attestations_rejected.d.ts +4 -7
- package/dist/db/migrations/068_request_idempotency.d.ts +7 -9
- package/dist/db/migrations/069_reroute_tunables.d.ts +6 -14
- package/dist/db/migrations/071_batch_accumulation.d.ts +8 -16
- package/dist/db/migrations/072_dispatch_queue_run_id_index.d.ts +3 -9
- package/dist/db/migrations/074_normalize_zero_concurrency_limit.d.ts +4 -7
- package/dist/db/migrations/076_artifacts.d.ts +7 -8
- package/dist/db/migrations/078_org_settings_backup_staleness.d.ts +3 -6
- package/dist/db/migrations/079_org_settings_scaler_spawn_timeout.d.ts +4 -8
- package/dist/db/migrations/080_cluster_settings.d.ts +6 -10
- package/dist/db/migrations/081_org_settings_queue_timeout.d.ts +7 -11
- package/dist/db/migrations/082_host_s3_reachable.d.ts +5 -10
- package/dist/db/migrations/083_org_settings_artifact_caps.d.ts +6 -8
- package/dist/db/migrations/084_orchestrator_signing_keys.d.ts +8 -13
- package/dist/db/migrations/085_cluster_settings_reroute_flap_grace_ms.d.ts +4 -5
- package/dist/db/migrations/086_cluster_settings_max_fanout_hosts.d.ts +3 -3
- package/dist/db/migrations/087_cluster_settings_event_router_rate_limit.d.ts +5 -3
- package/dist/db/migrations/088_cluster_settings_cache_max_tarball_bytes.d.ts +3 -3
- package/dist/db/migrations/089_cluster_settings_cache_ttl_days.d.ts +3 -5
- package/dist/db/migrations/090_cluster_settings_concurrency_wait_timeout_ms.d.ts +3 -6
- package/dist/db/migrations/091_cluster_settings_agent_token_ttl_ms.d.ts +3 -6
- package/dist/db/migrations/092_cluster_settings_version.d.ts +5 -9
- package/dist/db/migrations/094_dashboard_encryption_keys.d.ts +9 -14
- package/dist/db/migrations/095_dashboard_write_policy_tristate.d.ts +2 -6
- package/dist/db/migrations/099_cluster_settings_dashboard_verified_issuer.d.ts +8 -11
- package/dist/db/migrations/101_contexts_hold_expiry_drop_default.d.ts +9 -15
- package/dist/db/migrations/102_dispatch_queue_agent_id.d.ts +6 -11
- package/dist/db/migrations/103_cluster_settings_ownership_db_check_timeout_ms.d.ts +6 -12
- package/dist/db/migrations/104_check_run_terminal_sent.d.ts +8 -14
- package/dist/db/migrations/105_org_trust_policy.d.ts +5 -7
- package/dist/db/migrations/106_cluster_settings_check_run_tracking_ttl_days.d.ts +4 -12
- package/dist/db/migrations/107_check_run_tracking_updated_at_index.d.ts +8 -14
- package/dist/db/migrations/113_execution_runs_workflow_repo_index.d.ts +10 -19
- package/dist/db/migrations/115_global_workflows_cluster_switch.d.ts +2 -3
- package/dist/db/migrations/121_org_settings_allow_untrusted_dockerfile_builds.d.ts +7 -8
- package/dist/db/migrations/122_host_roster_scaler_managed.d.ts +9 -16
- package/dist/db/migrations/123_workflow_registrations_default_branch.d.ts +8 -16
- package/dist/db/migrations/125_org_trust_directory.d.ts +13 -21
- package/dist/db/migrations/126_held_runs_posted_pending_check.d.ts +10 -16
- package/dist/db/migrations/127_org_trust_policy_approval_expiry_seconds.d.ts +8 -16
- package/dist/db/migrations/128_execution_runs_global_eval_round.d.ts +6 -11
- package/dist/db/migrations/129_execution_runs_dispatch_routing_key.d.ts +8 -11
- package/dist/db/migrations/130_scaler_provision_outcomes.d.ts +13 -20
- package/dist/db/migrations/131_execution_jobs_git_credentials.d.ts +12 -22
- package/dist/db/migrations/132_execution_runs_trigger_event.d.ts +6 -16
- package/dist/db/migrations/133_dispatch_queue_source_tar_digest.d.ts +6 -9
- package/dist/db/migrations/140_dispatch_queue_canonical_labels.d.ts +22 -40
- package/dist/db/migrations/143_execution_jobs_precursor_result.d.ts +9 -18
- package/dist/db/migrations/144_execution_runs_registration_window.d.ts +12 -20
- package/dist/db/migrations/147_sealed_job_secrets.d.ts +5 -9
- package/dist/db/migrations/148_cluster_settings_sealed_secrets_retry_backoff_ms.d.ts +7 -13
- package/dist/db/migrations/150_execution_runs_status_epoch.d.ts +6 -11
- package/dist/db/migrations/152_org_settings_cache_upload_settle_timeout.d.ts +5 -8
- package/dist/db/migrations/157_host_roster_identity_source.d.ts +9 -13
- package/dist/db/migrations/159_org_id_widen_to_source_width.d.ts +5 -0
- package/dist/db/migrator.d.ts +17 -25
- package/dist/db/notify-listener.d.ts +8 -11
- package/dist/db/repos/dashboard-encryption-keys-repo.d.ts +9 -10
- package/dist/db/synthetic-job-ids.d.ts +6 -8
- package/dist/db/types.d.ts +531 -1058
- package/dist/deployment/deployment-identity.d.ts +42 -60
- package/dist/diagnostics/bundle-reader.d.ts +3 -15
- package/dist/diagnostics/bundle-writer.d.ts +5 -12
- package/dist/diagnostics/checks/agents.d.ts +1 -7
- package/dist/diagnostics/checks/backup.d.ts +7 -10
- package/dist/diagnostics/checks/certs.d.ts +1 -6
- package/dist/diagnostics/checks/config.d.ts +2 -5
- package/dist/diagnostics/checks/db.d.ts +1 -1
- package/dist/diagnostics/checks/disk.d.ts +1 -6
- package/dist/diagnostics/checks/firecracker-network.d.ts +3 -3
- package/dist/diagnostics/checks/index.d.ts +0 -6
- package/dist/diagnostics/checks/retention.d.ts +3 -6
- package/dist/diagnostics/checks/scaler.d.ts +3 -7
- package/dist/diagnostics/checks/ws.d.ts +1 -6
- package/dist/diagnostics/fleet-collector.d.ts +11 -14
- package/dist/diagnostics/fleet-constants.d.ts +1 -3
- package/dist/diagnostics/fleet-selection.d.ts +3 -7
- package/dist/diagnostics/fleet-topology.d.ts +2 -6
- package/dist/diagnostics/fleet-wiring.d.ts +6 -12
- package/dist/diagnostics/index.d.ts +0 -5
- package/dist/diagnostics/runner.d.ts +4 -8
- package/dist/diagnostics/types.d.ts +10 -21
- package/dist/drain/drain-controller.d.ts +16 -22
- package/dist/entry-helpers.d.ts +0 -2
- package/dist/events/circuit-breaker.d.ts +0 -3
- package/dist/events/event-router.d.ts +1 -2
- package/dist/events/event-store.d.ts +0 -9
- package/dist/events/trust-store.d.ts +0 -3
- package/dist/events/types.d.ts +0 -9
- package/dist/firecracker/host-network.d.ts +24 -30
- package/dist/firecracker/net-interfaces.d.ts +4 -7
- package/dist/helpers/rate-limiter.d.ts +0 -1
- package/dist/index.js +240 -482
- package/dist/metrics/agent-metrics-aggregator.d.ts +24 -67
- package/dist/metrics/metrics-reporter.d.ts +4 -13
- package/dist/metrics/prometheus.d.ts +47 -81
- package/dist/orchestrator-core.d.ts +3 -7
- package/dist/pipeline/content-filter.d.ts +20 -30
- package/dist/pipeline/cross-source-tally.d.ts +7 -8
- package/dist/pipeline/decorating-secret-resolver.d.ts +4 -8
- package/dist/pipeline/degraded-reason.d.ts +3 -4
- package/dist/pipeline/direct-ingress-deps.d.ts +15 -24
- package/dist/pipeline/dispatch-matched-workflow.d.ts +289 -525
- package/dist/pipeline/flatten-lock-steps.d.ts +4 -6
- package/dist/pipeline/global-dispatch-identity.d.ts +5 -10
- package/dist/pipeline/global-eval-round.d.ts +65 -151
- package/dist/pipeline/global-round-hold.d.ts +5 -7
- package/dist/pipeline/held-context-data.d.ts +5 -8
- package/dist/pipeline/held-round-registrations.d.ts +8 -11
- package/dist/pipeline/install-gate.d.ts +15 -25
- package/dist/pipeline/install-secrets-resolver.d.ts +24 -34
- package/dist/pipeline/internal-event-pipeline.d.ts +45 -62
- package/dist/pipeline/invoke-gate.d.ts +27 -40
- package/dist/pipeline/job-contexts.d.ts +19 -36
- package/dist/pipeline/manual-schedule.d.ts +7 -13
- package/dist/pipeline/needs-scheduler.d.ts +29 -46
- package/dist/pipeline/pending-workflow-context.d.ts +14 -28
- package/dist/pipeline/process-webhook.d.ts +88 -123
- package/dist/pipeline/processor.d.ts +209 -355
- package/dist/pipeline/remote-source-store.d.ts +5 -8
- package/dist/pipeline/request-idempotency.d.ts +10 -13
- package/dist/pipeline/rerun-global.d.ts +6 -7
- package/dist/pipeline/rerun-inputs.d.ts +23 -37
- package/dist/pipeline/rerun.d.ts +34 -57
- package/dist/pipeline/resolve-sandbox-grant.d.ts +5 -10
- package/dist/pipeline/resume-workflow.d.ts +28 -34
- package/dist/pipeline/route-or-dispatch-jobs.d.ts +19 -30
- package/dist/pipeline/run-event-context.d.ts +16 -21
- package/dist/pipeline/sandbox-allowlist-reader.d.ts +7 -11
- package/dist/pipeline/security-hold-check.d.ts +56 -80
- package/dist/pipeline/test-pipeline.d.ts +20 -46
- package/dist/pipeline/unbound-job-context.d.ts +6 -9
- package/dist/pipeline/undispatched-hold-checks.d.ts +4 -6
- package/dist/pipeline/wave-scheduler.d.ts +15 -22
- package/dist/pipeline/webhook-payload-store.d.ts +3 -10
- package/dist/pipeline/workflow-lock-at-sha.d.ts +14 -20
- package/dist/policy/dashboard-write-policy.d.ts +1 -1
- package/dist/provider-registry.d.ts +0 -19
- package/dist/providers/generic/index.d.ts +0 -2
- package/dist/providers/generic/normalizer.d.ts +0 -1
- package/dist/providers/generic/verification.d.ts +0 -8
- package/dist/providers/github/auth.d.ts +0 -1
- package/dist/providers/github/changed-files.d.ts +2 -1
- package/dist/providers/github/file-contents.d.ts +0 -4
- package/dist/providers/github/lock-file.d.ts +0 -4
- package/dist/providers/github/normalizer.d.ts +1 -9
- package/dist/providers/local/index.d.ts +1 -2
- package/dist/providers/local/lock-file-fetcher.d.ts +0 -4
- package/dist/providers/local/normalizer.d.ts +0 -10
- package/dist/providers/local/repo-url-builder.d.ts +0 -2
- package/dist/providers/universal-git/clone-token.d.ts +0 -2
- package/dist/providers/universal-git/lock-file.d.ts +0 -2
- package/dist/providers/universal-git/normalizer.d.ts +0 -2
- package/dist/queue/bootstrap.d.ts +3 -15
- package/dist/queue/cleanup.d.ts +29 -50
- package/dist/queue/depth-refresher.d.ts +21 -39
- package/dist/queue/job-queue.d.ts +112 -163
- package/dist/queue/retention.d.ts +23 -36
- package/dist/queue/scheduled-job.d.ts +17 -39
- package/dist/queue/terminalize-unroutable.d.ts +16 -18
- package/dist/queue/unroutable-probe.d.ts +15 -22
- package/dist/registration/extractor.d.ts +0 -6
- package/dist/registration/registration-index.d.ts +0 -6
- package/dist/registration/registration-store.d.ts +0 -9
- package/dist/reporting/agent-failure-category.d.ts +3 -5
- package/dist/reporting/check-run-reporter.d.ts +142 -316
- package/dist/reporting/check-run-summary.d.ts +16 -35
- package/dist/reporting/check-run-tracking-store.d.ts +54 -107
- package/dist/reporting/execution-tracker.d.ts +356 -526
- package/dist/reporting/fs-log-storage.d.ts +31 -33
- package/dist/reporting/job-check-run-completion.d.ts +14 -22
- package/dist/reporting/log-chunk-sink.d.ts +11 -16
- package/dist/reporting/log-pull-handler.d.ts +4 -13
- package/dist/reporting/log-retention.d.ts +3 -4
- package/dist/reporting/log-storage.d.ts +24 -52
- package/dist/reporting/log-writer.d.ts +28 -56
- package/dist/reporting/peer-log-normalize.d.ts +4 -8
- package/dist/reporting/run-aggregator.d.ts +6 -11
- package/dist/reporting/run-summary-fields.d.ts +5 -8
- package/dist/reporting/s3-log-storage.d.ts +31 -50
- package/dist/reporting/step-display-order.d.ts +11 -21
- package/dist/reporting/step-log-buffer.d.ts +7 -28
- package/dist/reporting/step-log-reader.d.ts +11 -19
- package/dist/routes/admin-access-log.d.ts +4 -6
- package/dist/routes/admin-auth.d.ts +17 -38
- package/dist/routes/admin-backends.d.ts +3 -14
- package/dist/routes/admin-cluster-name.d.ts +13 -21
- package/dist/routes/admin-cluster-settings.d.ts +6 -9
- package/dist/routes/admin-config.d.ts +7 -19
- package/dist/routes/admin-contexts.d.ts +6 -13
- package/dist/routes/admin-db.d.ts +5 -10
- package/dist/routes/admin-event-dlq.d.ts +3 -5
- package/dist/routes/admin-event-inspect.d.ts +3 -4
- package/dist/routes/admin-event-log.d.ts +3 -7
- package/dist/routes/admin-events.d.ts +16 -30
- package/dist/routes/admin-held-runs.d.ts +52 -76
- package/dist/routes/admin-maintenance.d.ts +3 -6
- package/dist/routes/admin-orchestrator-drain.d.ts +0 -2
- package/dist/routes/admin-org-settings.d.ts +8 -14
- package/dist/routes/admin-peer-forget.d.ts +0 -1
- package/dist/routes/admin-queue-execution.d.ts +3 -3
- package/dist/routes/admin-registrations.d.ts +3 -12
- package/dist/routes/admin-runs.d.ts +16 -29
- package/dist/routes/admin-scaler-orphans.d.ts +4 -4
- package/dist/routes/admin-scaler-reload.d.ts +5 -8
- package/dist/routes/admin-scheduled-jobs.d.ts +3 -4
- package/dist/routes/admin-sources.d.ts +20 -29
- package/dist/routes/admin-trust-policy.d.ts +31 -48
- package/dist/routes/admin.d.ts +67 -94
- package/dist/routes/caller-identity.d.ts +5 -12
- package/dist/routes/capabilities.d.ts +8 -13
- package/dist/routes/diagnostics.d.ts +2 -10
- package/dist/routes/fleet.d.ts +1 -2
- package/dist/routes/github-webhook.d.ts +2 -5
- package/dist/routes/health.d.ts +6 -19
- package/dist/routes/provenance-oidc.d.ts +3 -3
- package/dist/routes/uploads.d.ts +5 -11
- package/dist/routes/webhooks.d.ts +2 -24
- package/dist/scaler/agent-binary-location.d.ts +77 -0
- package/dist/scaler/agent-fit.d.ts +2 -2
- package/dist/scaler/backend-factory.d.ts +10 -18
- package/dist/scaler/bare-metal-backend.d.ts +28 -45
- package/dist/scaler/claim-store.d.ts +20 -43
- package/dist/scaler/config.d.ts +10 -37
- package/dist/scaler/container-backend.d.ts +22 -35
- package/dist/scaler/container-hostconfig.d.ts +10 -16
- package/dist/scaler/container-routing.d.ts +10 -13
- package/dist/scaler/disk-guard.d.ts +2 -3
- package/dist/scaler/event-backend.d.ts +33 -58
- package/dist/scaler/event-provision-reaper.d.ts +61 -84
- package/dist/scaler/failure-tracker.d.ts +6 -13
- package/dist/scaler/file-tail.d.ts +6 -19
- package/dist/scaler/firecracker-api.d.ts +19 -63
- package/dist/scaler/firecracker-backend.d.ts +142 -258
- package/dist/scaler/host-access.d.ts +7 -10
- package/dist/scaler/index.d.ts +3 -6
- package/dist/scaler/ip-allocator.d.ts +30 -82
- package/dist/scaler/label-matcher.d.ts +14 -35
- package/dist/scaler/log-forwarder.d.ts +6 -25
- package/dist/scaler/machine-ledger.d.ts +39 -86
- package/dist/scaler/manager.d.ts +517 -787
- package/dist/scaler/pending-scale-sweeper.d.ts +8 -11
- package/dist/scaler/reap-orphans.d.ts +8 -12
- package/dist/scaler/resolve-container-auth.d.ts +12 -21
- package/dist/scaler/scaler-events.d.ts +2 -5
- package/dist/scaler/scaler-state-store.d.ts +127 -189
- package/dist/scaler/spawn-errors.d.ts +1 -4
- package/dist/scaler/startup-orphan-sweep.d.ts +3 -4
- package/dist/scaler/startup-tools-check.d.ts +21 -0
- package/dist/scaler/types.d.ts +142 -255
- package/dist/scaler/vm-job-bindings.d.ts +5 -9
- package/dist/scaler/warm-pool.d.ts +46 -93
- package/dist/secrets/audit-logger.d.ts +0 -3
- package/dist/secrets/backend-health.d.ts +0 -9
- package/dist/secrets/backend-registry.d.ts +0 -9
- package/dist/secrets/cleanup.d.ts +0 -1
- package/dist/secrets/config.d.ts +0 -3
- package/dist/secrets/ephemeral-keys.d.ts +0 -3
- package/dist/secrets/pg-secret-store.d.ts +0 -3
- package/dist/secrets/rbac.d.ts +0 -6
- package/dist/secrets/secret-output-store.d.ts +0 -6
- package/dist/secrets/secret-resolver.d.ts +2 -6
- package/dist/secrets/token-manager.d.ts +0 -4
- package/dist/secrets/vault-secret-store.d.ts +0 -13
- package/dist/security/comment-handler.d.ts +0 -2
- package/dist/security/workflow-diff.d.ts +1 -1
- package/dist/server.js +7500 -12629
- package/dist/sources/source-manager.d.ts +0 -3
- package/dist/sources/source-store.d.ts +0 -9
- package/dist/sources/source-validator.d.ts +0 -3
- package/dist/stale-detector/all-terminal-runs.d.ts +8 -11
- package/dist/stale-detector/gate-deadline-detector.d.ts +14 -19
- package/dist/stale-detector/reboot-deadline-sweep.d.ts +7 -11
- package/dist/stale-detector/stale-dispatch-candidates.d.ts +13 -20
- package/dist/stale-detector/stale-run-detector.d.ts +74 -121
- package/dist/stale-detector/workflow-deadline-detector.d.ts +15 -43
- package/dist/standalone.js +7141 -11957
- package/dist/storage/blob-routes.d.ts +10 -19
- package/dist/storage/filesystem.d.ts +19 -29
- package/dist/storage/index.d.ts +2 -10
- package/dist/storage/key-discriminator.d.ts +8 -10
- package/dist/storage/loopback-guard.d.ts +27 -45
- package/dist/storage/s3.d.ts +25 -52
- package/dist/storage/sign-url.d.ts +7 -22
- package/dist/storage/types.d.ts +44 -70
- package/dist/webhook/event-log.d.ts +0 -2
- package/dist/webhook/generic-sources.d.ts +0 -21
- package/dist/webhook/ingest-admission.d.ts +0 -1
- package/dist/webhook/relay-buffer.d.ts +2 -2
- package/dist/webhook/verify-inbound.d.ts +0 -1
- package/dist/worker/in-memory-execution-tracker.d.ts +9 -31
- package/dist/worker/in-memory-job-queue.d.ts +32 -72
- package/dist/worker/peer-outbox.d.ts +5 -8
- package/dist/worker/reroute-dispatch.d.ts +4 -6
- package/dist/worker/static-agent-token-store.d.ts +6 -27
- package/dist/worker/worker-outbox-relay.d.ts +2 -2
- package/dist/worker/worker-status.d.ts +3 -20
- package/dist/ws/agent-api-registry.d.ts +8 -27
- package/dist/ws/agent-handler.d.ts +63 -110
- package/dist/ws/agent-heartbeat.d.ts +5 -12
- package/dist/ws/bringup-api.d.ts +31 -38
- package/dist/ws/dashboard-backends-handler.d.ts +12 -22
- package/dist/ws/dashboard-context-handler.d.ts +37 -80
- package/dist/ws/dashboard-diagnostics-handler.d.ts +8 -25
- package/dist/ws/dashboard-dispatch-guard.d.ts +3 -4
- package/dist/ws/dashboard-fleet-handler.d.ts +9 -13
- package/dist/ws/dashboard-fleet-write-handler.d.ts +7 -21
- package/dist/ws/dashboard-global-workflows-handler.d.ts +22 -44
- package/dist/ws/dashboard-registrations-handler.d.ts +10 -27
- package/dist/ws/dashboard-run-state-handler.d.ts +10 -13
- package/dist/ws/event-buffer.d.ts +3 -6
- package/dist/ws/execution-status-frame.d.ts +7 -10
- package/dist/ws/failure-messages.d.ts +9 -14
- package/dist/ws/fleet-agent-collector.d.ts +6 -12
- package/dist/ws/fleet-runs-on-all.d.ts +1 -6
- package/dist/ws/git-credential-relay.d.ts +12 -20
- package/dist/ws/inventory-api.d.ts +4 -5
- package/dist/ws/observer-registry.d.ts +14 -59
- package/dist/ws/ownership-gate.d.ts +1 -1
- package/dist/ws/platform-client.d.ts +21 -30
- package/dist/ws/replay-chunker.d.ts +7 -10
- package/dist/ws/server-options.d.ts +5 -9
- package/dist/ws/test-relay-handlers.d.ts +36 -60
- package/installer-image-digests.json +3 -3
- package/package.json +6 -5
- package/sbom.spdx.json +53 -53
- package/dist/__test-helpers__/fake-scaler-state-store.d.ts +0 -24
- package/dist/__test-helpers__/mock-db-query.d.ts +0 -129
- package/dist/__test-helpers__/mock-db.d.ts +0 -134
- package/dist/__test-helpers__/mock-ws.d.ts +0 -13
- package/dist/__test-helpers__/peer-mutual-auth.d.ts +0 -42
- package/dist/__test-helpers__/scratch-db.d.ts +0 -16
- package/dist/__test-helpers__/test-db.d.ts +0 -34
- package/dist/pipeline/dispatch-matched-workflow.test-helpers.d.ts +0 -121
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin API
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* retry budget — over Bearer-auth HTTP so operators can list, manually retry,
|
|
6
|
-
* or discard rows from the kici-admin CLI / dashboard.
|
|
2
|
+
* Admin API for the event dead-letter queue (events that exhausted their
|
|
3
|
+
* dispatch retry budget), over Bearer-auth HTTP for the kici-admin CLI /
|
|
4
|
+
* dashboard.
|
|
7
5
|
*
|
|
8
6
|
* GET /api/v1/admin/event-dlq — list DLQ events (limit + cursor)
|
|
9
7
|
* GET /api/v1/admin/event-dlq/count — number of DLQ events (for badge)
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin
|
|
3
|
-
*
|
|
2
|
+
* Admin routes to inspect internal events (`kici_events`):
|
|
4
3
|
* GET /api/v1/admin/events — list events, newest first (name, outcome, time filters)
|
|
5
4
|
* GET /api/v1/admin/events/:id — one event: its payload and the runs it dispatched
|
|
6
5
|
*
|
|
7
6
|
* Each row carries its dispatch state (`pending`, `leased`, `retrying`,
|
|
8
7
|
* `processed`, `dlq`) and, once processed, how the router resolved it
|
|
9
8
|
* (`matched`, `no-target-repo`, …) with the number of workflows it reached.
|
|
10
|
-
* Both routes need `event_dlq.read
|
|
11
|
-
*
|
|
9
|
+
* Both routes need `event_dlq.read` (which gates reading `kici_events` rows);
|
|
10
|
+
* the payload on `show` also needs
|
|
12
11
|
* `event_log.read_payload`. A routing-key-scoped token sees only events
|
|
13
12
|
* emitted under its own key.
|
|
14
13
|
*/
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Admin API routes for the inbound webhook delivery log (event_log table).
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* persists for every inbound webhook. Mirrors the dashboard's WS handler
|
|
6
|
-
* (`DashboardHandler.handleEventLogList/Detail`) but is exposed over HTTP +
|
|
7
|
-
* Bearer auth so operators can read it from the CLI without going through
|
|
8
|
-
* the dashboard.
|
|
3
|
+
* Mirrors the dashboard's WS handler (`DashboardHandler.handleEventLogList/Detail`)
|
|
4
|
+
* over HTTP + Bearer auth, so operators can read it from the CLI.
|
|
9
5
|
*
|
|
10
6
|
* GET /api/v1/admin/event-log
|
|
11
7
|
* Filters: orgId, routingKey, event, status, from, to, deliveryId, limit, offset
|
|
@@ -29,7 +25,7 @@ export interface AdminEventLogRoutesDeps {
|
|
|
29
25
|
logStorage: LogStorage;
|
|
30
26
|
tokenManager: TokenManager;
|
|
31
27
|
rbac: RbacEnforcer;
|
|
32
|
-
/**
|
|
28
|
+
/** Holds archived event_log rows. */
|
|
33
29
|
coldStore?: ColdStore;
|
|
34
30
|
}
|
|
35
31
|
export declare function createAdminEventLogRoutes(deps: AdminEventLogRoutesDeps): Hono<AdminEnv>;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin API
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* get, update, delete, enable, disable) and cross-repo trust relationships.
|
|
6
|
-
*
|
|
7
|
-
* All routes are protected by Bearer token authentication via the existing
|
|
8
|
-
* admin auth middleware pattern from admin.ts.
|
|
2
|
+
* Admin API CRUD for generic webhook sources (create, list, get, update,
|
|
3
|
+
* delete, enable, disable) and cross-repo trust relationships. Every route
|
|
4
|
+
* requires Bearer token auth, the admin auth middleware pattern from admin.ts.
|
|
9
5
|
*/
|
|
10
6
|
import { Hono } from 'hono';
|
|
11
7
|
import type pg from 'pg';
|
|
@@ -24,11 +20,9 @@ interface AdminEventRouteDeps {
|
|
|
24
20
|
tokenManager: TokenManager;
|
|
25
21
|
rbac: RbacEnforcer;
|
|
26
22
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* webhook against that source resolves the right normalizer without
|
|
31
|
-
* waiting for an orchestrator restart.
|
|
23
|
+
* POST /generic-sources registers a local / universal-git bundle here right
|
|
24
|
+
* after the row lands, so the next webhook resolves the right normalizer
|
|
25
|
+
* without an orchestrator restart.
|
|
32
26
|
*/
|
|
33
27
|
providerRegistry: ProviderRegistry;
|
|
34
28
|
/** Passed through to `registerProviderBundleForSource` (universal-git bundle
|
|
@@ -40,31 +34,23 @@ interface AdminEventRouteDeps {
|
|
|
40
34
|
/** Fleet-wide settings reader; threads the live lock-file cap into newly-registered universal-git sources. */
|
|
41
35
|
clusterSettings?: ClusterSettingsReader;
|
|
42
36
|
/**
|
|
43
|
-
* The
|
|
44
|
-
*
|
|
45
|
-
* or has not authenticated yet.
|
|
37
|
+
* The Platform org id this orchestrator authenticated as; `undefined` in
|
|
38
|
+
* independent mode or before authentication.
|
|
46
39
|
*
|
|
47
|
-
* A generic source mints
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* webhook URL, which the Platform composes from the Platform org id, would
|
|
52
|
-
* 404. The create handler refuses the mismatch up front instead.
|
|
40
|
+
* A generic source mints `generic:<orgId>:<id>`, and the Platform refuses a
|
|
41
|
+
* key naming another org, so a mismatched source would silently never
|
|
42
|
+
* deliver and its webhook URL (composed from the Platform org id) would 404.
|
|
43
|
+
* The create handler refuses the mismatch up front.
|
|
53
44
|
*/
|
|
54
45
|
getPlatformOrgId?: () => string | undefined;
|
|
55
46
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
47
|
+
* When set, mounts `POST /api/v1/admin/events/emit` (INSERT into `kici_events`
|
|
48
|
+
* + `pg_notify` over HTTP). Mirrors `emitKiciEventDirect` in `@kici-dev/shared`
|
|
49
|
+
* (direct-DB CLI mode).
|
|
59
50
|
*/
|
|
60
51
|
pool?: pg.Pool;
|
|
61
52
|
}
|
|
62
|
-
/**
|
|
63
|
-
* Create admin API routes for generic webhook sources and trust management.
|
|
64
|
-
*
|
|
65
|
-
* @param deps - Admin event route dependencies
|
|
66
|
-
* @returns Hono app with admin event routes mounted at /api/v1/admin/*
|
|
67
|
-
*/
|
|
53
|
+
/** Routes mounted at /api/v1/admin/*. */
|
|
68
54
|
export declare function createAdminEventRoutes(deps: AdminEventRouteDeps): Hono<AdminEnv>;
|
|
69
55
|
export {};
|
|
70
56
|
//# sourceMappingURL=admin-events.d.ts.map
|
|
@@ -1,42 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Admin API routes for reading and answering held runs.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* can release a hold locally, without a Platform.
|
|
4
|
+
* GET `/api/v1/admin/held-runs` and POST `/api/v1/admin/held-runs/decision` let
|
|
5
|
+
* `kici-admin held-run list|approve|reject` release a hold locally, without a Platform.
|
|
7
6
|
*
|
|
8
|
-
* **Independent orchestrators only.**
|
|
9
|
-
* who may answer a hold:
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* never authorized. Both write and read therefore refuse with 409 in
|
|
16
|
-
* `platform` / `hybrid` / `observed`, mirroring the trust-policy write verbs.
|
|
7
|
+
* **Independent orchestrators only.** With a Platform attached, the Platform's
|
|
8
|
+
* held-run trust gate owns who may answer a hold: `ci_trust:write` for a security
|
|
9
|
+
* hold, `contexts:write` / `contexts:admin` for the rest, against the acting
|
|
10
|
+
* member's org RBAC. An orchestrator admin token carries no Platform membership,
|
|
11
|
+
* so answering here would land a release that gate never authorized. Both verbs
|
|
12
|
+
* therefore refuse with 409 in `platform` / `hybrid` / `observed`, mirroring the
|
|
13
|
+
* trust-policy write verbs.
|
|
17
14
|
*
|
|
18
|
-
* On an independent orchestrator
|
|
19
|
-
*
|
|
20
|
-
* approve`
|
|
21
|
-
* approve` and the MCP tools all reach the applier over the Platform relay.
|
|
15
|
+
* On an independent orchestrator this route is the only answer to an
|
|
16
|
+
* approval-queue hold: `/kici approve` releases the `security` queue only, and the
|
|
17
|
+
* dashboard, `kici approve` and the MCP tools reach the applier over the Platform relay.
|
|
22
18
|
*
|
|
23
|
-
* Answering goes through the shared `applyDecision` applier, not
|
|
24
|
-
*
|
|
25
|
-
* `
|
|
26
|
-
*
|
|
27
|
-
* `routeRelease`, which re-dispatches the job or replays the workflow dispatch.
|
|
19
|
+
* Answering goes through the shared `applyDecision` applier, not a direct row
|
|
20
|
+
* flip, so an approve obeys the hold's `approval_requirement` clauses, records a
|
|
21
|
+
* `held_run_approvals` row, and resumes the held element through `routeRelease`
|
|
22
|
+
* (re-dispatch the job or replay the workflow dispatch) — the part a row flip skips.
|
|
28
23
|
*
|
|
29
|
-
* The resume runs AFTER this route answers
|
|
30
|
-
* applier's
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* message rather than being lost behind a successful-looking answer.
|
|
24
|
+
* The resume runs AFTER this route answers: the decision is durable at the
|
|
25
|
+
* applier's transaction, and the resume is unbounded work whose latency must not
|
|
26
|
+
* be the operator's (see `ApplyDecisionResult.consequence`). The access-log entry
|
|
27
|
+
* is written when that consequence settles, so a failed resume is recorded as
|
|
28
|
+
* `error` with its message, not hidden behind a successful-looking answer.
|
|
35
29
|
*
|
|
36
30
|
* Releasing a hold lets the held work RUN; it does not make its contributor
|
|
37
|
-
* trusted. The resumed dispatch replays the trust resolution
|
|
38
|
-
*
|
|
39
|
-
*
|
|
31
|
+
* trusted. The resumed dispatch replays the hold's trust resolution, so an
|
|
32
|
+
* untrusted fork PR still runs with the base-branch lock file, no
|
|
33
|
+
* install/registry secrets, and an isolated cache write scope.
|
|
40
34
|
*/
|
|
41
35
|
import { Hono } from 'hono';
|
|
42
36
|
import type { Kysely } from 'kysely';
|
|
@@ -50,43 +44,32 @@ import type { AccessLogWriter } from '../audit/access-log.js';
|
|
|
50
44
|
import type { Database, HeldRun } from '../db/types.js';
|
|
51
45
|
import { type AdminEnv } from './admin-env.js';
|
|
52
46
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* orchestrator, because "not here" without "there instead" is the refusal an
|
|
57
|
-
* operator reads as a broken build.
|
|
47
|
+
* Platform-managed refusal, surfaced verbatim by the CLI. It names the surfaces
|
|
48
|
+
* that DO answer the hold, because "not here" without "there instead" reads as a
|
|
49
|
+
* broken build.
|
|
58
50
|
*/
|
|
59
51
|
export declare const PLATFORM_MANAGED_HELD_RUN_MESSAGE: string;
|
|
60
52
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* strictly worse than refusing: the agent would keep waiting while the row left
|
|
67
|
-
* `pending`, putting it beyond the stale detector's expiry sweep, so the step
|
|
68
|
-
* would block with nothing left to release OR expire it.
|
|
53
|
+
* Step-scope refusal. A step-scoped hold is answered through the step-approval
|
|
54
|
+
* bridge, which an independent orchestrator does not wire. Flipping the row
|
|
55
|
+
* anyway is worse than refusing: the agent keeps waiting while the row leaves
|
|
56
|
+
* `pending`, beyond the stale detector's expiry sweep, so nothing can release
|
|
57
|
+
* OR expire the step.
|
|
69
58
|
*/
|
|
70
59
|
export declare const STEP_SCOPE_UNSUPPORTED_MESSAGE: string;
|
|
71
60
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* unvalidated approver subject is free text: it would let an operator token
|
|
77
|
-
* write any string it liked into `held_run_approvals.approver_user_id` and
|
|
78
|
-
* satisfy any `{user}` clause by naming it.
|
|
61
|
+
* Refusal for an `--as` id the approval directory does not hold. The directory is
|
|
62
|
+
* the enumerable set of subjects this route answers as; an unvalidated subject is
|
|
63
|
+
* free text that would let an operator token write any string into
|
|
64
|
+
* `held_run_approvals.approver_user_id` and satisfy any `{user}` clause by naming it.
|
|
79
65
|
*/
|
|
80
66
|
export declare function unregisteredApproverMessage(userId: string): string;
|
|
81
67
|
/** The release wiring the applier needs to actually resume a released element. */
|
|
82
68
|
export interface HeldRunReleaseWiring {
|
|
83
69
|
/**
|
|
84
|
-
* Re-dispatch a job-scoped release.
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* row without dispatching looks like it works and does nothing — the hold
|
|
88
|
-
* reads `approved`, the job never starts, and no sweep will ever look at the
|
|
89
|
-
* row again.
|
|
70
|
+
* Re-dispatch a job-scoped release. REQUIRED, and the mount is conditional on
|
|
71
|
+
* it: flipping the row without dispatching leaves the hold `approved`, the job
|
|
72
|
+
* never started, and no sweep ever looking at the row again.
|
|
90
73
|
*/
|
|
91
74
|
onJobRelease: (signal: ReleaseSignal) => Promise<void>;
|
|
92
75
|
/** Replay the stored dispatch context of a released workflow-scoped hold. */
|
|
@@ -101,41 +84,34 @@ export interface HeldRunReleaseWiring {
|
|
|
101
84
|
resolveCheckStatusPoster?: ResolveCheckStatusPoster;
|
|
102
85
|
}
|
|
103
86
|
export interface HeldRunRouteDeps {
|
|
104
|
-
/** The held-run store the decision is applied through. */
|
|
105
87
|
store: HeldRunStore;
|
|
106
88
|
/**
|
|
107
|
-
* The org approval directory — the only
|
|
108
|
-
* holds
|
|
109
|
-
* `{team}` clause on a hold's requirement.
|
|
89
|
+
* The org approval directory — the only team membership an independent
|
|
90
|
+
* orchestrator holds, so the only thing that can satisfy a `{team}` clause.
|
|
110
91
|
*/
|
|
111
92
|
directory: TrustDirectoryStore;
|
|
112
93
|
/**
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* triggerer.
|
|
94
|
+
* For the per-decision reads no store owns: `org_settings.allow_self_approval`
|
|
95
|
+
* and the run's triggerer.
|
|
116
96
|
*/
|
|
117
97
|
db: Kysely<Database>;
|
|
118
98
|
rbac: RbacEnforcer;
|
|
119
|
-
/**
|
|
99
|
+
/** Decides whether either verb is permitted at all. */
|
|
120
100
|
mode: OrchestratorMode;
|
|
121
101
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* construction site remembering to pass one.
|
|
102
|
+
* REQUIRED, as on the trust-policy route: a locally-answered hold is always
|
|
103
|
+
* attributable, and an optional sink would rest that on every construction
|
|
104
|
+
* site remembering to pass one.
|
|
126
105
|
*/
|
|
127
106
|
accessLog: AccessLogWriter;
|
|
128
107
|
release: HeldRunReleaseWiring;
|
|
129
108
|
}
|
|
130
109
|
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
* operator token answers as itself, never as a person it typed the name of.
|
|
137
|
-
* `held_run_approvals.approver_user_id` is the record of who approved, and a
|
|
138
|
-
* subject the operator merely asserted would make that record false.
|
|
110
|
+
* Approval subject for an admin-token decision: `service:<token user id>`, as the
|
|
111
|
+
* dashboard applier derives for a service-account actor. The namespace keeps it
|
|
112
|
+
* from colliding with a Keycloak sub named by an `approvers:` clause: an operator
|
|
113
|
+
* token answers as itself, never as a person it typed, so
|
|
114
|
+
* `held_run_approvals.approver_user_id` stays a true record of who approved.
|
|
139
115
|
*
|
|
140
116
|
* Re-exported from the shared subject module so this route and the dashboard
|
|
141
117
|
* handler cannot drift into two `service:` namespaces.
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin
|
|
3
|
-
* cleanly under a single resource namespace:
|
|
2
|
+
* Admin maintenance operations that span resource namespaces:
|
|
4
3
|
*
|
|
5
4
|
* POST /api/v1/admin/queue/clear — TRUNCATE dispatch_queue
|
|
6
5
|
* POST /api/v1/admin/execution/purge-stale — DELETE execution runs + jobs
|
|
7
6
|
* POST /api/v1/admin/sources/purge-stale — DELETE orphan sources + scoped secrets
|
|
8
7
|
* POST /api/v1/admin/secrets/purge — DELETE scoped_secrets (bulk)
|
|
9
8
|
*
|
|
10
|
-
* Each
|
|
11
|
-
*
|
|
12
|
-
* gated by the admin auth middleware in admin.ts, so unauthenticated access
|
|
13
|
-
* is impossible.
|
|
9
|
+
* Each takes a minimal JSON scoping body (routing key, org ID), with a dry run
|
|
10
|
+
* where applicable. All are gated by the admin auth middleware in admin.ts.
|
|
14
11
|
*/
|
|
15
12
|
import { Hono } from 'hono';
|
|
16
13
|
import type { Kysely } from 'kysely';
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Orchestrator drain admin routes.
|
|
3
|
-
*
|
|
4
2
|
* Backs the `kici-admin orchestrator drain` / `resume` / `drain --status`
|
|
5
3
|
* verbs used to quiesce a coordinator before an upgrade. Mounted inside
|
|
6
4
|
* `createAdminRoutes` at `/api/v1/admin/orchestrator/drain`, so it inherits the
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* GET / PATCH `/api/v1/admin/org-settings/global-workflows`: lets `kici-admin`
|
|
3
|
+
* read and write the per-org `org_settings` row without the Platform dashboard
|
|
4
|
+
* proxy, so the CLI stays operable when the Platform is unavailable.
|
|
3
5
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* without going through the Platform dashboard proxy — the CLI stays
|
|
7
|
-
* operable even when Platform is unavailable.
|
|
8
|
-
*
|
|
9
|
-
* Mutations require the `secret.write` RBAC capability (already granted to
|
|
10
|
-
* admin / owner roles), matching the gating posture used by source admin.
|
|
6
|
+
* Mutations require `secret.write` (granted to admin / owner), matching the
|
|
7
|
+
* gating used by source admin.
|
|
11
8
|
*/
|
|
12
9
|
import { Hono } from 'hono';
|
|
13
10
|
import { type Kysely } from 'kysely';
|
|
@@ -26,18 +23,15 @@ interface OrgSettingsRouteDeps {
|
|
|
26
23
|
*/
|
|
27
24
|
globalWorkflowsEnabledDefault: boolean;
|
|
28
25
|
/**
|
|
29
|
-
* This orchestrator's mode.
|
|
30
|
-
*
|
|
31
26
|
* The dashboard-write policy needs it: disabling `held_runs.approve` /
|
|
32
27
|
* `held_runs.reject` is coherent only where `kici-admin held-run` can still
|
|
33
28
|
* answer a hold, which is independent mode alone.
|
|
34
29
|
*/
|
|
35
30
|
mode: OrchestratorMode;
|
|
36
31
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* Reset calls additionally stamp `reset: true`.
|
|
32
|
+
* When wired, each `dashboard_write_policy` flip emits one `access_log` row
|
|
33
|
+
* (`org_settings.dashboard_write_policy.update`) carrying the operation name
|
|
34
|
+
* + prior/next state in `actor_meta`; reset calls also stamp `reset: true`.
|
|
41
35
|
*/
|
|
42
36
|
accessLog?: AccessLogWriter;
|
|
43
37
|
}
|
|
@@ -18,7 +18,6 @@ import type { AccessLogWriter } from '../audit/access-log.js';
|
|
|
18
18
|
import { type PeerForgetResult } from '../cluster/peer-forget.js';
|
|
19
19
|
import type { RbacEnforcer } from '../secrets/rbac.js';
|
|
20
20
|
import { type AdminEnv } from './admin-env.js';
|
|
21
|
-
/** What the route needs from the coordinator it runs on. */
|
|
22
21
|
export interface PeerForgetRouteDeps {
|
|
23
22
|
/**
|
|
24
23
|
* Forget `instanceId` here, then on every connected sibling coordinator
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin API routes for queue + execution READ operations
|
|
2
|
+
* Admin API routes for queue + execution READ operations.
|
|
3
3
|
*
|
|
4
4
|
* GET /api/v1/admin/queue — list dispatch_queue
|
|
5
5
|
* GET /api/v1/admin/queue/:id — show one dispatch_queue row
|
|
6
6
|
* GET /api/v1/admin/executions — list execution_runs
|
|
7
7
|
* GET /api/v1/admin/executions/:runId — show one run + its jobs
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Gated by the admin auth middleware in admin.ts; each requires `secret.read`
|
|
10
|
+
* RBAC (the closest existing read-grade permission).
|
|
11
11
|
*/
|
|
12
12
|
import { Hono } from 'hono';
|
|
13
13
|
import { type Kysely } from 'kysely';
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Admin
|
|
3
|
-
*
|
|
4
|
-
* Provides endpoints for listing, inspecting, refreshing, disabling and
|
|
5
|
-
* deleting workflow registrations. All routes are protected by Bearer token
|
|
6
|
-
* authentication via the existing admin auth middleware pattern.
|
|
2
|
+
* Admin routes to list, inspect, refresh, disable and delete workflow
|
|
3
|
+
* registrations, all behind the shared admin Bearer auth middleware.
|
|
7
4
|
*/
|
|
8
5
|
import { Hono } from 'hono';
|
|
9
6
|
import type { RegistrationStore } from '../registration/registration-store.js';
|
|
@@ -18,18 +15,12 @@ export interface AdminRegistrationRoutesDeps {
|
|
|
18
15
|
tokenManager: TokenManager;
|
|
19
16
|
rbac: RbacEnforcer;
|
|
20
17
|
/**
|
|
21
|
-
* Resolves a bound environment by name for registration-time satisfiability.
|
|
22
18
|
* When present, a manual registration is rejected up front if a job binds a
|
|
23
19
|
* provably-unsatisfiable environment list (missing/disabled env, or
|
|
24
20
|
* mutually-exclusive fixed branch/trigger/repo restrictions).
|
|
25
21
|
*/
|
|
26
22
|
contextStore?: Pick<ContextStore, 'matchContext'>;
|
|
27
23
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Create admin API routes for workflow registration management.
|
|
30
|
-
*
|
|
31
|
-
* @param deps - Admin registration route dependencies
|
|
32
|
-
* @returns Hono app with registration routes mounted at /api/v1/admin/registrations
|
|
33
|
-
*/
|
|
24
|
+
/** Routes mounted at /api/v1/admin/registrations. */
|
|
34
25
|
export declare function createAdminRegistrationRoutes(deps: AdminRegistrationRoutesDeps): Hono<AdminEnv>;
|
|
35
26
|
//# sourceMappingURL=admin-registrations.d.ts.map
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* sub-resources (jobs, ephemeral key status, secret outputs). All routes
|
|
6
|
-
* are protected by Bearer token authentication and an RBAC permission
|
|
7
|
-
* check (`run.read` for most, `secret.reveal` for the reveal variant of
|
|
8
|
-
* `secret-outputs`).
|
|
2
|
+
* Read-only admin API for execution runs and their sub-resources. Every route
|
|
3
|
+
* requires a Bearer token and an RBAC permission: `run.read`, plus
|
|
4
|
+
* `secret.reveal` for the reveal variant of `secret-outputs`.
|
|
9
5
|
*
|
|
10
6
|
* Endpoints:
|
|
11
7
|
* GET /api/v1/admin/runs — list runs with filters
|
|
12
8
|
* GET /api/v1/admin/runs/:runId — run header fields only
|
|
13
9
|
* GET /api/v1/admin/runs/:runId/jobs — jobs list (optional steps)
|
|
10
|
+
* GET /api/v1/admin/runs/:runId/structured — aggregated run detail
|
|
11
|
+
* GET /api/v1/admin/runs/:runId/jobs/:jobId/steps/:stepIndex/logs — step logs
|
|
14
12
|
* GET /api/v1/admin/runs/:runId/ephemeral-key — scrub status
|
|
15
13
|
* GET /api/v1/admin/runs/:runId/secret-outputs — masked by default; ?reveal=true
|
|
16
14
|
*
|
|
17
|
-
*
|
|
18
|
-
* hand-rolled curl commands and dashboard clicks when verifying execution
|
|
19
|
-
* state.
|
|
15
|
+
* Server side of `kici-admin runs`.
|
|
20
16
|
*/
|
|
21
17
|
import { Hono } from 'hono';
|
|
22
18
|
import type { Kysely } from 'kysely';
|
|
@@ -28,12 +24,10 @@ import type { ResolvedMasterKeys } from '../secrets/config.js';
|
|
|
28
24
|
import type { LogStorage } from '../reporting/log-storage.js';
|
|
29
25
|
import { type AdminEnv } from './admin-env.js';
|
|
30
26
|
/**
|
|
31
|
-
* Statuses accepted by the `?status=` filter
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* were accepted before and match no row, so keeping them avoids turning
|
|
36
|
-
* an empty result into a rejected request.
|
|
27
|
+
* Statuses accepted by the `?status=` filter: the full canonical union, not
|
|
28
|
+
* just `ExecutionRunStatus.options`. Job-only members match no
|
|
29
|
+
* `execution_runs` row but stay accepted, so such a filter returns an empty
|
|
30
|
+
* result rather than a rejected request.
|
|
37
31
|
*/
|
|
38
32
|
export declare const RUN_STATUSES: ReadonlySet<string>;
|
|
39
33
|
export interface AdminRunRoutesDeps {
|
|
@@ -43,24 +37,17 @@ export interface AdminRunRoutesDeps {
|
|
|
43
37
|
/** Required to reveal secret-output plaintext via ?reveal=true. */
|
|
44
38
|
auditLogger?: AuditLogger;
|
|
45
39
|
/**
|
|
46
|
-
* The
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* table.
|
|
40
|
+
* The master key, plus the previous generation during a rotation grace
|
|
41
|
+
* window. Required to reveal secret-output plaintext; a row still sealed
|
|
42
|
+
* under the old key reveals until `rotate-key` has swept the table.
|
|
50
43
|
*/
|
|
51
44
|
masterKeys?: ResolvedMasterKeys | null;
|
|
52
45
|
/**
|
|
53
|
-
*
|
|
54
|
-
* (`/runs/:runId/jobs/:jobId/steps/:stepIndex/logs`)
|
|
55
|
-
* path 503s cleanly.
|
|
46
|
+
* Required only by the step-logs endpoint
|
|
47
|
+
* (`/runs/:runId/jobs/:jobId/steps/:stepIndex/logs`), which 503s without it.
|
|
56
48
|
*/
|
|
57
49
|
logStorage?: LogStorage;
|
|
58
50
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Create admin API routes for execution run inspection.
|
|
61
|
-
*
|
|
62
|
-
* @param deps - Admin run route dependencies
|
|
63
|
-
* @returns Hono app with run routes mounted at /api/v1/admin/runs
|
|
64
|
-
*/
|
|
51
|
+
/** Run routes, mounted at /api/v1/admin/runs. */
|
|
65
52
|
export declare function createAdminRunRoutes(deps: AdminRunRoutesDeps): Hono<AdminEnv>;
|
|
66
53
|
//# sourceMappingURL=admin-runs.d.ts.map
|
|
@@ -12,9 +12,10 @@
|
|
|
12
12
|
* stop the approved VMs nothing tracks (`scaler.manage`).
|
|
13
13
|
*
|
|
14
14
|
* The node is this coordinator, or the peer `target` names, reached over the
|
|
15
|
-
* authenticated peer channel. The coordinator adds the
|
|
16
|
-
*
|
|
17
|
-
* agent — and never forwards a
|
|
15
|
+
* authenticated peer channel. The coordinator adds the trackers only it can
|
|
16
|
+
* answer — a non-terminal job in its dispatch queue bound to the VM's agent,
|
|
17
|
+
* and the agent registered with it or a peer — and never forwards a VM either
|
|
18
|
+
* tracker covers to the node's stop.
|
|
18
19
|
*/
|
|
19
20
|
import { Hono } from 'hono';
|
|
20
21
|
import { type PeerScalerOrphansResponse } from '@kici-dev/engine';
|
|
@@ -23,7 +24,6 @@ import type { RbacEnforcer } from '../secrets/rbac.js';
|
|
|
23
24
|
import { type ScalerOrphansAnswer, type ScalerOrphansRequest } from '../scaler/orphan-requests.js';
|
|
24
25
|
import { ScalerOrphansForwardFailure } from '../cluster/scaler-orphans-peer.js';
|
|
25
26
|
import { type AdminEnv } from './admin-env.js';
|
|
26
|
-
/** What the routes need from the coordinator they run on. */
|
|
27
27
|
export interface ScalerOrphansRouteDeps {
|
|
28
28
|
/** This coordinator's instance id. */
|
|
29
29
|
instanceId: string;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reload the scaler config, behind `kici-admin scaler reload`.
|
|
3
3
|
*
|
|
4
|
-
* Mounted inside `createAdminRoutes` at `/api/v1/admin`,
|
|
5
|
-
* auth
|
|
6
|
-
* token and the `scaler.manage` permission (owner, admin).
|
|
4
|
+
* Mounted inside `createAdminRoutes` at `/api/v1/admin`, behind its Bearer-token
|
|
5
|
+
* auth. Needs an unscoped token and `scaler.manage` (owner, admin).
|
|
7
6
|
*
|
|
8
7
|
* - `POST /api/v1/admin/scaler/reload { single?, timeoutMs? }` — re-read the
|
|
9
8
|
* scaler config on this orchestrator and, unless `single`, on every peer it
|
|
@@ -12,16 +11,14 @@
|
|
|
12
11
|
* one first: `200` when no instance refused its file or went unanswered,
|
|
13
12
|
* `422` otherwise.
|
|
14
13
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* `single` reload stays on this orchestrator.
|
|
14
|
+
* It never reloads the orchestrator config, so it never bumps the config
|
|
15
|
+
* version the peers follow, and a `single` reload stays on this orchestrator.
|
|
18
16
|
*/
|
|
19
17
|
import { Hono } from 'hono';
|
|
20
18
|
import { type ScalerReloadInstanceResult } from '@kici-dev/engine';
|
|
21
19
|
import type { AccessLogWriter } from '../audit/access-log.js';
|
|
22
20
|
import type { RbacEnforcer } from '../secrets/rbac.js';
|
|
23
21
|
import { type AdminEnv } from './admin-env.js';
|
|
24
|
-
/** What the route needs from the orchestrator it runs on. */
|
|
25
22
|
export interface ScalerReloadRouteDeps {
|
|
26
23
|
/** This orchestrator's instance id, the audit row's target. */
|
|
27
24
|
instanceId: string;
|
|
@@ -31,7 +28,7 @@ export interface ScalerReloadRouteDeps {
|
|
|
31
28
|
*/
|
|
32
29
|
reload: (single: boolean, timeoutMs: number) => Promise<ScalerReloadInstanceResult[]>;
|
|
33
30
|
}
|
|
34
|
-
/**
|
|
31
|
+
/** Default wait per peer. */
|
|
35
32
|
export declare const DEFAULT_SCALER_RELOAD_TIMEOUT_MS = 60000;
|
|
36
33
|
export declare function createScalerReloadRoutes(deps: {
|
|
37
34
|
scalerReload: ScalerReloadRouteDeps;
|
|
@@ -9,10 +9,9 @@
|
|
|
9
9
|
* Use it, for example, to force a cold-store-archive tick without waiting
|
|
10
10
|
* for the hourly cadence.
|
|
11
11
|
*
|
|
12
|
-
* The access_log row is written directly
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* scheduler wrapper itself uses for `scheduled_job.tick` failure rows.
|
|
12
|
+
* The access_log row is written directly, not via the typed AccessLogWriter,
|
|
13
|
+
* because `scheduled_job.trigger` is not in the protocol-level AccessLogAction
|
|
14
|
+
* enum; the scheduler wrapper does the same for `scheduled_job.tick` failures.
|
|
16
15
|
*/
|
|
17
16
|
import { Hono } from 'hono';
|
|
18
17
|
import type { Kysely } from 'kysely';
|