@kici-dev/orchestrator 0.16.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 +39 -45
- 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 +33 -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 +7 -7
- 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 +4553 -6556
- 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 +251 -486
- 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 +21 -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 +21 -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 +19 -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 +45 -0
- 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/test-direct.d.ts +46 -0
- package/dist/routes/uploads.d.ts +14 -19
- 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 +5 -7
- package/dist/secrets/routing-key-scope.d.ts +1 -0
- 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 +1 -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 +49004 -53782
- 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 +9342 -13077
- 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 +26 -53
- package/dist/storage/sign-url.d.ts +7 -22
- package/dist/storage/types.d.ts +46 -72
- 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 +46 -63
- 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
- package/dist/scaler/container-spawn.d.ts +0 -28
|
@@ -3,19 +3,16 @@ import type { ReapCandidate } from './scaler-state-store.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* How long a provision outcome is kept once its spawn row is gone.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* deadline, so raising `KICI_SCALER_SPAWN_TIMEOUT_MS` for a slow cloud widens
|
|
12
|
-
* the retention with it.
|
|
6
|
+
* A constant, not a `cluster_settings` knob: unlike the claim retention, it
|
|
7
|
+
* carries no operational decision. Its only reader is the stale-spawn prune,
|
|
8
|
+
* and the interval the row must survive derives from windows the reaper already
|
|
9
|
+
* resolves. The purge floors it at twice the spawn deadline, so raising
|
|
10
|
+
* `KICI_SCALER_SPAWN_TIMEOUT_MS` for a slow cloud widens the retention with it.
|
|
13
11
|
*/
|
|
14
12
|
export declare const PROVISION_OUTCOME_RETENTION_MS = 86400000;
|
|
15
13
|
/**
|
|
16
|
-
* The live values one sweep runs against
|
|
17
|
-
* so a
|
|
18
|
-
* halfway through.
|
|
14
|
+
* The live values one sweep runs against, read together at the top of each tick
|
|
15
|
+
* so a knob changed mid-sweep cannot make the sweep inconsistent.
|
|
19
16
|
*/
|
|
20
17
|
export interface ReaperWindows {
|
|
21
18
|
/** How often the leader sweeps. A change reschedules the timer after this tick. */
|
|
@@ -39,21 +36,17 @@ export interface ReaperWindows {
|
|
|
39
36
|
/**
|
|
40
37
|
* The flap grace the reaper actually runs on.
|
|
41
38
|
*
|
|
42
|
-
* `reroute_flap_grace_ms` is shared with the rerouted-job guard,
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* that protection to two consecutive sweeps.
|
|
39
|
+
* `reroute_flap_grace_ms` is shared with the rerouted-job guard, which only
|
|
40
|
+
* force-fails a run it could have waited for; this consumer deletes a
|
|
41
|
+
* customer's running instance. Lowering the knob for reroute reasons must not
|
|
42
|
+
* silently collapse that protection to two consecutive sweeps.
|
|
47
43
|
*
|
|
48
|
-
* The floor is two peer-stale-timeout windows
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* defaults) covers that 90s; one (60s) would not.
|
|
55
|
-
*
|
|
56
|
-
* A raised knob is honoured as-is: the floor only ever raises.
|
|
44
|
+
* The floor is two peer-stale-timeout windows, the derivation of the knob's own
|
|
45
|
+
* default (`DEFAULT_REROUTE_FLAP_GRACE_MS`) applied as a floor. It covers the
|
|
46
|
+
* worst honest gap between an agent being alive and visible here: a reconnect
|
|
47
|
+
* backing off to its cap (60s) plus the peer heartbeat interval (30s) in which a
|
|
48
|
+
* freshly reconnected peer advertises no agents. Two windows (120s at the
|
|
49
|
+
* defaults) cover that 90s; one (60s) would not. The floor only ever raises.
|
|
57
50
|
*/
|
|
58
51
|
export declare function reaperFlapGraceMs(flapGraceMs: number, peerStaleTimeoutMs: number): number;
|
|
59
52
|
/** The slice of the peer registry the cluster-view guard reads. */
|
|
@@ -67,28 +60,25 @@ export interface ReaperPeerView {
|
|
|
67
60
|
* The reaper's `canReap` predicate, over static config plus the live peer
|
|
68
61
|
* registry.
|
|
69
62
|
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* A component whose false positive deletes a customer's running instances
|
|
75
|
-
* cannot have an untested load-bearing line.
|
|
63
|
+
* Exported so the wiring itself is tested, not only `clusterViewSufficient`: a
|
|
64
|
+
* call site feeding it the wrong count reads permissive on a Platform-mode HA
|
|
65
|
+
* pair, and a component whose false positive deletes a customer's running
|
|
66
|
+
* instances cannot have an untested load-bearing line.
|
|
76
67
|
*
|
|
77
|
-
* The peer count is the max of
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* a
|
|
68
|
+
* The peer count is the max of two sources because neither covers both modes:
|
|
69
|
+
* `KICI_CLUSTER_PEERS` is set only in independent mode, while a Platform-mode
|
|
70
|
+
* cluster learns its peers from the matchmaker and leaves that array empty.
|
|
71
|
+
* `getCoordinatorPeers()` filters on role, not connectivity, so a peer lost to
|
|
72
|
+
* a partition stays counted and the guard stays armed.
|
|
82
73
|
*/
|
|
83
74
|
export declare function canReapForCluster(configuredPeerCount: number, peers: ReaperPeerView): boolean;
|
|
84
75
|
/**
|
|
85
76
|
* Whether an adopting coordinator should still be treated as live.
|
|
86
77
|
*
|
|
87
|
-
* Mirrors `shouldDeferReroutedJob
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* a dead coordinator
|
|
91
|
-
* customer job. A peer we have never heard of is genuinely gone.
|
|
78
|
+
* Mirrors `shouldDeferReroutedJob`: `PeerRegistry` flips `connected` the
|
|
79
|
+
* instant a peer WS closes, with no grace, so sampling it alone cannot tell a
|
|
80
|
+
* link blip between two healthy processes (whose agent still runs a customer
|
|
81
|
+
* job) from a dead coordinator. A peer never heard of is genuinely gone.
|
|
92
82
|
*/
|
|
93
83
|
export declare function adopterIsLive(peer: {
|
|
94
84
|
connected: boolean;
|
|
@@ -106,13 +96,11 @@ export declare function adopterIsLive(peer: {
|
|
|
106
96
|
* backstop; not standing down costs the customer their fleet.
|
|
107
97
|
*
|
|
108
98
|
* `knownCoordinatorPeerCount` must count peers this coordinator has *ever*
|
|
109
|
-
* handshaken with, not the ones
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* partition because `evictStalePeers` only marks it disconnected, so the guard
|
|
115
|
-
* stays armed for as long as the partition lasts.
|
|
99
|
+
* handshaken with, not the ones in static config: `KICI_CLUSTER_PEERS` is set
|
|
100
|
+
* only in independent mode, and the documented HA-pair recipe runs Platform mode
|
|
101
|
+
* with peers from the matchmaker, so keying on it leaves the guard inert on the
|
|
102
|
+
* topology it exists to protect. `evictStalePeers` only marks a known peer
|
|
103
|
+
* disconnected, so the guard stays armed for the whole partition.
|
|
116
104
|
*
|
|
117
105
|
* A coordinator that has never met a peer is a single-coordinator deployment,
|
|
118
106
|
* not a partitioned one, so it is never blocked.
|
|
@@ -123,21 +111,17 @@ export interface EventProvisionReaperOptions {
|
|
|
123
111
|
listCandidates: (spawnCutoff: Date) => Promise<ReapCandidate[]>;
|
|
124
112
|
/**
|
|
125
113
|
* Whether an instance id is still a live cluster member (self counts as live).
|
|
126
|
-
* `flapGraceMs`
|
|
127
|
-
*
|
|
128
|
-
* with no grace at all.
|
|
114
|
+
* `flapGraceMs` lets a peer that disconnected moments ago count as live:
|
|
115
|
+
* `peer.connected` flips on WS close with no grace.
|
|
129
116
|
*/
|
|
130
117
|
isPeerLive: (instanceId: string, flapGraceMs: number) => boolean;
|
|
131
118
|
/** Whether an agent id is registered anywhere in the cluster we can see. */
|
|
132
119
|
isAgentRegistered: (agentId: string) => boolean;
|
|
133
120
|
/**
|
|
134
|
-
* Whether this coordinator
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
* "Knows" spans both modes: peers named in static config, plus peers this
|
|
139
|
-
* instance has handshaken with. Keying on static config alone is what left
|
|
140
|
-
* this guard inert on a Platform-mode HA pair, which configures none.
|
|
121
|
+
* Whether this coordinator sees enough of the cluster to act for it: false on
|
|
122
|
+
* a node that *knows* coordinator peers (static config plus every peer it
|
|
123
|
+
* handshook with) but is connected to none, the shape a partition produces.
|
|
124
|
+
* Static config alone leaves the guard inert on a Platform-mode HA pair.
|
|
141
125
|
*/
|
|
142
126
|
canReap: () => boolean;
|
|
143
127
|
/** Emit the teardown and drop the row. */
|
|
@@ -146,21 +130,19 @@ export interface EventProvisionReaperOptions {
|
|
|
146
130
|
purgeExpiredClaims: (cutoff: Date) => Promise<number>;
|
|
147
131
|
/**
|
|
148
132
|
* Delete provision outcomes older than the cutoff whose spawn row is gone;
|
|
149
|
-
* returns rows deleted. Runs on the
|
|
150
|
-
*
|
|
151
|
-
* of scaler bookkeeping.
|
|
133
|
+
* returns rows deleted. Runs on the leader-gated sweep beside the claim purge,
|
|
134
|
+
* the orchestrator's one precedent for a timer-driven scaler-bookkeeping purge.
|
|
152
135
|
*/
|
|
153
136
|
purgeProvisionOutcomes: (cutoff: Date) => Promise<number>;
|
|
154
137
|
/**
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
* the orchestrator's configured default when the column is NULL.
|
|
138
|
+
* The live windows for one sweep, from `cluster_settings` so an operator
|
|
139
|
+
* retunes a running cluster; a NULL column falls back to the configured default.
|
|
158
140
|
*/
|
|
159
141
|
resolveWindows: () => Promise<ReaperWindows>;
|
|
160
142
|
/**
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
143
|
+
* The first schedule's interval. `onBecomeLeader` is a synchronous Raft
|
|
144
|
+
* callback, so the timer starts at the configured default and the first tick
|
|
145
|
+
* reconciles it to the live value.
|
|
164
146
|
*/
|
|
165
147
|
bootIntervalMs: number;
|
|
166
148
|
}
|
|
@@ -229,25 +211,21 @@ export declare class EventProvisionReaper {
|
|
|
229
211
|
/**
|
|
230
212
|
* agentId → when this reaper first observed the agent registered nowhere.
|
|
231
213
|
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
* on its own stranded provision.
|
|
214
|
+
* The debounce that makes "unseen" mean sustained absence, not one unlucky
|
|
215
|
+
* sample. Leader-local, deliberately not a database column: a coordinator
|
|
216
|
+
* re-adopting its own agent refreshes `adopted_at`, so a restart loop on the
|
|
217
|
+
* adopter would keep resetting the clock on its own stranded provision.
|
|
237
218
|
*/
|
|
238
219
|
private readonly strandedSince;
|
|
239
220
|
/**
|
|
240
221
|
* How many entries of `strandedSince` the last sweep found absent for at
|
|
241
222
|
* least the flap grace.
|
|
242
223
|
*
|
|
243
|
-
* The gauge publishes this
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
* at once. So `size` is routinely non-zero on a healthy cluster, while
|
|
249
|
-
* `verdict()` refuses to act on anything below the flap grace. Publishing the
|
|
250
|
-
* past-grace count makes the gauge measure the same thing the reaper does.
|
|
224
|
+
* The gauge publishes this, not `strandedSince.size`: an agent transits that
|
|
225
|
+
* set on every ordinary reconnect (a 30s peer heartbeat against a 60s sweep,
|
|
226
|
+
* and `PeerRegistry` empties a peer's agent list on any disconnect, so one
|
|
227
|
+
* flap enrols every peer-adopted agent), so `size` is routinely non-zero on a
|
|
228
|
+
* healthy cluster. The past-grace count measures what `verdict()` acts on.
|
|
251
229
|
*/
|
|
252
230
|
private unseenPastGrace;
|
|
253
231
|
/**
|
|
@@ -306,11 +284,10 @@ export declare class EventProvisionReaper {
|
|
|
306
284
|
/**
|
|
307
285
|
* Adopt a changed sweep interval by rebuilding the timer.
|
|
308
286
|
*
|
|
309
|
-
* Re-read every sweep
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
* the event loop allows.
|
|
287
|
+
* Re-read every sweep, not only at a leadership transition: a knob silently
|
|
288
|
+
* ignored until the next election is worse than none. An unusable value is
|
|
289
|
+
* ignored, since a zero or negative `setInterval` period spins the sweep as
|
|
290
|
+
* fast as the event loop allows.
|
|
314
291
|
*/
|
|
315
292
|
private reconcileInterval;
|
|
316
293
|
/** Replace the timer with one running at `intervalMs`. */
|
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* In-process bounded record of recent scaler spawn failures.
|
|
3
3
|
*
|
|
4
|
-
* The scaler manager records every `scaler.failed` event here
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* is memory-only and bounded — the recent-failures window resets on restart,
|
|
4
|
+
* The scaler manager records every `scaler.failed` event here where it
|
|
5
|
+
* increments the fleet-wide Prometheus counter; the diagnose scaler check reads
|
|
6
|
+
* it grouped per backend instance. Memory-only: the window resets on restart,
|
|
8
7
|
* which is acceptable for an on-demand operator view over a short window.
|
|
9
8
|
*/
|
|
10
|
-
/** A single recorded scaler spawn failure. */
|
|
11
9
|
export interface ScalerFailureRecord {
|
|
12
|
-
/**
|
|
10
|
+
/** Configured scaler `name`; the diagnose row key. */
|
|
13
11
|
backendName: string;
|
|
14
|
-
/**
|
|
12
|
+
/** 'container' | 'bare-metal' | 'firecracker' | 'event' | 'unknown'. */
|
|
15
13
|
backendType: string;
|
|
16
14
|
/** True when the failed spawn was bound to a queued job (a run was affected). */
|
|
17
15
|
bound: boolean;
|
|
18
|
-
/** Captured error string from the scaler event detail. */
|
|
19
16
|
detail: string;
|
|
20
|
-
/** Event timestamp in epoch milliseconds. */
|
|
21
17
|
timestampMs: number;
|
|
22
18
|
}
|
|
23
|
-
/** Per-backend summary of recent failures within a window. */
|
|
24
19
|
export interface BackendFailureSummary {
|
|
25
20
|
backendType: string;
|
|
26
21
|
boundCount: number;
|
|
27
22
|
unboundCount: number;
|
|
28
23
|
/** Detail of the most recent failure in the window. */
|
|
29
24
|
lastError: string;
|
|
30
|
-
/** Timestamp of the most recent failure in the window. */
|
|
31
25
|
lastAtMs: number;
|
|
32
26
|
}
|
|
33
27
|
export declare class ScalerFailureTracker {
|
|
@@ -38,8 +32,7 @@ export declare class ScalerFailureTracker {
|
|
|
38
32
|
record(rec: ScalerFailureRecord): void;
|
|
39
33
|
/**
|
|
40
34
|
* Group failures newer than `nowMs - windowMs` by backend instance name.
|
|
41
|
-
* `nowMs` is injected so callers control the clock (and tests are
|
|
42
|
-
* deterministic).
|
|
35
|
+
* `nowMs` is injected so callers control the clock (and tests are deterministic).
|
|
43
36
|
*/
|
|
44
37
|
recentByBackend(windowMs: number, nowMs: number): Map<string, BackendFailureSummary>;
|
|
45
38
|
}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Provides an async generator that yields complete lines as they are appended
|
|
5
|
-
* to a file, using `fs.watchFile()` for change notifications and partial line
|
|
6
|
-
* buffering for split writes.
|
|
7
|
-
*
|
|
8
|
-
* Used by the Firecracker backend to tail serial console and VMM log files
|
|
9
|
-
* from the jailer chroot directory. The guest writes to `/dev/console`
|
|
2
|
+
* Tails append-only log files: the Firecracker backend tails the serial console
|
|
3
|
+
* and VMM log files in the jailer chroot. The guest writes to `/dev/console`
|
|
10
4
|
* unprivileged, so everything this module buffers is tenant-controlled: every
|
|
11
5
|
* buffer here is bounded, and an overflow is reported in-band rather than
|
|
12
6
|
* growing the orchestrator's heap.
|
|
@@ -19,8 +13,8 @@
|
|
|
19
13
|
*/
|
|
20
14
|
export declare const MAX_LINE_BYTES: number;
|
|
21
15
|
/**
|
|
22
|
-
* Largest slice read
|
|
23
|
-
*
|
|
16
|
+
* Largest slice read per poll, so a burst drains across several reads instead
|
|
17
|
+
* of materialising the whole delta in one string.
|
|
24
18
|
*/
|
|
25
19
|
export declare const MAX_READ_BYTES: number;
|
|
26
20
|
/**
|
|
@@ -32,15 +26,8 @@ export declare const MAX_READ_BYTES: number;
|
|
|
32
26
|
*/
|
|
33
27
|
export declare const MAX_QUEUED_LINES = 10000;
|
|
34
28
|
/**
|
|
35
|
-
* Tail an append-only file, yielding complete lines as they are
|
|
36
|
-
*
|
|
37
|
-
* Pre-creates the file if it does not exist to avoid watch errors.
|
|
38
|
-
* Tracks byte offset and partial (incomplete) trailing lines across reads.
|
|
39
|
-
* Stops when the provided AbortSignal is triggered.
|
|
40
|
-
*
|
|
41
|
-
* @param filePath - Path to the file to tail
|
|
42
|
-
* @param signal - AbortSignal to stop tailing
|
|
43
|
-
* @yields Complete lines (non-empty) as they are appended to the file
|
|
29
|
+
* Tail an append-only file, yielding complete non-empty lines as they are
|
|
30
|
+
* written, until `signal` aborts. Pre-creates the file to avoid watch errors.
|
|
44
31
|
*/
|
|
45
32
|
export declare function tailFile(filePath: string, signal: AbortSignal): AsyncGenerator<string>;
|
|
46
33
|
//# sourceMappingURL=file-tail.d.ts.map
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Firecracker REST API client over Unix domain
|
|
2
|
+
* Firecracker REST API client over a Unix domain socket (`http` with `socketPath`).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* with Firecracker's REST API. Uses the `socketPath` option for HTTP-over-Unix-socket.
|
|
6
|
-
*
|
|
7
|
-
* Only used for post-boot operations:
|
|
4
|
+
* Post-boot operations only:
|
|
8
5
|
* - MMDS data injection (passing agent config to the guest VM)
|
|
9
6
|
* - Graceful shutdown via SendCtrlAltDel (x86_64 only)
|
|
10
7
|
* - Socket readiness polling after jailer invocation
|
|
@@ -14,94 +11,53 @@
|
|
|
14
11
|
* @see https://github.com/firecracker-microvm/firecracker/blob/main/docs/getting-started.md
|
|
15
12
|
* @see https://github.com/firecracker-microvm/firecracker/blob/main/docs/mmds/mmds-user-guide.md
|
|
16
13
|
*/
|
|
17
|
-
/**
|
|
18
|
-
* Error thrown when the Firecracker API returns a non-2xx status code
|
|
19
|
-
* or a network-level error occurs.
|
|
20
|
-
*/
|
|
14
|
+
/** A non-2xx Firecracker API response, or a network-level error. */
|
|
21
15
|
export declare class FirecrackerApiError extends Error {
|
|
22
|
-
/**
|
|
16
|
+
/** Undefined for a network error. */
|
|
23
17
|
readonly statusCode: number | undefined;
|
|
24
|
-
/** The API path that was requested */
|
|
25
18
|
readonly path: string;
|
|
26
|
-
/** The response body from the Firecracker API */
|
|
27
19
|
readonly responseBody: string;
|
|
28
20
|
constructor(message: string, path: string, statusCode?: number, responseBody?: string);
|
|
29
21
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Thin REST client for the Firecracker API over Unix domain sockets.
|
|
32
|
-
*
|
|
33
|
-
* No external dependencies -- uses Node.js built-in `http` module with
|
|
34
|
-
* the `socketPath` option for HTTP-over-Unix-socket communication.
|
|
35
|
-
*/
|
|
36
22
|
export declare class FirecrackerApi {
|
|
37
23
|
private readonly socketPath;
|
|
38
24
|
/**
|
|
39
|
-
* Aborts every in-flight and
|
|
40
|
-
*
|
|
41
|
-
* Set by the spawn path so a spawn deadline actually stops the VM
|
|
42
|
-
* provisioning calls, rather than leaving them running against a VM the
|
|
43
|
-
* manager has already given up on.
|
|
25
|
+
* Aborts every in-flight and later request. The spawn path sets it so a spawn
|
|
26
|
+
* deadline stops the provisioning calls against a VM the manager gave up on.
|
|
44
27
|
*/
|
|
45
28
|
private signal;
|
|
46
29
|
constructor(socketPath: string, signal?: AbortSignal);
|
|
47
|
-
/**
|
|
48
|
-
* Send an HTTP request to the Firecracker API.
|
|
49
|
-
*
|
|
50
|
-
* @param method - HTTP method (GET, PUT, PATCH)
|
|
51
|
-
* @param path - API path (e.g., '/mmds', '/actions', '/')
|
|
52
|
-
* @param body - Optional JSON body for PUT/PATCH requests
|
|
53
|
-
* @returns Response with statusCode and body
|
|
54
|
-
* @throws FirecrackerApiError on non-2xx status or network error
|
|
55
|
-
*/
|
|
30
|
+
/** @throws FirecrackerApiError on a non-2xx status or a network error */
|
|
56
31
|
private request;
|
|
57
32
|
/**
|
|
58
|
-
* Inject MMDS (Micro VM Metadata Service) data into a running VM
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* `{ latest: { 'meta-data': { ... } } }`
|
|
33
|
+
* Inject MMDS (Micro VM Metadata Service) v2 data into a running VM, shaped
|
|
34
|
+
* `{ latest: { 'meta-data': { ... } } }`. The guest reads it from
|
|
35
|
+
* http://169.254.169.254/latest/meta-data/ with a token-based session.
|
|
62
36
|
*
|
|
63
|
-
* The guest VM reads this data from http://169.254.169.254/latest/meta-data/
|
|
64
|
-
* using a token-based session (MMDS v2).
|
|
65
|
-
*
|
|
66
|
-
* @param data - Metadata object to inject
|
|
67
37
|
* @see https://github.com/firecracker-microvm/firecracker/blob/main/docs/mmds/mmds-user-guide.md
|
|
68
38
|
*/
|
|
69
39
|
putMmds(data: Record<string, unknown>): Promise<void>;
|
|
70
40
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* Called after receiving config.ack from the agent.
|
|
41
|
+
* Replace the MMDS data with an empty meta-data object once the agent's
|
|
42
|
+
* config.ack confirms it received its config over WS.
|
|
74
43
|
*/
|
|
75
44
|
clearMmds(): Promise<void>;
|
|
76
45
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* which triggers a clean shutdown in most Linux distributions.
|
|
81
|
-
*
|
|
82
|
-
* Note: Only works on x86_64. On arm64, the i8042 keyboard controller
|
|
83
|
-
* is not available, so this action is not supported. Use process kill
|
|
84
|
-
* as fallback on arm64.
|
|
46
|
+
* Graceful shutdown: Ctrl+Alt+Del on the virtual keyboard, which most Linux
|
|
47
|
+
* distributions answer with a clean shutdown. x86_64 only: arm64 has no i8042
|
|
48
|
+
* keyboard controller, so kill the process there instead.
|
|
85
49
|
*
|
|
86
50
|
* @see https://github.com/firecracker-microvm/firecracker/blob/main/docs/getting-started.md
|
|
87
51
|
*/
|
|
88
52
|
sendCtrlAltDel(): Promise<void>;
|
|
89
53
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* Used to check if the API socket is reachable and the VM is running.
|
|
93
|
-
* Returns the parsed JSON response with instance information.
|
|
54
|
+
* Instance info from the API root, parsed. Doubles as the check that the API
|
|
55
|
+
* socket is reachable and the VM is running.
|
|
94
56
|
*/
|
|
95
57
|
getInstanceInfo(): Promise<Record<string, unknown>>;
|
|
96
58
|
/**
|
|
97
|
-
* Poll the
|
|
98
|
-
*
|
|
99
|
-
* Used after jailer invocation to wait for Firecracker to create the API socket
|
|
100
|
-
* and become ready to accept requests.
|
|
101
|
-
*
|
|
102
|
-
* @param timeoutMs - Maximum time to wait in milliseconds (default: 5000)
|
|
103
|
-
* @param intervalMs - Polling interval in milliseconds (default: 100)
|
|
104
|
-
* @returns true if socket became reachable, false on timeout
|
|
59
|
+
* Poll the API socket after the jailer starts, until Firecracker accepts
|
|
60
|
+
* requests (true) or `timeoutMs` passes (false). Both arguments are in ms.
|
|
105
61
|
*/
|
|
106
62
|
waitForSocket(timeoutMs?: number, intervalMs?: number): Promise<boolean>;
|
|
107
63
|
}
|