@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
|
@@ -19,9 +19,9 @@ export interface ProvenanceOidcRoutesDeps {
|
|
|
19
19
|
/** Whether orchestrator-owned signing is configured. */
|
|
20
20
|
enabled: boolean;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
* When present, the JWKS also serves the non-revoked X25519 `use:'enc'` key(s)
|
|
23
|
+
* for browser-sealed dashboard writes (the Verified tier's trust root).
|
|
24
|
+
* Independent of provenance signing.
|
|
25
25
|
*/
|
|
26
26
|
dashboardEncryptionRepo?: Pick<DashboardEncryptionKeyRepo, 'listNonRevoked'>;
|
|
27
27
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Kysely } from 'kysely';
|
|
2
|
+
import { OrchestratorMode } from '@kici-dev/engine';
|
|
3
|
+
import type { Database } from '../db/types.js';
|
|
4
|
+
import type { RbacEnforcer } from '../secrets/rbac.js';
|
|
5
|
+
import { type TestRelayHandlerDeps } from '../ws/test-relay-handlers.js';
|
|
6
|
+
import type { AuthTokenValidator } from './admin-auth.js';
|
|
7
|
+
import { type TokenCaller } from './caller-identity.js';
|
|
8
|
+
type TestDirectEnv = {
|
|
9
|
+
Variables: {
|
|
10
|
+
caller: TokenCaller;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
/** Answer for a Platform-connected orchestrator that has no org yet. */
|
|
14
|
+
export declare const NO_PLATFORM_ORG_MESSAGE = "This orchestrator has not received its organization from the KiCI Platform yet, so it cannot choose where to run the test. Retry when the orchestrator is connected.";
|
|
15
|
+
export interface TestDirectRouteDeps {
|
|
16
|
+
tokenManager: AuthTokenValidator;
|
|
17
|
+
rbac: RbacEnforcer;
|
|
18
|
+
mode: OrchestratorMode;
|
|
19
|
+
/** The org a connected orchestrator learned from the Platform; read per request. */
|
|
20
|
+
platformOrgId: () => string | null | undefined;
|
|
21
|
+
db: Kysely<Database>;
|
|
22
|
+
/** Builds the relay handlers' deps for one request (minus org, routing key and source). */
|
|
23
|
+
relayDeps: () => Omit<TestRelayHandlerDeps, 'orgId' | 'routingKey' | 'accessLogSource'>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The org a direct test run belongs to: the default org on an independent
|
|
27
|
+
* orchestrator, the Platform-assigned org otherwise (null until it is known).
|
|
28
|
+
*/
|
|
29
|
+
export declare function directOrgId(mode: OrchestratorMode, platformOrgId: string | null | undefined): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* Build the route deps, or null when admin auth is not configured: without a
|
|
32
|
+
* token store there is no credential to authenticate a developer with.
|
|
33
|
+
*/
|
|
34
|
+
export declare function testDirectRouteDeps(input: {
|
|
35
|
+
adminDeps?: {
|
|
36
|
+
tokenManager: AuthTokenValidator;
|
|
37
|
+
rbac: RbacEnforcer;
|
|
38
|
+
};
|
|
39
|
+
}, rest: Omit<TestDirectRouteDeps, 'tokenManager' | 'rbac'>): TestDirectRouteDeps | null;
|
|
40
|
+
/**
|
|
41
|
+
* Build the direct test-run router: the routes under `/api/v1/test`, each
|
|
42
|
+
* behind admin-token authentication that refuses a routing-key-scoped token.
|
|
43
|
+
*/
|
|
44
|
+
export declare function createTestDirectRoutes(deps: TestDirectRouteDeps): import("hono").Hono<TestDirectEnv, import("hono/types").BlankSchema, "/">;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=test-direct.d.ts.map
|
package/dist/routes/uploads.d.ts
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Test-run upload provisioning.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* references the upload id. This is invoked by the Platform-first
|
|
8
|
-
* `test.relay.uploads.init` relay handler — the developer never reaches the
|
|
9
|
-
* orchestrator's HTTP API directly.
|
|
2
|
+
* Test-run upload provisioning. The developer encrypts the overlay tarball with
|
|
3
|
+
* the returned public key and PUTs it directly to the object store; a test
|
|
4
|
+
* trigger then references the upload id. Called by the
|
|
5
|
+
* `test.relay.uploads.init` relay handler (Platform-routed runs) and by the
|
|
6
|
+
* direct `POST /api/v1/test/uploads/init` route.
|
|
10
7
|
*/
|
|
11
8
|
import type { Kysely } from 'kysely';
|
|
12
9
|
import type { Database } from '../db/types.js';
|
|
13
10
|
import type { CacheStorage } from '../storage/types.js';
|
|
14
|
-
/** Parameters for {@link initTestUpload}. */
|
|
15
11
|
export interface InitTestUploadParams {
|
|
16
12
|
routingKey: string;
|
|
17
13
|
sha?: string;
|
|
@@ -19,21 +15,20 @@ export interface InitTestUploadParams {
|
|
|
19
15
|
compressedSize?: number;
|
|
20
16
|
/** PAT/actor identity that owns this upload, written to `test_uploads.created_by`. */
|
|
21
17
|
createdBy?: string | null;
|
|
22
|
-
/**
|
|
23
|
-
* When true, presign with the host-facing internal endpoint. When false (the
|
|
24
|
-
* Platform-relayed path), presign with the external/dev-reachable endpoint so
|
|
25
|
-
* a developer on a different network can PUT directly to the object store.
|
|
26
|
-
*/
|
|
27
|
-
internal?: boolean;
|
|
28
18
|
}
|
|
29
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* The orchestrator has no object storage, so it cannot mint an upload URL.
|
|
21
|
+
* Callers answer it as "service unavailable" with the message as-is.
|
|
22
|
+
*/
|
|
23
|
+
export declare class TestUploadStorageUnavailableError extends Error {
|
|
24
|
+
constructor(message: string);
|
|
25
|
+
}
|
|
30
26
|
export interface InitTestUploadResult {
|
|
31
27
|
uploadId: string;
|
|
32
28
|
signedUrl: string;
|
|
33
29
|
publicKey: string;
|
|
34
30
|
expiresIn: number;
|
|
35
31
|
}
|
|
36
|
-
/** Dependencies for {@link initTestUpload}. */
|
|
37
32
|
export interface InitTestUploadDeps {
|
|
38
33
|
db: Kysely<Database>;
|
|
39
34
|
cacheStorage?: CacheStorage;
|
|
@@ -41,8 +36,8 @@ export interface InitTestUploadDeps {
|
|
|
41
36
|
/**
|
|
42
37
|
* Mint an upload record and return a presigned PUT URL + ephemeral X25519
|
|
43
38
|
* public key. The encryption keypair is generated per upload; the private key
|
|
44
|
-
* is stored orchestrator-side for post-PUT decryption. The
|
|
45
|
-
*
|
|
39
|
+
* is stored orchestrator-side for post-PUT decryption. The URL is the
|
|
40
|
+
* developer-facing one (`CacheStorage.getInternalUploadUrl`).
|
|
46
41
|
*/
|
|
47
42
|
export declare function initTestUpload(deps: InitTestUploadDeps, params: InitTestUploadParams): Promise<InitTestUploadResult>;
|
|
48
43
|
//# sourceMappingURL=uploads.d.ts.map
|
|
@@ -2,33 +2,11 @@ import { Hono } from 'hono';
|
|
|
2
2
|
import type { WebhookInfo } from '../webhook/handler.js';
|
|
3
3
|
import type { GenericSourceManager } from '../webhook/generic-sources.js';
|
|
4
4
|
import { WebhookIngestOutcome } from '../pipeline/process-webhook.js';
|
|
5
|
-
/**
|
|
6
|
-
* Dependencies for generic webhook routes.
|
|
7
|
-
*/
|
|
8
5
|
export interface GenericWebhookRoutesDeps {
|
|
9
|
-
/** Generic source manager for source lookup and validation */
|
|
10
6
|
sourceManager: GenericSourceManager;
|
|
11
|
-
/**
|
|
7
|
+
/** Hands the delivery to the trigger-matching pipeline. */
|
|
12
8
|
onWebhook: (info: WebhookInfo) => Promise<WebhookIngestOutcome>;
|
|
13
9
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Create generic webhook routes for non-GitHub webhook ingestion.
|
|
16
|
-
*
|
|
17
|
-
* Endpoint: POST /webhook/:orgId/generic/:sourceId
|
|
18
|
-
*
|
|
19
|
-
* Handler flow:
|
|
20
|
-
* 1. Read raw body
|
|
21
|
-
* 2. Look up source from GenericSourceManager
|
|
22
|
-
* 3. Check payload size
|
|
23
|
-
* 4. Rate limit check
|
|
24
|
-
* 5. Verify signature using per-source verification config
|
|
25
|
-
* 6. Extract idempotency key, check dedup
|
|
26
|
-
* 7. Extract event type, check allowed events
|
|
27
|
-
* 8. Normalize and process through pipeline
|
|
28
|
-
* 9. Return response
|
|
29
|
-
*
|
|
30
|
-
* @param deps - Dependencies (source manager, dedup cache, processing callback)
|
|
31
|
-
* @returns Hono app with generic webhook routes
|
|
32
|
-
*/
|
|
10
|
+
/** Non-GitHub webhook ingestion: POST /webhook/:orgId/generic/:sourceId. */
|
|
33
11
|
export declare function createGenericWebhookRoutes(deps: GenericWebhookRoutesDeps): Hono;
|
|
34
12
|
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the `kici-agent` binary installed with an orchestrator lives.
|
|
3
|
+
*
|
|
4
|
+
* The `kici-admin` npm package ships both the orchestrator and the `kici-agent`
|
|
5
|
+
* bin, so `npm install -g kici-admin` puts the agent in the runtime's global bin
|
|
6
|
+
* folder, and a bare-metal scaler whose `binaryPath` names that file upgrades
|
|
7
|
+
* its agent together with the orchestrator. These helpers find the
|
|
8
|
+
* file from a path inside the installed package: the service's entry script,
|
|
9
|
+
* or the running process's own.
|
|
10
|
+
*/
|
|
11
|
+
import type { ScalerEntry } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* The `kici-agent` bin that npm linked for the `kici-admin` package that
|
|
14
|
+
* contains `entry`, or null when `entry` is not inside a `kici-admin` install.
|
|
15
|
+
*
|
|
16
|
+
* - POSIX global install (`<prefix>/lib/node_modules/kici-admin/…`):
|
|
17
|
+
* `<prefix>/bin/kici-agent`.
|
|
18
|
+
* - Windows global install (`<prefix>\node_modules\kici-admin\…`):
|
|
19
|
+
* `<prefix>\kici-agent.cmd`.
|
|
20
|
+
* - POSIX local install (`<dir>/node_modules/kici-admin/…`):
|
|
21
|
+
* `<dir>/node_modules/.bin/kici-agent`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function agentBinaryFromEntry(entry: string, windows: boolean): string | null;
|
|
24
|
+
/**
|
|
25
|
+
* The agent installed with the runtime a service launch command uses: the
|
|
26
|
+
* first launch token inside a `kici-admin` install decides it.
|
|
27
|
+
*/
|
|
28
|
+
export declare function agentBinaryFromLaunch(launch: {
|
|
29
|
+
execPath: string;
|
|
30
|
+
args: string[];
|
|
31
|
+
}, windows: boolean): string | null;
|
|
32
|
+
/** Whether `file` exists and this process may execute it. */
|
|
33
|
+
export declare function isExecutableFile(file: string): boolean;
|
|
34
|
+
/** A version manager's own executable or shim that a `binaryPath` resolves to. */
|
|
35
|
+
export interface VersionManagerExecutable {
|
|
36
|
+
/** The version manager, e.g. `mise`, or null when the shim names none. */
|
|
37
|
+
manager: string | null;
|
|
38
|
+
/** The file the `binaryPath` resolves to. */
|
|
39
|
+
realpath: string;
|
|
40
|
+
/** The command that prints the `kici-agent` the shim runs, or null. */
|
|
41
|
+
whichCommand: string | null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The version manager `binaryPath` runs instead of a `kici-agent`, or null.
|
|
45
|
+
*
|
|
46
|
+
* A shim is not an agent: a mise shim links to the `mise` executable, a Volta
|
|
47
|
+
* shim to `volta-shim`, and an asdf or nodenv shim is a script in a `shims`
|
|
48
|
+
* folder. Each one passes an executable-file check. An alias into a Node.js
|
|
49
|
+
* install (mise `node/24`) resolves to the real agent and is not reported here.
|
|
50
|
+
*/
|
|
51
|
+
export declare function versionManagerExecutable(binaryPath: string): VersionManagerExecutable | null;
|
|
52
|
+
/** The sentence that tells the operator which path to set instead of a shim. */
|
|
53
|
+
export declare function versionManagerRemedy(vm: VersionManagerExecutable): string;
|
|
54
|
+
/** Why a bare-metal `binaryPath` is a version-manager shim, in operator words. */
|
|
55
|
+
export declare function versionManagerShimMessage(binaryPath: string, vm: VersionManagerExecutable): string;
|
|
56
|
+
/**
|
|
57
|
+
* One error line per bare-metal `binaryPath` that resolves to a version
|
|
58
|
+
* manager's executable or shim. The startup tools check adds these to its own
|
|
59
|
+
* errors: such a file passes the executable check, and no agent would start.
|
|
60
|
+
*/
|
|
61
|
+
export declare function bareMetalVersionManagerErrors(entries: ScalerEntry[]): string[];
|
|
62
|
+
/**
|
|
63
|
+
* The hint the startup tools check appends when a bare-metal `binaryPath` is
|
|
64
|
+
* missing, not executable, or a version-manager shim: the agent installed with
|
|
65
|
+
* this orchestrator's own runtime, when one is on disk. Null when every
|
|
66
|
+
* `binaryPath` is usable or no such agent exists.
|
|
67
|
+
*
|
|
68
|
+
* Candidates, in order: the agent npm linked for the `kici-admin` package the
|
|
69
|
+
* process runs from (`entryPath`, the service's entry script), then
|
|
70
|
+
* `kici-agent` beside the running Node.js binary (`execPath`).
|
|
71
|
+
*/
|
|
72
|
+
export declare function bareMetalAgentBinaryHint(entries: ScalerEntry[], opts: {
|
|
73
|
+
entryPath: string | undefined;
|
|
74
|
+
execPath: string;
|
|
75
|
+
windows: boolean;
|
|
76
|
+
}): string | null;
|
|
77
|
+
//# sourceMappingURL=agent-binary-location.d.ts.map
|
|
@@ -135,8 +135,8 @@ export declare function fitAgentFor(agent: {
|
|
|
135
135
|
scalerManaged: boolean;
|
|
136
136
|
}, scalerAgentView?: (agentId: string) => ScalerAgentView | undefined): FitAgent;
|
|
137
137
|
/**
|
|
138
|
-
* Whether this agent may run this job
|
|
139
|
-
* queued job to an agent asks this one predicate
|
|
138
|
+
* Whether this agent may run this job, once its labels have matched. Every
|
|
139
|
+
* dispatch path that hands a queued job to an agent asks this one predicate.
|
|
140
140
|
*
|
|
141
141
|
* In order:
|
|
142
142
|
*
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* The single construction path for scaler backends.
|
|
3
3
|
*
|
|
4
4
|
* Both startup hosts (`orchestrator-core`, `worker-core`) and
|
|
5
|
-
* `ScalerManager.reload` call this, so a
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* code.
|
|
5
|
+
* `ScalerManager.reload` call this, so a reload builds a backend exactly as
|
|
6
|
+
* startup does. Host differences (DB-backed vs in-memory IP allocation, event
|
|
7
|
+
* support) arrive as context fields, not forked code.
|
|
9
8
|
*/
|
|
10
9
|
import type { createLogger, ToolRequirement } from '@kici-dev/shared';
|
|
11
10
|
import type { AgentTokenStore } from '../agent/token-store.js';
|
|
@@ -22,10 +21,7 @@ export interface IpAllocatorParams {
|
|
|
22
21
|
export interface BackendFactoryContext {
|
|
23
22
|
/** The whole config — supplies `defaults.resources` and the firecracker network block. */
|
|
24
23
|
scalerConfig: ScalerConfig;
|
|
25
|
-
/**
|
|
26
|
-
* Always supplied when available; the event backend's claim store needs it
|
|
27
|
-
* regardless of the auth mode.
|
|
28
|
-
*/
|
|
24
|
+
/** Always supplied when available: the event claim store needs it in any auth mode. */
|
|
29
25
|
tokenStore?: AgentTokenStore;
|
|
30
26
|
/** True when `config.agentAuth === 'token'`; gates token injection for the three local backends. */
|
|
31
27
|
injectAgentToken: boolean;
|
|
@@ -46,21 +42,17 @@ export interface BackendFactoryContext {
|
|
|
46
42
|
/** DB-backed on a coordinator, in-memory on a worker. */
|
|
47
43
|
ipAllocator: (params: IpAllocatorParams) => IpAllocator;
|
|
48
44
|
/**
|
|
49
|
-
* The
|
|
50
|
-
*
|
|
51
|
-
* which has no database — and so no event backend either.
|
|
45
|
+
* The event backend's claim store writes pending-claim rows through it.
|
|
46
|
+
* Absent on the worker, which has no database and so no event backend.
|
|
52
47
|
*/
|
|
53
48
|
stateStore?: ScalerStateStore;
|
|
54
49
|
/** Absent ⇒ the `event` type is unsupported on this host (worker mode). */
|
|
55
50
|
eventEmitterProvider?: () => ScalerEventEmitterLike;
|
|
56
51
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* assumes every running container is registered, which is the fail-safe
|
|
62
|
-
* direction: it leaves an orphan for the next pass rather than killing a
|
|
63
|
-
* live agent.
|
|
52
|
+
* The container orphan sweep uses it to tell a working agent from one that
|
|
53
|
+
* never registered. Absent ⇒ every running container counts as registered,
|
|
54
|
+
* the fail-safe direction: an orphan waits for the next pass rather than a
|
|
55
|
+
* live agent being killed.
|
|
64
56
|
*/
|
|
65
57
|
isAgentRegistered?: (agentId: string) => boolean;
|
|
66
58
|
logger: ReturnType<typeof createLogger>;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bare-metal scaler backend
|
|
3
|
-
*
|
|
4
|
-
* Manages ephemeral agent processes using child_process.spawn.
|
|
2
|
+
* Bare-metal scaler backend: ephemeral agent processes via child_process.spawn.
|
|
5
3
|
* On Linux and macOS each agent leads its own process group, which teardown
|
|
6
4
|
* signals; on Windows teardown ends the agent's process tree with taskkill.
|
|
7
5
|
* All agents are single-use: destroyed after job completion.
|
|
@@ -24,7 +22,7 @@ export interface BareMetalScalerBackendOptions {
|
|
|
24
22
|
* container mode, which is the only mode with a network boundary.
|
|
25
23
|
*/
|
|
26
24
|
hostServices?: string[];
|
|
27
|
-
/** Token store for
|
|
25
|
+
/** Token store for ephemeral agent auth tokens; when undefined, no token is injected. */
|
|
28
26
|
tokenStore?: AgentTokenStore;
|
|
29
27
|
/** TTL for ephemeral agent tokens in ms. Default: 1 hour. */
|
|
30
28
|
tokenTtlMs?: number;
|
|
@@ -41,9 +39,8 @@ export interface BareMetalScalerBackendOptions {
|
|
|
41
39
|
* (`systemd-run --user --scope --slice=kici-scaler`) and translate the
|
|
42
40
|
* job's effective CPU / memory limits into `CPUQuota=` / `MemoryMax=`
|
|
43
41
|
* properties so the kernel cgroup actually enforces the limits. When
|
|
44
|
-
* false (the default),
|
|
45
|
-
*
|
|
46
|
-
* cgroup is created.
|
|
42
|
+
* false (the default), limits are advisory only — they drive the scaler's
|
|
43
|
+
* per-machine cap math but no cgroup is created.
|
|
47
44
|
*
|
|
48
45
|
* Linux-only. On macOS / Windows hosts the option is silently a no-op
|
|
49
46
|
* (`systemd-run` does not exist), with a one-time startup warning.
|
|
@@ -126,15 +123,13 @@ export declare class BareMetalScalerBackend implements ScalerBackend {
|
|
|
126
123
|
* Declare required tools for a bare-metal scaler entry.
|
|
127
124
|
*
|
|
128
125
|
* - Every label set's `binaryPath` must be an executable file on disk.
|
|
129
|
-
* - If `KICI_SANDBOX=true`
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
* be available on PATH so the agent can actually wrap workflow runners.
|
|
126
|
+
* - If `KICI_SANDBOX=true` is forwarded to spawned agents (via the
|
|
127
|
+
* orchestrator's `KICI_AGENT_ENV_KICI_SANDBOX=true` or a label set's
|
|
128
|
+
* `env.KICI_SANDBOX=true`), `bwrap` must be on PATH.
|
|
133
129
|
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
* to enable KICI_SANDBOX will be rejected here.
|
|
130
|
+
* Checked at orchestrator startup so misconfiguration fails fast instead of
|
|
131
|
+
* crashing every job at dispatch. On macOS and Windows (no bwrap) enabling
|
|
132
|
+
* KICI_SANDBOX is rejected here.
|
|
138
133
|
*/
|
|
139
134
|
static getRequiredTools(entry: ScalerEntry): ToolRequirement[];
|
|
140
135
|
get labelSets(): LabelSetConfig[];
|
|
@@ -148,13 +143,9 @@ export declare class BareMetalScalerBackend implements ScalerBackend {
|
|
|
148
143
|
/**
|
|
149
144
|
* Launch the agent inside the job's own container image.
|
|
150
145
|
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
* customer image can host the agent.
|
|
155
|
-
*
|
|
156
|
-
* Split out of `spawn()` because that function is already near the 200-line
|
|
157
|
-
* ceiling and the two launches share nothing past the env.
|
|
146
|
+
* With the KiCI runtime injected the image needs neither Node nor git, so an
|
|
147
|
+
* arbitrary customer image can host the agent. Split out of `spawn()`: the two
|
|
148
|
+
* launches share nothing past the env.
|
|
158
149
|
*/
|
|
159
150
|
private spawnContainerAgent;
|
|
160
151
|
getScalerContext(agentId: string): Record<string, unknown> | undefined;
|
|
@@ -162,29 +153,24 @@ export declare class BareMetalScalerBackend implements ScalerBackend {
|
|
|
162
153
|
/**
|
|
163
154
|
* Force-reclaim a container-mode agent this backend no longer tracks.
|
|
164
155
|
*
|
|
165
|
-
* `destroy()`
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* container scaler is configured, which a bare-metal-only deployment has not.
|
|
156
|
+
* After an orchestrator restart `destroy()` (an in-memory lookup) is a silent
|
|
157
|
+
* no-op while the container keeps running, and the container backend's sweep
|
|
158
|
+
* reaps only its OWN `kici-scaler-name` and runs only with a container scaler
|
|
159
|
+
* configured.
|
|
170
160
|
*
|
|
171
|
-
* The
|
|
172
|
-
* `kici-
|
|
173
|
-
*
|
|
174
|
-
*
|
|
161
|
+
* The evidence is the container itself, stamped with `kici-agent-id` and
|
|
162
|
+
* `kici-scaler-name`; a container listing names only this host's containers,
|
|
163
|
+
* so a coordinator cannot reach a peer's compute — a wrongly-routed id matches
|
|
164
|
+
* nothing.
|
|
175
165
|
*
|
|
176
|
-
* A process-mode agent is NOT reclaimed
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
* have. Scanning the process table instead would risk signalling a recycled
|
|
180
|
-
* PID.
|
|
166
|
+
* A process-mode agent is NOT reclaimed: its PID lives only in memory, so a
|
|
167
|
+
* restart leaves no durable host-local artifact, and scanning the process
|
|
168
|
+
* table would risk signalling a recycled PID.
|
|
181
169
|
*
|
|
182
170
|
* @returns `true` when a container for `managedId` was found and removed.
|
|
183
171
|
*/
|
|
184
172
|
reapUnowned(managedId: string): Promise<boolean>;
|
|
185
|
-
/**
|
|
186
|
-
* Get the LogCapture for a managed agent (used by ScalerManager for log forwarding).
|
|
187
|
-
*/
|
|
173
|
+
/** Used by ScalerManager for log forwarding. */
|
|
188
174
|
getLogCapture(managedId: string): LogCapture | undefined;
|
|
189
175
|
shutdownAll(): Promise<void>;
|
|
190
176
|
reload(labelSets: LabelSetConfig[], opts?: {
|
|
@@ -196,8 +182,8 @@ export declare class BareMetalScalerBackend implements ScalerBackend {
|
|
|
196
182
|
*
|
|
197
183
|
* Windows has no process groups to signal and no SIGTERM, and Node.js cannot
|
|
198
184
|
* send a ctrl-C there (`process.kill` terminates the target unconditionally),
|
|
199
|
-
* so the tree is ended at once with `taskkill /T /F`. The pid is cmd.exe's,
|
|
200
|
-
* everything it started.
|
|
185
|
+
* so the tree is ended at once with `taskkill /T /F`. The pid is cmd.exe's,
|
|
186
|
+
* which runs the agent's `node` and everything it started.
|
|
201
187
|
*
|
|
202
188
|
* Nothing runs once Node.js has seen the child exit: libuv then releases its
|
|
203
189
|
* handle on the process, Windows may give the pid to an unrelated process,
|
|
@@ -205,10 +191,7 @@ export declare class BareMetalScalerBackend implements ScalerBackend {
|
|
|
205
191
|
* handle keeps the pid ours.
|
|
206
192
|
*/
|
|
207
193
|
private endWindowsTree;
|
|
208
|
-
/**
|
|
209
|
-
* Wait for a process to exit within a timeout.
|
|
210
|
-
* Returns true if the process exited, false if timed out.
|
|
211
|
-
*/
|
|
194
|
+
/** True if the process exited within `timeoutMs`, false on timeout. */
|
|
212
195
|
private waitForExit;
|
|
213
196
|
}
|
|
214
197
|
//# sourceMappingURL=bare-metal-backend.d.ts.map
|
|
@@ -1,32 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pending-claim store for the event scaler backend.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* agent
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* or registers; a workflow can also redeem the code itself and deliver the token.
|
|
11
|
-
* The token is therefore minted lazily (only when a real provision claims it) and
|
|
12
|
-
* is single-use: a leaked or replayed claim code mints nothing.
|
|
4
|
+
* A spawn registers a pending claim and emits a scale-up event carrying a
|
|
5
|
+
* single-use `claimCode`, never the token. The booted instance (or the workflow
|
|
6
|
+
* itself) redeems the code over the `scaler.claim-credentials` RPC for a freshly
|
|
7
|
+
* minted ephemeral agent token. The code is that RPC's authorization, so it is
|
|
8
|
+
* redeemable before the agent authenticates or registers. The token is minted
|
|
9
|
+
* lazily and single-use: a leaked or replayed code mints nothing.
|
|
13
10
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* code is stored, so a DB read can never hand back a redeemable secret.
|
|
11
|
+
* Claims live in `scaler_pending_claims`, not a per-process map, so any
|
|
12
|
+
* coordinator behind the same shared endpoint can redeem a code. Only the code's
|
|
13
|
+
* sha256 is stored, so a DB read never hands back a redeemable secret.
|
|
18
14
|
*/
|
|
19
15
|
import type { ScalerStateStore } from './scaler-state-store.js';
|
|
20
16
|
/**
|
|
21
|
-
* TTL (seconds)
|
|
22
|
-
*
|
|
23
|
-
* boot an instance, short enough that a leaked code ages out quickly.
|
|
17
|
+
* Pending claim TTL (seconds) when the scaler entry sets no `claimTtlSeconds`:
|
|
18
|
+
* long enough to boot an instance, short enough that a leaked code ages out.
|
|
24
19
|
*/
|
|
25
20
|
export declare const DEFAULT_CLAIM_TTL_SECONDS = 300;
|
|
26
|
-
/**
|
|
27
|
-
* Function that mints an ephemeral agent token bound to an agent id + labels.
|
|
28
|
-
* Modelled on `AgentTokenStore.createEphemeral(agentId, labels, ttlMs)`.
|
|
29
|
-
*/
|
|
21
|
+
/** Mints an ephemeral agent token; modelled on `AgentTokenStore.createEphemeral`. */
|
|
30
22
|
export type CreateEphemeralToken = (agentId: string, labels: string[], ttlMs: number) => Promise<string>;
|
|
31
23
|
/** What the event backend registers when it emits a scale-up. */
|
|
32
24
|
export interface ClaimSpec {
|
|
@@ -41,17 +33,13 @@ export interface ClaimSpec {
|
|
|
41
33
|
}
|
|
42
34
|
/** What a successful claim returns to the provisioning workflow. */
|
|
43
35
|
export interface ClaimedCredentials {
|
|
44
|
-
/**
|
|
36
|
+
/** Minted fresh on each claim. */
|
|
45
37
|
agentToken: string;
|
|
46
|
-
/** Agent id the instance must register with. */
|
|
47
38
|
agentId: string;
|
|
48
|
-
/** Orchestrator WS URL to connect back to. */
|
|
49
39
|
orchestratorUrl: string;
|
|
50
|
-
/** Labels the token authorizes. */
|
|
51
40
|
labels: string[];
|
|
52
41
|
}
|
|
53
42
|
export interface ClaimStoreOptions {
|
|
54
|
-
/** Mints the ephemeral agent token when a claim is honored. */
|
|
55
43
|
createEphemeral: CreateEphemeralToken;
|
|
56
44
|
/** Shared persistence, so any coordinator can redeem a code. */
|
|
57
45
|
stateStore: ScalerStateStore;
|
|
@@ -63,12 +51,10 @@ export interface ClaimStoreOptions {
|
|
|
63
51
|
scalerName?: string;
|
|
64
52
|
/** Injected clock (epoch ms) — no ambient `Date.now()` so TTLs are testable. */
|
|
65
53
|
now?: () => number;
|
|
66
|
-
/** Default
|
|
54
|
+
/** Default pending claim code TTL (seconds). */
|
|
67
55
|
ttlDefaultSec: number;
|
|
68
56
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Shared store of pending provisioning claims, backed by `scaler_pending_claims`.
|
|
71
|
-
*/
|
|
57
|
+
/** Shared store of pending provisioning claims, backed by `scaler_pending_claims`. */
|
|
72
58
|
export declare class ClaimStore {
|
|
73
59
|
private readonly createEphemeral;
|
|
74
60
|
private readonly stateStore;
|
|
@@ -76,18 +62,11 @@ export declare class ClaimStore {
|
|
|
76
62
|
private readonly now;
|
|
77
63
|
private ttlDefaultMs;
|
|
78
64
|
constructor(opts: ClaimStoreOptions);
|
|
79
|
-
/**
|
|
80
|
-
* Replace the default pending-claim TTL. Called when a config reload changes
|
|
81
|
-
* the owning scaler's `claimTtlSeconds`, so the new value applies without an
|
|
82
|
-
* orchestrator restart.
|
|
83
|
-
*/
|
|
65
|
+
/** Applies a reloaded `claimTtlSeconds` without an orchestrator restart. */
|
|
84
66
|
setDefaultTtlSeconds(seconds: number): void;
|
|
85
67
|
/**
|
|
86
|
-
* Register a pending claim and return its single-use code
|
|
87
|
-
*
|
|
88
|
-
* the (persisted) scale-up event without leaking the agent token. Only the
|
|
89
|
-
* sha256 of the code is persisted, so a DB read can never hand back a
|
|
90
|
-
* redeemable secret.
|
|
68
|
+
* Register a pending claim and return its single-use code: 256 random bits,
|
|
69
|
+
* so it can travel in the persisted scale-up event without leaking the token.
|
|
91
70
|
*/
|
|
92
71
|
register(spec: ClaimSpec): Promise<string>;
|
|
93
72
|
/**
|
|
@@ -107,10 +86,8 @@ export declare class ClaimStore {
|
|
|
107
86
|
*/
|
|
108
87
|
invalidate(agentId: string): Promise<void>;
|
|
109
88
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
* a runtime condition — fail loudly rather than persisting a row nothing can
|
|
113
|
-
* attribute.
|
|
89
|
+
* Reaching `register` on a redemption-only store is a wiring bug: fail loudly
|
|
90
|
+
* rather than persist a row nothing can attribute.
|
|
114
91
|
*/
|
|
115
92
|
private requireScalerName;
|
|
116
93
|
}
|