@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
|
@@ -1,19 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* - the operator-facing `POST /api/v1/admin/runs/:runId/cancel` route
|
|
8
|
-
* (user-initiated `kici cancel`), and
|
|
9
|
-
* - the WorkflowDeadlineDetector, which cancels runs that exceeded their
|
|
10
|
-
* workflow-level wall-clock timeout (TimeoutReason.workflow_timeout).
|
|
11
|
-
*
|
|
12
|
-
* Keeping one implementation means the deadline enforcer and the user cancel
|
|
13
|
-
* follow identical mechanics: send `job.cancel` to the agents running the
|
|
14
|
-
* run's jobs, cancel queued dispatch rows, mark pending/queued jobs cancelled,
|
|
15
|
-
* stamp the failure reason, and drive the run terminal when no agent work is
|
|
16
|
-
* outstanding.
|
|
2
|
+
* The single "cancel this whole run, recording a reason" path, shared by the
|
|
3
|
+
* `POST /api/v1/admin/runs/:runId/cancel` route (`kici cancel`) and the
|
|
4
|
+
* WorkflowDeadlineDetector (TimeoutReason.workflow_timeout), so both follow
|
|
5
|
+
* identical mechanics.
|
|
17
6
|
*/
|
|
18
7
|
import type { Kysely } from 'kysely';
|
|
19
8
|
import type { Database } from '../db/types.js';
|
|
@@ -33,18 +22,16 @@ export interface CancelRunDeps {
|
|
|
33
22
|
*/
|
|
34
23
|
instanceId?: string;
|
|
35
24
|
/**
|
|
36
|
-
* Forward `job.cancel` to the coordinator holding the agent's socket
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* unreachable rather than orphaned.
|
|
25
|
+
* Forward `job.cancel` to the coordinator holding the agent's socket; returns
|
|
26
|
+
* whether the send left this process. Undefined ⇒ no peer transport, so a
|
|
27
|
+
* job owned by a sibling is unreachable rather than orphaned.
|
|
40
28
|
*/
|
|
41
29
|
cancelJobOnPeer?: (peerId: string, runId: string, jobId: string, reason: string, force?: boolean) => boolean;
|
|
42
30
|
/** How stale a `cluster_instances` heartbeat may be and still read as live. */
|
|
43
31
|
ownershipGraceMs?: number;
|
|
44
32
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* request is withdrawn with the run. Undefined where no provider wiring
|
|
33
|
+
* `rejectWorkflow` bound to the live processing deps, so a cancel of a `held`
|
|
34
|
+
* run withdraws its approval request. Undefined where no provider wiring
|
|
48
35
|
* exists; the held run is then still cancelled and its holds rejected.
|
|
49
36
|
*/
|
|
50
37
|
rejectHeldWorkflow?: (hold: HeldRun, reason: string, opts?: RejectHeldWorkflowOptions) => Promise<boolean>;
|
|
@@ -61,23 +48,19 @@ export interface CancelRunResult {
|
|
|
61
48
|
/** Number of `job.cancel` messages dispatched to agents (running jobs). */
|
|
62
49
|
agentsNotified: number;
|
|
63
50
|
/**
|
|
64
|
-
* Jobs whose owning coordinator is alive but
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* `cancelling` and the re-drive sweep tries again.
|
|
51
|
+
* Jobs whose owning coordinator is alive but unreachable (peer send failed,
|
|
52
|
+
* or no peer transport). Not notified and NOT orphaned: the job may still be
|
|
53
|
+
* running, so the run stays `cancelling` and the re-drive sweep retries.
|
|
68
54
|
*/
|
|
69
55
|
unreachable: number;
|
|
70
56
|
/** Number of pending/queued execution_jobs rows marked cancelled. */
|
|
71
57
|
pendingCancelled: number;
|
|
72
|
-
/**
|
|
73
|
-
* True when the run was already in a terminal status, so the cancel was a
|
|
74
|
-
* no-op: no agent was notified and no row was written.
|
|
75
|
-
*/
|
|
58
|
+
/** The run was already terminal: a no-op, nothing notified or written. */
|
|
76
59
|
alreadyTerminal: boolean;
|
|
77
60
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
61
|
+
* The run was `held` and an approve, reject or expiry reached its holds
|
|
62
|
+
* first, so the cancel wrote nothing. Entry points refuse it with
|
|
63
|
+
* {@link heldRunCancelRefusal}.
|
|
81
64
|
*/
|
|
82
65
|
decidedBeforeCancel?: HeldRunDecidedFirst;
|
|
83
66
|
}
|
|
@@ -100,27 +83,20 @@ export declare class HeldRunCancelRefusedError extends Error {
|
|
|
100
83
|
}
|
|
101
84
|
/**
|
|
102
85
|
* Cancel a whole run, recording `reason` on its cancelled jobs and (if not
|
|
103
|
-
* already set) on the run's failure_reason
|
|
104
|
-
* holding a dispatched job
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* `cancelling`.
|
|
86
|
+
* already set) on the run's failure_reason: sends `job.cancel` to every agent
|
|
87
|
+
* holding a dispatched job, cancels queued dispatch rows, marks pending/queued
|
|
88
|
+
* jobs cancelled. When no agent had outstanding work, drives the run terminal
|
|
89
|
+
* immediately so it does not linger in `cancelling`.
|
|
108
90
|
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* `alreadyTerminal: true` having written nothing. Entry points map that to
|
|
112
|
-
* their own convention (the operator route answers 409; the dashboard/MCP path
|
|
113
|
-
* returns a structured already-terminal result).
|
|
91
|
+
* An already-terminal run is a no-op returning `alreadyTerminal: true`; the
|
|
92
|
+
* operator route answers 409, the dashboard/MCP path a structured result.
|
|
114
93
|
*/
|
|
115
94
|
export declare function cancelRunWithReason(deps: CancelRunDeps, runId: string, reason: string, options?: CancelRunOptions): Promise<CancelRunResult>;
|
|
116
95
|
/**
|
|
117
|
-
* Send `job.cancel` down this coordinator's own socket for the agent.
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* a non-OPEN socket leaves the job un-notified and the orphan sweep takes it.
|
|
122
|
-
* The send is wrapped so one bad socket cannot abort the whole cancellation and
|
|
123
|
-
* strand the run in `cancelling`.
|
|
96
|
+
* Send `job.cancel` down this coordinator's own socket for the agent. A
|
|
97
|
+
* mid-close socket stays registered until its close handler runs and throws on
|
|
98
|
+
* send, so a non-OPEN socket leaves the job to the orphan sweep. The send is
|
|
99
|
+
* wrapped so one bad socket cannot strand the run in `cancelling`.
|
|
124
100
|
*/
|
|
125
101
|
export declare function sendLocalCancel(args: {
|
|
126
102
|
registry: Pick<AgentRegistry, 'get'>;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* The cancel handler behind the dashboard, the `kici runs cancel` CLI, and the
|
|
3
3
|
* MCP `cancel_run` tool.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Delegates to `cancelRunWithReason` so it follows the operator-facing cancel's
|
|
6
|
+
* mechanics: an already-terminal run is a
|
|
7
7
|
* no-op, only OPEN agent sockets are notified, queued dispatch rows are
|
|
8
8
|
* cancelled, pending jobs are marked cancelled, and a run with no outstanding
|
|
9
9
|
* agent work is driven terminal.
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The receiving end of `peer.job.cancel`.
|
|
3
3
|
*
|
|
4
|
-
* A sibling forwards a cancel to the coordinator its agent is connected to
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* cannot be delivered is logged with the reason.
|
|
4
|
+
* A sibling forwards a cancel to the coordinator its agent is connected to (read
|
|
5
|
+
* from the host roster). That dispatcher tracks the job only when it dispatched
|
|
6
|
+
* or re-adopted it: an agent that reconnected here from a sibling, or one not yet
|
|
7
|
+
* back after this process restarted, is known only to `dispatch_queue.agent_id`.
|
|
8
|
+
* So the agent is resolved from the dispatcher first and the dispatch record
|
|
9
|
+
* second, and an undeliverable cancel is logged with the reason.
|
|
11
10
|
*
|
|
12
|
-
* On a worker the receiver also removes the
|
|
13
|
-
*
|
|
14
|
-
* requeue cannot bring them back.
|
|
11
|
+
* On a worker the receiver also removes the cancel's still-queued jobs (waiting
|
|
12
|
+
* for an agent spawn), reported `dequeued`, and stop-marks the dispatched ones so
|
|
13
|
+
* a requeue cannot bring them back.
|
|
15
14
|
*/
|
|
16
15
|
import type { Kysely } from 'kysely';
|
|
17
16
|
import { z } from 'zod';
|
|
@@ -41,10 +40,8 @@ export interface PeerJobCancelDeps {
|
|
|
41
40
|
/** The durable dispatch record. Absent on a worker, which has no database. */
|
|
42
41
|
lookupDispatched?: (runId: string, jobId: string | undefined) => Promise<DispatchedAgent[]>;
|
|
43
42
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* on a worker, whose queue lives in memory; a coordinator's queue rows are
|
|
47
|
-
* settled by its own run-cancel path.
|
|
43
|
+
* Wired only on a worker, whose queue lives in memory; a coordinator's queue rows
|
|
44
|
+
* are settled by its own run-cancel path.
|
|
48
45
|
*/
|
|
49
46
|
releaseQueued?: (runId: string, jobId: string | undefined) => Promise<string[]>;
|
|
50
47
|
logger: {
|
|
@@ -7,24 +7,20 @@ export interface SweepStuckCancellingDeps {
|
|
|
7
7
|
force: boolean;
|
|
8
8
|
}) => Promise<unknown>;
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* Time in `cancelling` before a re-drive: twice the recovery grace period, so
|
|
11
|
+
* a graceful teardown finishes on its own but a dropped cancel does not sit
|
|
12
|
+
* for an hour.
|
|
13
13
|
*/
|
|
14
14
|
stuckAfterMs: number;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* Re-drive the cancel for runs left in `cancelling`.
|
|
17
|
+
* Re-drive the cancel for runs left in `cancelling`. A peer blip drops a cancel
|
|
18
|
+
* sent over the peer channel, leaving the jobs executing; the workflow-deadline
|
|
19
|
+
* detector re-scans `cancelling` runs only when they HAVE a workflow timeout,
|
|
20
|
+
* so this covers every other run.
|
|
18
21
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* retries: the workflow-deadline detector re-scans `cancelling` runs, but only
|
|
22
|
-
* ones that HAVE a workflow timeout, so a run without one waits forever. This
|
|
23
|
-
* extends the same coverage to every run.
|
|
24
|
-
*
|
|
25
|
-
* Leader-gated by its caller, and idempotent by construction — re-driving a
|
|
26
|
-
* cancel that already landed re-sends `job.cancel` to an agent that is already
|
|
27
|
-
* unwinding, and re-driving one whose jobs are all terminal completes the run.
|
|
22
|
+
* Leader-gated by its caller, and idempotent: re-driving re-sends `job.cancel`
|
|
23
|
+
* to an agent already unwinding, or completes a run whose jobs are all terminal.
|
|
28
24
|
*
|
|
29
25
|
* @returns how many runs were re-driven.
|
|
30
26
|
*/
|
package/dist/cli/api-client.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HTTP client wrapper for the kici-admin CLI.
|
|
3
|
-
*
|
|
4
|
-
* Communicates with the orchestrator admin API via Bearer token authentication.
|
|
5
|
-
* All methods are thin wrappers around fetch() that handle JSON serialization,
|
|
6
|
-
* error formatting, and URL construction.
|
|
7
|
-
*/
|
|
1
|
+
/** kici-admin's HTTP client for the orchestrator admin API (Bearer token auth). */
|
|
8
2
|
import type { PeerForgetOutcome, ScalerLiveVm, ScalerReloadAnswer, ScalerReloadInstanceResult, ScalerVmStopResult } from '@kici-dev/engine';
|
|
9
3
|
/** `POST /api/v1/admin/peers/forget`: one result per coordinator, this one first. */
|
|
10
4
|
export interface PeerForgetResponseBody {
|
|
@@ -60,16 +54,14 @@ export interface FleetTopologyResponse {
|
|
|
60
54
|
nodes: FleetTopologyNodeResponse[];
|
|
61
55
|
}
|
|
62
56
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* avoid a cross-package import in the CLI wire type.
|
|
57
|
+
* A source's `git_config`; matches `UniversalGitConfigSchema` in
|
|
58
|
+
* `providers/universal-git/config.ts`, kept a loose `Record` to avoid a
|
|
59
|
+
* cross-package import in the CLI wire type.
|
|
67
60
|
*/
|
|
68
61
|
export type GenericSourceGitConfigPayload = Record<string, unknown>;
|
|
69
62
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* Matches `LocalSourceConfigSchema` in `providers/local/local-source-config.ts`.
|
|
63
|
+
* A local source's config; matches `LocalSourceConfigSchema` in
|
|
64
|
+
* `providers/local/local-source-config.ts`.
|
|
73
65
|
*/
|
|
74
66
|
export interface GenericSourceLocalConfigPayload {
|
|
75
67
|
repoBasePath: string;
|
|
@@ -77,9 +69,6 @@ export interface GenericSourceLocalConfigPayload {
|
|
|
77
69
|
/** In-place profile: the repoBasePath is the operator's real working tree. */
|
|
78
70
|
inPlace?: boolean;
|
|
79
71
|
}
|
|
80
|
-
/**
|
|
81
|
-
* Response shape for generic webhook sources from the admin API.
|
|
82
|
-
*/
|
|
83
72
|
export interface GenericSourceResponse {
|
|
84
73
|
id: string;
|
|
85
74
|
customer_id: string;
|
|
@@ -105,42 +94,29 @@ export interface GenericSourceResponse {
|
|
|
105
94
|
git_config?: string | GenericSourceGitConfigPayload | null;
|
|
106
95
|
}
|
|
107
96
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* The trap is sharpened by two details of this CLI. The base URL comes from
|
|
115
|
-
* `KICI_ADMIN_URL`, not the `KICI_ORCHESTRATOR_URL` an operator is likelier to
|
|
116
|
-
* have exported; and subcommands accepting `--database-url` fall back to direct
|
|
117
|
-
* DB access, so on a host with `KICI_DATABASE_URL` set they keep working while
|
|
118
|
-
* the HTTP-only ones fail — making it look like specific subcommands are broken.
|
|
119
|
-
*
|
|
120
|
-
* So: name the address, name the variable, and name the near-miss.
|
|
97
|
+
* A bare `TypeError: fetch failed` names neither the address nor the knob that
|
|
98
|
+
* sets it, so it reads as a broken subcommand rather than a misaddressed client.
|
|
99
|
+
* The base URL comes from `KICI_ADMIN_URL`, not `KICI_ORCHESTRATOR_URL`, and
|
|
100
|
+
* subcommands with `--database-url` fall back to direct DB access, so with
|
|
101
|
+
* `KICI_DATABASE_URL` set only the HTTP-only ones fail. The error therefore names
|
|
102
|
+
* the address, the variable and the near-miss.
|
|
121
103
|
*/
|
|
122
104
|
/**
|
|
123
|
-
* Best-effort one-line detail from a rejected `fetch
|
|
124
|
-
*
|
|
125
|
-
* print an empty one.
|
|
105
|
+
* Best-effort one-line detail from a rejected `fetch`; '' when none, so the
|
|
106
|
+
* caller omits the parenthetical.
|
|
126
107
|
*/
|
|
127
108
|
export declare function firstCauseMessage(err: unknown): string;
|
|
128
109
|
/**
|
|
129
|
-
* True when a rejected `fetch` failed at the transport layer,
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
* `fetch` uses a `TypeError` for both, so they are easy to conflate — but only
|
|
133
|
-
* a transport failure means the orchestrator was actually dialled. Measured
|
|
134
|
-
* against Node 24's undici:
|
|
110
|
+
* True when a rejected `fetch` failed at the transport layer, not while the
|
|
111
|
+
* request was being built. Both are a `TypeError`, but only a transport failure
|
|
112
|
+
* means the orchestrator was dialled. Measured against Node 24's undici:
|
|
135
113
|
*
|
|
136
114
|
* closed port → TypeError('fetch failed') cause: Error(ECONNREFUSED)
|
|
137
115
|
* invalid header → TypeError('Headers.append: … invalid header …') cause: undefined
|
|
138
116
|
* invalid URL → TypeError('Failed to parse URL from …') cause: Error(ERR_INVALID_URL)
|
|
139
117
|
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* transport failure and a descriptive message for everything it rejects before
|
|
143
|
-
* opening a connection.
|
|
118
|
+
* So the discriminator is the message, NOT a `cause` (the invalid-URL case has
|
|
119
|
+
* one): undici says exactly `fetch failed` only for a transport failure.
|
|
144
120
|
*/
|
|
145
121
|
export declare function isTransportFailure(err: unknown): boolean;
|
|
146
122
|
/** The admin API address kici-admin dials when neither --url nor KICI_ADMIN_URL is set. */
|
|
@@ -152,33 +128,12 @@ export declare class AdminApiClient {
|
|
|
152
128
|
private readonly baseUrl;
|
|
153
129
|
private readonly token;
|
|
154
130
|
constructor(baseUrl: string, token: string);
|
|
155
|
-
/**
|
|
156
|
-
* Make an authenticated HTTP request to the admin API.
|
|
157
|
-
*/
|
|
158
131
|
private request;
|
|
159
|
-
/**
|
|
160
|
-
* Public GET request returning parsed JSON.
|
|
161
|
-
*/
|
|
162
132
|
get<T>(path: string): Promise<T>;
|
|
163
|
-
/**
|
|
164
|
-
* Public POST request returning parsed JSON.
|
|
165
|
-
*/
|
|
166
133
|
post<T>(path: string, body: unknown): Promise<T>;
|
|
167
|
-
/**
|
|
168
|
-
* Public PATCH request returning parsed JSON.
|
|
169
|
-
*/
|
|
170
134
|
patch<T>(path: string, body: unknown): Promise<T>;
|
|
171
|
-
/**
|
|
172
|
-
* Public PUT request returning parsed JSON.
|
|
173
|
-
*/
|
|
174
135
|
put<T>(path: string, body: unknown): Promise<T>;
|
|
175
|
-
/**
|
|
176
|
-
* Public DELETE request returning parsed JSON.
|
|
177
|
-
*/
|
|
178
136
|
delete<T>(path: string): Promise<T>;
|
|
179
|
-
/**
|
|
180
|
-
* Public GET request returning raw response text.
|
|
181
|
-
*/
|
|
182
137
|
getText(path: string): Promise<string>;
|
|
183
138
|
/** Enumerate the cluster topology for `debug-bundle --fleet --list` / `--pick`. */
|
|
184
139
|
getFleetTopology(): Promise<FleetTopologyResponse>;
|
|
@@ -367,13 +322,9 @@ export declare class AdminApiClient {
|
|
|
367
322
|
tokens: any[];
|
|
368
323
|
}>;
|
|
369
324
|
/**
|
|
370
|
-
* Revoke an agent token.
|
|
371
|
-
*
|
|
372
|
-
*
|
|
373
|
-
* synchronously closes every in-flight agent WS authenticated by
|
|
374
|
-
* this token. The returned `kicked` count is the number
|
|
375
|
-
* of WS connections that were closed on the wire — surface it to
|
|
376
|
-
* the operator so they know the revocation actually propagated.
|
|
325
|
+
* Revoke an agent token: the orchestrator sets `agent_tokens.revoked_at` AND
|
|
326
|
+
* synchronously closes every agent WS authenticated by it. `kicked` counts
|
|
327
|
+
* the closed connections; show it so the operator sees the revocation propagated.
|
|
377
328
|
*/
|
|
378
329
|
revokeAgentToken(id: string): Promise<{
|
|
379
330
|
kicked: number;
|
|
@@ -430,7 +381,6 @@ export declare class AdminApiClient {
|
|
|
430
381
|
draining: boolean;
|
|
431
382
|
jobsRunning: number;
|
|
432
383
|
}>;
|
|
433
|
-
/** Forget a departed peer on this coordinator and every connected sibling. */
|
|
434
384
|
/**
|
|
435
385
|
* Forget a departed peer on this coordinator and every connected sibling. A
|
|
436
386
|
* refusal that only needs the backstop acknowledgement comes back as a body
|
|
@@ -469,6 +419,10 @@ export declare class AdminApiClient {
|
|
|
469
419
|
vmIds: string[];
|
|
470
420
|
timeoutMs?: number;
|
|
471
421
|
}): Promise<ScalerOrphansStopResponse>;
|
|
422
|
+
/**
|
|
423
|
+
* @deprecated No KiCI server serves `/api/v1/api-keys`; use `createToken`
|
|
424
|
+
* (`kici-admin token create`). Removed in v1.0.0.
|
|
425
|
+
*/
|
|
472
426
|
createApiKey(opts: {
|
|
473
427
|
label?: string;
|
|
474
428
|
routingKeys?: string[];
|
|
@@ -477,6 +431,10 @@ export declare class AdminApiClient {
|
|
|
477
431
|
key: string;
|
|
478
432
|
routingKeys: string[];
|
|
479
433
|
}>;
|
|
434
|
+
/**
|
|
435
|
+
* @deprecated No KiCI server serves `/api/v1/api-keys`; use `createToken`
|
|
436
|
+
* with `routingKey` (`kici-admin token create --routing-key`). Removed in v1.0.0.
|
|
437
|
+
*/
|
|
480
438
|
addRoutingKeyPermission(keyId: string, pattern: string): Promise<{
|
|
481
439
|
id: string;
|
|
482
440
|
pattern: string;
|
|
@@ -524,10 +482,9 @@ export declare class AdminApiClient {
|
|
|
524
482
|
}>;
|
|
525
483
|
}>;
|
|
526
484
|
/**
|
|
527
|
-
* List
|
|
528
|
-
*
|
|
529
|
-
*
|
|
530
|
-
* are returned.
|
|
485
|
+
* List runs. `status` takes one status or a comma-separated list (e.g.
|
|
486
|
+
* `success,failed`). `since` is an ISO-8601 timestamp; only runs with
|
|
487
|
+
* `created_at` strictly later are returned.
|
|
531
488
|
*/
|
|
532
489
|
listRuns(opts?: {
|
|
533
490
|
status?: string;
|
|
@@ -1,28 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* psql when an operator asks "who read this run's payload last Tuesday" or
|
|
7
|
-
* "show me everything a platform_operator actor did".
|
|
8
|
-
*
|
|
9
|
-
* access-log list List access-log rows with filters (cursor-paginated)
|
|
10
|
-
* access-log show Show a single entry by id
|
|
11
|
-
*
|
|
12
|
-
* Filter flags for `list`:
|
|
13
|
-
* --org -> ?orgId=
|
|
14
|
-
* --actor-type -> ?actorType=
|
|
15
|
-
* --actor-id -> ?actorId=
|
|
16
|
-
* --action -> ?action=
|
|
17
|
-
* --source -> ?source=
|
|
18
|
-
* --outcome -> ?outcome=
|
|
19
|
-
* --target-type -> ?targetType=
|
|
20
|
-
* --target-id -> ?targetId=
|
|
21
|
-
* --from / --to -> ?from= / ?to= (ISO timestamps)
|
|
22
|
-
* --q -> ?q= (substring of error_message, trigram-indexed)
|
|
23
|
-
* --limit -> ?limit= (default 50, max 200)
|
|
24
|
-
* --cursor -> ?cursor=
|
|
25
|
-
* --json Emit raw JSON
|
|
2
|
+
* `kici-admin access-log`: the access_log table (read and mutation
|
|
3
|
+
* attribution by ActorPrincipal) instead of raw psql. `list` filter flags map
|
|
4
|
+
* 1:1 to query params; `--q` is a trigram-indexed substring of error_message,
|
|
5
|
+
* and `--limit` defaults to 50, max 200.
|
|
26
6
|
*/
|
|
27
7
|
import type { Command } from 'commander';
|
|
28
8
|
import type { AdminApiClient } from '../api-client.js';
|
|
@@ -5,9 +5,8 @@ import { type AgentPackageStorage } from '../../agent-packaging/index.js';
|
|
|
5
5
|
export declare function resolveKiciVersion(): string;
|
|
6
6
|
/** Parse the --platform value: default set | single | CSV | `all`. */
|
|
7
7
|
export declare function parsePlatforms(raw: string | undefined): AgentPlatformType[];
|
|
8
|
-
/**
|
|
8
|
+
/** The cache-bucket storage client (S3 only). */
|
|
9
9
|
export declare function resolveUploadStorage(): AgentPackageStorage;
|
|
10
|
-
/** Options for {@link runAgentPackageRefresh} (the auto-package-on-upgrade hook). */
|
|
11
10
|
export interface AgentPackageRefreshOptions {
|
|
12
11
|
platforms?: AgentPlatformType[];
|
|
13
12
|
nodeMirror?: string;
|
|
@@ -15,20 +14,13 @@ export interface AgentPackageRefreshOptions {
|
|
|
15
14
|
nodeVersion?: string;
|
|
16
15
|
}
|
|
17
16
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* produce/upload error is reported but non-fatal to the (already-completed)
|
|
24
|
-
* orchestrator upgrade. Idempotent — a version whose payloads already exist is
|
|
25
|
-
* a no-op. Returns true when a refresh ran (S3 configured), false when skipped.
|
|
17
|
+
* Produce and upload the agent payloads for the current version after a
|
|
18
|
+
* versioned upgrade. Best-effort: a filesystem-cache orchestrator has no bucket,
|
|
19
|
+
* so it logs and skips; a produce/upload error is reported but does not fail
|
|
20
|
+
* the already-completed upgrade. Idempotent. Returns true when a refresh ran
|
|
21
|
+
* (S3 configured), false when skipped.
|
|
26
22
|
*/
|
|
27
23
|
export declare function runAgentPackageRefresh(opts?: AgentPackageRefreshOptions): Promise<boolean>;
|
|
28
|
-
/**
|
|
29
|
-
* Register the `kici-admin agent package` producer on the existing `agent`
|
|
30
|
-
* command group. Must be called after registerAgentCommands (which creates the
|
|
31
|
-
* group).
|
|
32
|
-
*/
|
|
24
|
+
/** Must run after registerAgentCommands, which creates the `agent` group. */
|
|
33
25
|
export declare function registerAgentPackage(program: Command): void;
|
|
34
26
|
//# sourceMappingURL=agent-package.d.ts.map
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The env file `kici-admin agent install` writes
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* at startup. `agent-env.test.ts` loads the rendered file through the agent's
|
|
6
|
-
* own loader to hold the two together.
|
|
2
|
+
* The env file `kici-admin agent install` writes. The agent's config loader
|
|
3
|
+
* refuses unknown KICI_* variables, so a misspelt key stops the agent at
|
|
4
|
+
* startup; `agent-env.test.ts` loads the output through that loader.
|
|
7
5
|
*/
|
|
8
6
|
export interface AgentEnvFields {
|
|
9
7
|
/** First line of the file, a `#` comment naming what wrote it. */
|
|
@@ -15,6 +13,5 @@ export interface AgentEnvFields {
|
|
|
15
13
|
/** The agent's HTTP port; omitted, the agent uses its default. */
|
|
16
14
|
port?: number;
|
|
17
15
|
}
|
|
18
|
-
/** Render the env file, one `KEY=value` line per field that was given. */
|
|
19
16
|
export declare function renderAgentEnvFile(fields: AgentEnvFields): string;
|
|
20
17
|
//# sourceMappingURL=agent-env.d.ts.map
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* as a system service.
|
|
7
|
-
*
|
|
8
|
-
* These commands manage local services directly and do NOT use AdminApiClient.
|
|
9
|
-
* They coexist with the existing agent token management commands (register, list, revoke).
|
|
10
|
-
*
|
|
11
|
-
* Must be called AFTER registerAgentCommands() so the `agent` command already exists.
|
|
2
|
+
* Adds install, uninstall, start, stop, restart, status, logs and upgrade
|
|
3
|
+
* to the `agent` group beside its token commands (register, list,
|
|
4
|
+
* revoke). They manage local services directly and do NOT use AdminApiClient.
|
|
5
|
+
* Must run AFTER registerAgentCommands(), which creates the group.
|
|
12
6
|
*/
|
|
13
7
|
import type { Command } from 'commander';
|
|
14
8
|
export declare function registerAgentServiceCommands(program: Command): void;
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `kici-admin agent install
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Targeting is folder-anchored: the install writes an instance manifest
|
|
8
|
-
* into the deploy folder (`--instance-dir`, default: CWD) and appends a
|
|
9
|
-
* row to the host-wide instance index so every lifecycle command can
|
|
10
|
-
* reconstruct the ServiceConfig without re-deriving paths. A create-path
|
|
11
|
-
* guard refuses to clobber a same-named foreign instance unless `--force`
|
|
12
|
-
* is passed.
|
|
2
|
+
* `kici-admin agent install`: registers the agent as a native service.
|
|
3
|
+
* Folder-anchored: it writes an instance manifest into `--instance-dir`
|
|
4
|
+
* (default: CWD) and a host-wide index row, from which every lifecycle command
|
|
5
|
+
* rebuilds the ServiceConfig. A same-named foreign instance is refused without `--force`.
|
|
13
6
|
*/
|
|
14
7
|
import type { Command } from 'commander';
|
|
15
8
|
export declare function registerAgentInstall(agent: Command): void;
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `kici-admin agent status
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* active job count, version, build fingerprint and uptime.
|
|
7
|
-
*
|
|
8
|
-
* Target resolution goes through resolveInstanceTarget — the same priority chain
|
|
9
|
-
* every lifecycle command uses (--instance-dir > --name > CWD manifest >
|
|
10
|
-
* refusal with candidate list).
|
|
2
|
+
* `kici-admin agent status`: OS-level service state (state, PID, uptime) plus
|
|
3
|
+
* the agent's `/health` (ID, orchestrator connection, active jobs, version,
|
|
4
|
+
* build fingerprint, uptime). The target resolves via resolveInstanceTarget,
|
|
5
|
+
* like every lifecycle command.
|
|
11
6
|
*/
|
|
12
7
|
import type { Command } from 'commander';
|
|
13
8
|
export declare function registerAgentStatusCommand(parent: Command): void;
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `kici-admin agent upgrade
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
* - Updates symlink (Unix) or service registration (Windows) atomically
|
|
7
|
-
* - Preserves old versions for rollback
|
|
8
|
-
* - No database migrations (agents are stateless)
|
|
9
|
-
*
|
|
10
|
-
* Targeting is folder-anchored: the resolution priority is
|
|
11
|
-
* 1. `--instance-dir <path>`
|
|
12
|
-
* 2. `--name <name>`
|
|
13
|
-
* 3. CWD manifest (`./.kici-agent.json`)
|
|
14
|
-
* 4. otherwise refuses with a candidate-list error.
|
|
15
|
-
*
|
|
16
|
-
* `--name` no longer has a default — every invocation must resolve via one
|
|
17
|
-
* of the above paths.
|
|
2
|
+
* `kici-admin agent upgrade`: the versioned-directory upgrade
|
|
3
|
+
* (`performVersionedUpgrade`), with no database migrations because agents are
|
|
4
|
+
* stateless. `--name` has no default: the target resolves from
|
|
5
|
+
* `--instance-dir`, `--name`, or the CWD `./.kici-agent.json`.
|
|
18
6
|
*/
|
|
19
7
|
import type { Command } from 'commander';
|
|
20
8
|
export declare function registerAgentUpgradeCommand(parent: Command): void;
|
|
@@ -1,34 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent token management commands for kici-admin.
|
|
3
|
-
*
|
|
4
|
-
* Provides CRUD operations for agent authentication tokens:
|
|
5
|
-
* agent register, list, revoke
|
|
6
|
-
*/
|
|
1
|
+
/** `kici-admin agent register|list|revoke`: agent token management. */
|
|
7
2
|
import type { Command } from 'commander';
|
|
8
3
|
import type { AdminApiClient } from '../api-client.js';
|
|
9
4
|
/**
|
|
10
|
-
* The authorized label scope a static agent token is minted with
|
|
11
|
-
*
|
|
12
|
-
* Beyond the operator's own `--labels` set, the authorized scope carries:
|
|
5
|
+
* The authorized label scope a static agent token is minted with: the
|
|
6
|
+
* operator's `--labels`, plus
|
|
13
7
|
*
|
|
14
|
-
* -
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* the agent that presents it: the orchestrator's register-time scope gate
|
|
20
|
-
* closes the connection with `Agent labels exceed token-bound scope`. A role
|
|
21
|
-
* the agent can't even advertise is incoherent for the same reason a taint
|
|
22
|
-
* is. The mint site cannot know which roles the target host will derive — the
|
|
23
|
-
* agent discovers them from its own capabilities — so the whole role
|
|
24
|
-
* namespace is authorized and the agent advertises the subset it has.
|
|
8
|
+
* - each mandatory (taint) label, which must also be advertisable;
|
|
9
|
+
* - the whole `kici:role:*` namespace. An agent derives its roles from its own
|
|
10
|
+
* host and advertises them at registration, so a scope without them fails the
|
|
11
|
+
* register-time gate (`Agent labels exceed token-bound scope`); the mint site
|
|
12
|
+
* cannot know which roles the host will derive.
|
|
25
13
|
*
|
|
26
|
-
* The operator's
|
|
27
|
-
*
|
|
28
|
-
* must carry no roles at all sets `KICI_ROLES=` on its own side.
|
|
14
|
+
* The operator's labels still bound everything else: `--labels linux,x64`
|
|
15
|
+
* refuses an agent advertising `gpu`. An agent with no roles sets `KICI_ROLES=`.
|
|
29
16
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
17
|
+
* Undefined with no labels and no taint: an unscoped token, which the
|
|
18
|
+
* register-time gate skips.
|
|
32
19
|
*/
|
|
33
20
|
export declare function authorizedAgentTokenLabels(baseLabels: readonly string[], mandatoryLabels: readonly string[] | undefined): string[] | undefined;
|
|
34
21
|
export declare function registerAgentCommands(program: Command, getClient: () => AdminApiClient): void;
|