Help us shape the future of Go! Take the 2026 Go Developer Survey

hikyo

module
v0.0.1-nightly.2026102... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2026 License: MPL-2.0

README

Hikyo

Hikyo

Secrets and configuration you can reason about.

A fully open-source, self-hosted control plane for explicit values across development, staging, and production.

Documentation · Getting started · Self-hosting · Contributing · Security checks

CI status Mozilla Public License 2.0 CodSpeed

[!IMPORTANT] Release maturity, interface freeze, and distribution status live only under CAP-PUBLIC-RELEASE in the machine-checked implementation-status ledger.

Implementation status

Show fully implemented, partially implemented, and open features

“Implemented” means the feature and its acceptance evidence are present in the repository. The machine-checked implementation-status ledger is the only current-status authority; ADRs/specs define obligations and handoffs remain immutable evidence.

Fully implemented

Feature Included
CAP-RUNTIME-STORAGE Runtime and storage Single multicall binary, SQLite and PostgreSQL stores, migrations, and CI
CAP-SECURITY-FOUNDATIONS Security foundations Envelope encryption, authorization chokepoint, append-only audit trails, and gap-free PostgreSQL audit export
CAP-CORE-API-CLI Core API and CLI Bootstrap administration, local login, hierarchy CRUD, key declarations, validation, encrypted values, copy, clone, and bulk apply
CAP-HUMAN-ACCESS Human identity and access OIDC including Google and tenant-specific Microsoft Entra, GitHub OAuth2, policy-controlled federated and verified local email signup, explicit identity linking and invitation claims, browser and device CLI login, WebAuthn, TOTP, recovery, sessions, grants, role templates, protected environments, and org/instance member invitations
CAP-PRIVACY-OPERATIONS Self-hosted privacy operations Host-local subject export, correction, restriction, release, identity erasure and restore receipt replay; bounded audited audit retention; doctor evidence collection and operator privacy documentation
CAP-MATRIX-DISCLOSURE Matrix and disclosure UI Embedded app shell, environment matrix, row editor, problems filter, reveal/copy ceremonies, protected publish flows, key declaration from the matrix, catalogue declaration detail and editing, and key rename/reclassify/delete
CAP-MACHINE-ACCESS Machine access Service accounts with browser create/delete, display-once credentials, OIDC workload federation with browser issuer and binding administration, receiving-side connection credentials, and machine-access UI
CAP-MULTI-INSTANCE Multi-instance workspaces Directory-tier remotes and browser-direct workspace sessions
CAP-ENTERPRISE-IDENTITY Enterprise identity protocols SAML service-provider support and SCIM provisioning, fully open-source
CAP-BACKUP-RESTORE Backup and restore Encrypted export/restore plus the cross-engine recovery drill
CAP-REVISION-LIFECYCLE Revision lifecycle Drafts, snapshots, selective publish, rollback, durable pins, retention, GC, and history restore/pin lifecycle
CAP-ADMINISTRATION-UI Administration UI Members at organisation, project and instance scope, registration policy editing, organisation rename and origin filtering, organisation/project/instance settings, account security and credential establishment, browser step-up, OIDC/OAuth2/SAML/SCIM provider administration, active-mailer status and test send, organisation, project and environment audit query and export, and remote cryptographic maintenance
CAP-IMPORTS-ONBOARDING Imports and onboarding Kubernetes, SOPS, and Infisical file imports; live Kubernetes and Vault/OpenBao connectors; import wizard; dotenv scaffolding; browser imports of .env, Kubernetes, Infisical, and Vault/OpenBao sources
CAP-DELIVERY Delivery Compose delivery and hikyo run, Kubernetes operator/CRDs, Forgejo, GitHub Actions, GitLab CI/CD variables, Cloudflare Workers/Pages, AWS Secrets Manager, and Vault/OpenBao KV v2 adapters with multi-target synchronization and a browser-operated adapter lifecycle, and machine-reveal opt-in
CAP-KEY-ROTATION Key rotation Root, master, DEK, token, and scanning-key rotation plus resumable re-encryption
CAP-SECRET-SCANNING Secret scanning Surface-1 warnings and Surface-2 blocks on every CLI/API value ingress
CAP-REPOSITORY-SCANNING Repository and CI secret scanning Local hikyo scan over files, staged and unstaged changes, Git history and commit ranges with the value-entry ruleset, redacted table/JSON/SARIF output, reviewed suppressions, bounded budgets, and stable CI exit codes
CAP-PRODUCTION-OPS Production operations All registered operational bounds, doctor, upgrade path, no-egress posture, pinned operator resource limits, and native arm64 operator and floor acceptance
CAP-SUPPLY-CHAIN-SITE Supply chain and project site Signed release pipeline, SBOMs, documentation/governance site, matching icons, and offline-capable PWA
CAP-BROWSER-SCANNING Secret scanning in the browser Surface-1 warn dialog on matrix editing and the Surface-2 block dialog on the declaration editor
CAP-WEBUI-PARITY WebUI parity Executable parity registry over every public operation with closed exception classes, browser-only lifecycle acceptance from an empty organisation to Kubernetes-ready delivery, recovery-code sign-in, project and environment audit, browser administration of identity providers, adapters, and remote crypto, and dynamic-secret provider and lease management

Partially implemented

Feature What works now Needed for complete implementation
CAP-MEMBER-ACCESS-RULES Member access rules Operative human access rules with project, environment and key/folder selectors; rule-local exceptions and widening confirmation; selector-bound delegation and atomic replacement; per-key publish/history and definition checks; unified Members cards and client-side Who can...? over disclosed grants and rules Machine rules, all/future-project rules, environment-name binding and a server-side resolver. For #15 only, the owner accepted Astra-high verification plus independent Sol 6.1-high source review; the reconciliation preserves the skipped quota-gated pass and its limitations.
CAP-PUBLIC-RELEASE Public release and distribution Cosign trust, SBOM generation, GoReleaser/Helm packaging, and installer verification Run full acceptance, freeze API/CLI, and publish 1.0 under #79

One matrix. No hidden inheritance.

Hikyo makes every environment answer for itself. A value is explicitly set or absent; production never silently borrows a development default.

Key development staging production
DATABASE_URL ● secret set ● secret set ● secret set
LOG_LEVEL debug info info
SENTRY_DSN ○ absent ● secret set ● secret set

The same model is available through the embedded web UI, CLI, and API. Hikyo ships as one Go binary and supports both SQLite and PostgreSQL.

What makes Hikyo different

  • Explicit state. Empty never means “inherited,” “unknown,” or “use a default.” Each environment records set or absent.
  • Declarations before values. Define config vs. secret, validation, and presence rules first. Stage edits as drafts, then validate and publish them before they change the delivered snapshot.
  • Deliberate secret disclosure. Normal reads return metadata and presence. Reveal and copy require reauthentication and create dedicated audit events.
  • One authorization chokepoint. Humans, machine identities, and local break-glass use the same capability-and-scope decision model.
  • Self-hosting is the product. One binary, an embedded UI, your database, your root key, and no enterprise-only implementation.

Quick start

Requires Go 1.27.2+, Node.js 26.7.0 (see .nvmrc), Corepack 0.35.0, and pnpm 11.24.0.

git clone https://github.com/Hikyo-Org/Hikyo.git
cd Hikyo

npm install --global --ignore-scripts corepack@0.35.0
corepack enable
corepack install --global pnpm@11.24.0
pnpm --dir clients/ts install --frozen-lockfile
pnpm --dir web install --frozen-lockfile
pnpm --dir web build
go build -tags ui -o ./bin/hikyo ./cmd/hikyo

mkdir -m 700 .hikyo-runtime
./bin/hikyo server --dev --cli-socket "$PWD/.hikyo-runtime/cli.sock"

Open http://localhost:8080. The command creates hikyo-dev.db and a permission-0600 root key in the current directory.

Local CLI authentication uses the same-user Unix socket, not the browser's plaintext loopback TCP listener:

./bin/hikyo login http://localhost:8080 --local --as admin \
  --socket "$PWD/.hikyo-runtime/cli.sock"

--dev is loopback-only and intended for evaluation. A -tags ui build embeds the browser app; a plain go build produces an API-only binary.

WebAuthn requires a hostname in the public origin. Local development uses localhost even when the server binds a loopback IP. For a configured server, set HIKYO_EXTERNAL_ORIGIN to its HTTPS hostname; an explicit IP-address origin is rejected at startup.

Next, follow Getting started to create the first administrator, then Your first project to declare a key and set its first value.

CLI at a glance

One binary handles both operator and day-to-day client workflows.

# Operate the instance
hikyo server [--dev] [--listen ADDR] [--cli-socket PATH] [--root-key-file PATH]
hikyo migrate [--dev]
hikyo admin [--dev] create --username admin
hikyo backup [--dev] export
hikyo restore [--dev] run --from <archive> --identity-file <path>
sudo hikyo upgrade [--target VERSION]
hikyo update channel stable|nightly|off
hikyo update check

# Create a scoped environment
hikyo login <instance-url> --tls-mode system-ca --local --as <user>
hikyo org create --name <name>
hikyo project create --name <name> --org <org-id>
hikyo env create --name <name> --org <org-id> --project <project-id>
hikyo context create <name> --instance <url> --org <id> --project <id> --env <id>

# Declare and manage values
hikyo key create --context <ctx> --name NAME --classification config|secret \
  --declaration '{"rule":{"type":"string"}}'
hikyo values set NAME --context <ctx> --value-file PATH
hikyo values get NAME --context <ctx>
hikyo values get NAME --context <ctx> --reveal --output-file PATH
hikyo values list --context <ctx>
hikyo values diff --context <ctx> --left development --right production
hikyo values copy --context <ctx> --from staging --to production --keys NAME

New HTTPS trust requires an explicit --tls-mode system-ca or --tls-mode spki choice before connecting. Existing stored and provisioned pins retain their behavior; a missing pin never enables CA verification.

Secret values never belong in command-line arguments. Use --value-file or --stdin. Every command answers --help at any depth (hikyo values set --help, hikyo help adapter target). See the complete CLI reference.

Run in production

Outside --dev, provide a datastore, native TLS certificate, external origin, and root key:

HIKYO_DB=sqlite:/var/lib/hikyo/hikyo.db \
HIKYO_EXTERNAL_ORIGIN=https://hikyo.example.com \
./hikyo server --listen 0.0.0.0:8443 \
  --operational-listen 127.0.0.1:8081 \
  --tls-cert-file /etc/hikyo/tls.crt \
  --tls-key-file /etc/hikyo/tls.key \
  --root-key-file /etc/hikyo/root.key

HIKYO_DB accepts sqlite:PATH or a PostgreSQL DSN. Native TLS reloads renewed files without restart. Reverse-proxy mode remains available when exact trusted proxy CIDRs are configured; never expose that plaintext listener directly.

Read Self-hosting before deployment and Configuration for every flag and environment variable.

Fully open. One product.

Every capability required to run Hikyo in production is and will remain open source; there is no /ee directory and there will never be one.

The enforceable commitment and amendment process live in GOVERNANCE.md.

Explore the project

Goal Start here
Learn the model Core concepts
Build from source Installation
Operate an instance Self-hosting
Use the terminal CLI reference
Contribute code Contributing guide
Read the design decisions Architecture decision records and specification set

Security · Support · Governance · Trademark

License

Hikyo is licensed under the Mozilla Public License 2.0.

Sponsors

Vrije Universiteit Amsterdam logo

CodSpeed logo    CodeRabbit logo

MergeWatch logo

Directories

Path Synopsis
api
Package api is the HTTP contract.
Package api is the HTTP contract.
apigen
Package apigen provides primitives to interact with the openapi HTTP API.
Package apigen provides primitives to interact with the openapi HTTP API.
cmd
bench-scan command
Command bench-scan measures the secret scanner against the fixture corpus: per-item latency distribution (p50/p99) at the 64 KiB size cap, boot-compile (Load) duration, and peak RSS where cheaply obtainable.
Command bench-scan measures the secret scanner against the fixture corpus: per-item latency distribution (p50/p99) at the 64 KiB size cap, boot-compile (Load) duration, and peak RSS where cheaply obtainable.
hikyo command
hikyo is the multicall binary: `hikyo server` and `hikyo migrate` are real; client verbs are stubs until their tickets land.
hikyo is the multicall binary: `hikyo server` and `hikyo migrate` are real; client verbs are stubs until their tickets land.
hikyo-receiver-example command
Command hikyo-receiver-example is the reference receiver for Hikyo's sealed webhook adapter (docs/spec/sealed-webhook.md).
Command hikyo-receiver-example is the reference receiver for Hikyo's sealed webhook adapter (docs/spec/sealed-webhook.md).
internal
adapter
Package adapter defines the compiled-in deployment-module seam.
Package adapter defines the compiled-in deployment-module seam.
adapter/awssm
Package awssm is the AWS Secrets Manager deployment adapter (#158).
Package awssm is the AWS Secrets Manager deployment adapter (#158).
adapter/awssm/awssmtest
Package awssmtest is an isolated, in-process AWS Secrets Manager and STS emulator for adapter tests.
Package awssmtest is an isolated, in-process AWS Secrets Manager and STS emulator for adapter tests.
adapter/cloudflare
Package cloudflare implements one-way synchronization into Cloudflare Workers secrets and Cloudflare Pages encrypted environment variables.
Package cloudflare implements one-way synchronization into Cloudflare Workers secrets and Cloudflare Pages encrypted environment variables.
adapter/forgejo
Package forgejo is the Forgejo REST v1 reference deployment adapter.
Package forgejo is the Forgejo REST v1 reference deployment adapter.
adapter/githubactions
Package githubactions implements the GitHub Actions deployment adapter.
Package githubactions implements the GitHub Actions deployment adapter.
adapter/gitlab
Package gitlab implements the GitLab CI/CD variable deployment adapter.
Package gitlab implements the GitLab CI/CD variable deployment adapter.
adapter/sealedwebhook
Package sealedwebhook is the generic HTTPS push adapter.
Package sealedwebhook is the generic HTTPS push adapter.
adapter/vaultkv
Package vaultkv is the one-way Vault/OpenBao KV v2 synchronization adapter.
Package vaultkv is the one-way Vault/OpenBao KV v2 synchronization adapter.
admission
Package admission is the pre-authentication admission control the threat model requires and the ops spec dimensions: an instance-wide semaphore over Argon2id execution, a bounded queue, per-source-IP rate limiting, and per-account backoff.
Package admission is the pre-authentication admission control the threat model requires and the ops spec dimensions: an instance-wide semaphore over Argon2id execution, a bounded queue, per-source-IP rate limiting, and per-account backoff.
app
Package app wires config, store, migrations, service, and the HTTP layer into the runnable subcommands.
Package app wires config, store, migrations, service, and the HTTP layer into the runnable subcommands.
audit
Package audit is the audit-model ADR's event vocabulary: the envelope, the closed category.action registry, retention classes, outcome licensing, and the free-text hygiene applied to every attacker-influencable string before it lands in a durable surveillance record.
Package audit is the audit-model ADR's event vocabulary: the envelope, the closed category.action registry, retention classes, outcome licensing, and the free-text hygiene applied to every attacker-influencable string before it lands in a durable surveillance record.
authz
Package authz is the authorization chokepoint (permission + tenant-isolation ADRs): authorize(principal, capability-formula, scope) evaluated in-transaction against current policy with no cache, returning a proof-carrying value the store accepts calls only with.
Package authz is the authorization chokepoint (permission + tenant-isolation ADRs): authorize(principal, capability-formula, scope) evaluated in-transaction against current policy with no cache, returning a proof-carrying value the store accepts calls only with.
authz/gen command
Command gen compiles reviewed authority metadata into static Go.
Command gen compiles reviewed authority metadata into static Go.
backupreceipt
Package backupreceipt owns public upgrade-backup evidence.
Package backupreceipt owns public upgrade-backup evidence.
bench
Package bench defines the required floor measurement evidence and its gate.
Package bench defines the required floor measurement evidence and its gate.
buildcompat
Package buildcompat exposes the source-owned declaration embedded at build time.
Package buildcompat exposes the source-owned declaration embedded at build time.
cli
Package cli is the client-side surface: the noun-verb verb table, context resolution, the local trust store, and the output grammar.
Package cli is the client-side surface: the noun-verb verb table, context resolution, the local trust store, and the output grammar.
compose
Package compose is the client-side library for Hikyo's Docker Compose delivery path (compose-integration ADR).
Package compose is the client-side library for Hikyo's Docker Compose delivery path (compose-integration ADR).
config
Package config parses flags and environment strictly and fail-fast (system-architecture ADR § Tooling defaults): unknown HIKYO_* keys warn, missing prod-critical keys refuse to start, nothing silently conjures a database.
Package config parses flags and environment strictly and fail-fast (system-architecture ADR § Tooling defaults): unknown HIKYO_* keys warn, missing prod-critical keys refuse to start, nothing silently conjures a database.
configrollout
Package configrollout executes a committed configuration decision against one installation-owned deployment.
Package configrollout executes a committed configuration decision against one installation-owned deployment.
console
Package console renders calm, human-readable messages for Hikyo's terminal surfaces.
Package console renders calm, human-readable messages for Hikyo's terminal surfaces.
crypto
Package crypto is the envelope package — the sole crypto chokepoint fixed by the encryption-model ADR and placed here by the system-architecture ADR.
Package crypto is the envelope package — the sole crypto chokepoint fixed by the encryption-model ADR and placed here by the system-architecture ADR.
crypto/backup
Package backup owns the age container around an instance export (#76, encryption-model ADR § Backups and exports).
Package backup owns the age container around an instance export (#76, encryption-model ADR § Backups and exports).
crypto/sealedhook
Package sealedhook owns every cryptographic operation of the sealed webhook receiver protocol (docs/spec/sealed-webhook.md).
Package sealedhook owns every cryptographic operation of the sealed webhook receiver protocol (docs/spec/sealed-webhook.md).
definitions
Package definitions is the canonical definitions-bundle vocabulary and the pure diffing engine behind `definitions export | check | plan | apply` (source-of-truth ADR, as amended by the flat-model ADR).
Package definitions is the canonical definitions-bundle vocabulary and the pure diffing engine behind `definitions export | check | plan | apply` (source-of-truth ADR, as amended by the flat-model ADR).
delivery
Package delivery owns the canonical encodings the machine fetch path keys: the delivery manifest the change token covers, and the tuple the conditional cursor is bound to.
Package delivery owns the canonical encodings the machine fetch path keys: the delivery manifest the change token covers, and the tuple the conditional cursor is bound to.
deliverytarget
Package deliverytarget owns the closed vocabulary, bounds and derived state of delivery-target condition reporting (k8s-condition-reporting ADR).
Package deliverytarget owns the closed vocabulary, bounds and derived state of delivery-target condition reporting (k8s-condition-reporting ADR).
devupgrade
Package devupgrade owns synthetic, installation-local development custody.
Package devupgrade owns synthetic, installation-local development custody.
diagnostics
Package diagnostics provides opt-in, command-scoped progress on stderr.
Package diagnostics provides opt-in, command-scoped progress on stderr.
disclose
Package disclose implements the universal print triad (api-cli-surface ADR § Output grammar): every path that can emit secret plaintext sends it to exactly one of three destinations, and refuses otherwise.
Package disclose implements the universal print triad (api-cli-surface ADR § Output grammar): every path that can emit secret plaintext sends it to exactly one of three destinations, and refuses otherwise.
domain
Package domain holds the leaf vocabulary shared by the authorization package, the store, and the service layer: tenant identifiers, capability atoms, scopes, and the canonical error sentinels.
Package domain holds the leaf vocabulary shared by the authorization package, the store, and the service layer: tenant identifiers, capability atoms, scopes, and the canonical error sentinels.
dotenv
Package dotenv parses a standard `.env` file into ordered key/value entries.
Package dotenv parses a standard `.env` file into ordered key/value entries.
dynamic
Package dynamic defines the compiled-in dynamic-secret provider seam and the credential-material generator.
Package dynamic defines the compiled-in dynamic-secret provider seam and the credential-material generator.
dynamic/postgres
Package postgres implements the dynamic-secret Provider seam over a PostgreSQL engine.
Package postgres implements the dynamic-secret Provider seam over a PostgreSQL engine.
federationhttp
Package federationhttp owns bounded, direct federation HTTP transport.
Package federationhttp owns bounded, direct federation HTTP transport.
filedurability
Package filedurability synchronizes published file directory entries.
Package filedurability synchronizes published file directory entries.
filesync
Package filesync is the client-side library for Hikyo's generic file destination (#164): an authenticated client on the destination host pulls one revision of a server-side file target and atomically renders it to a locally configured directory.
Package filesync is the client-side library for Hikyo's generic file destination (#164): an authenticated client on the destination host pulls one revision of a server-side file target and atomically renders it to a locally configured directory.
freetext
Package freetext provides bounded, token-redacting hygiene for untrusted text.
Package freetext provides bounded, token-redacting hygiene for untrusted text.
hostupgrade
Package hostupgrade provides the bounded, operator-invoked systemd adapter.
Package hostupgrade provides the bounded, operator-invoked systemd adapter.
importer
Package importer is the client-side import framework (#68, import-paths ADR as amended by the flat-model ADR).
Package importer is the client-side import framework (#68, import-paths ADR as amended by the flat-model ADR).
jwkssource
Package jwkssource owns the closed representation and parsing policy for a federation issuer's signing-key source.
Package jwkssource owns the closed representation and parsing policy for a federation issuer's signing-key source.
lint
Package lint holds the three custom static analyzers the tenant-isolation ADR fixes (proof signatures, SQL predicate confinement, proof-forgery guard).
Package lint holds the three custom static analyzers the tenant-isolation ADR fixes (proof signatures, SQL predicate confinement, proof-forgery guard).
localsocket
Package localsocket provides same-user Unix-domain HTTP transport.
Package localsocket provides same-user Unix-domain HTTP transport.
mail
Package mail prepares immutable SMTP configuration and sends text-only mail.
Package mail prepares immutable SMTP configuration and sends text-only mail.
mailtest
Package mailtest supplies an in-process TLS SMTP sink for conformance tests.
Package mailtest supplies an in-process TLS SMTP sink for conformance tests.
mailtest/cmd command
Command mailtest exposes the existing TLS SMTP fixture to browser tests.
Command mailtest exposes the existing TLS SMTP fixture to browser tests.
multicall
Package multicall owns the closed host-mode inventory shared by dispatch, usage coverage, and security classification.
Package multicall owns the closed host-mode inventory shared by dispatch, usage coverage, and security classification.
netpolicy
Package netpolicy owns the default-deny public-egress address policy shared by authenticated outbound integrations.
Package netpolicy owns the default-deny public-egress address policy shared by authenticated outbound integrations.
oauth2rp
Package oauth2rp implements profile-pinned OAuth2 wire mechanics over x/oauth2.
Package oauth2rp implements profile-pinned OAuth2 wire mechanics over x/oauth2.
oidcfed
Package oidcfed validates externally issued OIDC ID tokens presented as a machine credential (#62, machine-identities ADR § Federation), and owns the server-side JWKS cache with its bounded staleness window.
Package oidcfed validates externally issued OIDC ID tokens presented as a machine credential (#62, machine-identities ADR § Federation), and owns the server-side JWKS cache with its bounded staleness window.
oidcrp
Package oidcrp is the OIDC relying-party wrapper: discovery, authorization URL construction, code exchange and complete ID-token validation, all behind go-oidc and golang.org/x/oauth2.
Package oidcrp is the OIDC relying-party wrapper: discovery, authorization URL construction, code exchange and complete ID-token validation, all behind go-oidc and golang.org/x/oauth2.
oidctest
Package oidctest is a test-only OpenID Provider: discovery, JWKS, authorization and token endpoints over httptest, RS256-signed ID tokens with caller-controlled claims.
Package oidctest is a test-only OpenID Provider: discovery, JWKS, authorization and token endpoints over httptest, RS256-signed ID tokens with caller-controlled claims.
oidctest/cmd command
Command oidctest-idp exposes the internal fake provider to browser-flow tests.
Command oidctest-idp exposes the internal fake provider to browser-flow tests.
operation
Package operation carries the transport-independent authorization contract attached by every network adapter before it invokes a service operation.
Package operation carries the transport-independent authorization contract attached by every network adapter before it invokes a service operation.
operator/api/v1alpha1
Package v1alpha1 defines the Hikyo operator's CustomResourceDefinition Go types: HikyoInstance (cluster-scoped connection configuration) and HikyoSecret (namespaced delivery request).
Package v1alpha1 defines the Hikyo operator's CustomResourceDefinition Go types: HikyoInstance (cluster-scoped connection configuration) and HikyoSecret (namespaced delivery request).
operator/client
Package client is the operator's HTTP client for the Hikyo delivery surface.
Package client is the operator's HTTP client for the Hikyo delivery surface.
parameters
Package parameters implements bounded, single-pass config substitution.
Package parameters implements bounded, single-pass config substitution.
pathutil
Package pathutil centralizes filesystem containment checks.
Package pathutil centralizes filesystem containment checks.
pki
Package pki is the private-PKI core (#154, docs/adr/pki.md): closed key algorithms, decidable certificate-profile policy, and the X.509 signing and CRL primitives.
Package pki is the private-PKI core (#154, docs/adr/pki.md): closed key algorithms, decidable certificate-profile policy, and the X.509 signing and CRL primitives.
releaseidentity
Package releaseidentity defines release-wide claims.
Package releaseidentity defines release-wide claims.
releasetrust
Package releasetrust authenticates release and operator evidence using maintained Sigstore verifiers.
Package releasetrust authenticates release and operator evidence using maintained Sigstore verifiers.
releasetrust/testfixture
Package testfixture creates ephemeral signed release evidence for tests.
Package testfixture creates ephemeral signed release evidence for tests.
remotefetch
Package remotefetch is the directory tier's outbound client (#71, multi-instance ADR § The outbound client).
Package remotefetch is the directory tier's outbound client (#71, multi-instance ADR § The outbound client).
repscan
Package repscan is local repository and CI secret scanning (#153).
Package repscan is local repository and CI secret scanning (#153).
runtimeconfig
Package runtimeconfig owns the closed, versioned catalogue consumed by the running Hikyo instance.
Package runtimeconfig owns the closed, versioned catalogue consumed by the running Hikyo instance.
samlsp
Package samlsp owns Hikyo's relying-party policy around SAML parsing and identity material.
Package samlsp owns Hikyo's relying-party policy around SAML parsing and identity material.
samltest
Package samltest provides a deliberately small SAML IdP fixture for Hikyo's end-to-end tests.
Package samltest provides a deliberately small SAML IdP fixture for Hikyo's end-to-end tests.
scanning
Package scanning is the secret-scanning ruleset (ADR docs/adr/secret-scanning.md).
Package scanning is the secret-scanning ruleset (ADR docs/adr/secret-scanning.md).
scanning/bench
Package bench is the schema shared by cmd/bench-scan (which writes the result artifact) and the scanning validation test (which parses it).
Package bench is the schema shared by cmd/bench-scan (which writes the result artifact) and the scanning validation test (which parses it).
scanning/corpus
Package corpus is the true-positive / false-positive fixture corpus for the secret scanner (ADR §3, SS1).
Package corpus is the true-positive / false-positive fixture corpus for the secret scanner (ADR §3, SS1).
scanning/gen command
Command gen produces internal/scanning/rules_gen.go from the vendored gitleaks snapshot plus the committed allowlist.
Command gen produces internal/scanning/rules_gen.go from the vendored gitleaks snapshot plus the committed allowlist.
schema
Package schema is the key catalogue's declaration vocabulary and its value-validation engine (#49, schema-model ADR as amended by the flat-model ADR).
Package schema is the key catalogue's declaration vocabulary and its value-validation engine (#49, schema-model ADR as amended by the flat-model ADR).
scimproto
Package scimproto is the SCIM 2.0 wire protocol Hikyo implements: the closed resource set, the closed filter grammar, the closed PATCH operation x path matrix, the RFC 7644 error shapes, and the discovery documents.
Package scimproto is the SCIM 2.0 wire protocol Hikyo implements: the closed resource set, the closed filter grammar, the closed PATCH operation x path matrix, the RFC 7644 error shapes, and the discovery documents.
sealedreceiver
Package sealedreceiver is the reference implementation of the receiver side of the sealed webhook protocol (docs/spec/sealed-webhook.md).
Package sealedreceiver is the reference implementation of the receiver side of the sealed webhook protocol (docs/spec/sealed-webhook.md).
securefile
Package securefile owns atomic publication of permission-sensitive files.
Package securefile owns atomic publication of permission-sensitive files.
selfupdate
Package selfupdate installs a selected Hikyo release over the current binary.
Package selfupdate installs a selected Hikyo release over the current binary.
server
Package server is the HTTP layer: chi router, health surfaces, and the generated API.
Package server is the HTTP layer: chi router, health surfaces, and the generated API.
service
Package service is the domain layer.
Package service is the domain layer.
sshca
Package sshca is the OpenSSH user-certificate core (#155): the closed key algorithm set, CA key custody encoding, certificate construction under a profile's constraints, and the Key Revocation List encoder.
Package sshca is the OpenSSH user-certificate core (#155): the closed key algorithm set, CA key custody encoding, certificate construction under a profile's constraints, and the Key Revocation List encoder.
storagehealth
Package storagehealth measures the filesystem containing a datastore.
Package storagehealth measures the filesystem containing a datastore.
store
Package store owns datastore access.
Package store owns datastore access.
store/auditrow
Package auditrow is the single audit Row → engine-parameter mapping, shared by the store's audit repositories and the authorization package's denial writer so the two writers cannot drift (audit-model ADR: one envelope-to-column mapping).
Package auditrow is the single audit Row → engine-parameter mapping, shared by the store's audit repositories and the authorization package's denial writer so the two writers cannot drift (audit-model ADR: one envelope-to-column mapping).
store/authn
Package authn is the authorization package's enumerated resolution surface (tenant-isolation ADR § bootstrap carve-out): authorize() cannot run under a proof, so the reads it needs to mint one — chain resolution and grant lookup — live here, and nowhere else may read chain tables with request-supplied identifiers.
Package authn is the authorization package's enumerated resolution surface (tenant-isolation ADR § bootstrap carve-out): authorize() cannot run under a proof, so the reads it needs to mint one — chain resolution and grant lookup — live here, and nowhere else may read chain tables with request-supplied identifiers.
store/keyring
Package keyring implements crypto.KeyStore over the datastore: every access runs through the transactional boundary, with the hierarchy-generation fence acquired in the same transaction as the writes it fences.
Package keyring implements crypto.KeyStore over the datastore: every access runs through the transactional boundary, with the hierarchy-generation fence acquired in the same transaction as the writes it fences.
store/migrate
Package migrate applies the embedded goose migrations.
Package migrate applies the embedded goose migrations.
store/tx
Package tx owns the transactional boundary (system-architecture ADR § Transaction boundary).
Package tx owns the transactional boundary (system-architecture ADR § Transaction boundary).
store/upgrade
Package upgrade stores upgrade state.
Package upgrade stores upgrade state.
testutil/fixtureref
Package fixtureref validates qualified references to executable test fixtures.
Package fixtureref validates qualified references to executable test fixtures.
tlspolicy
Package tlspolicy owns Hikyo's inbound certificate loading policy.
Package tlspolicy owns Hikyo's inbound certificate loading policy.
tlstest
Package tlstest mints ephemeral certificate chains for inbound TLS tests.
Package tlstest mints ephemeral certificate chains for inbound TLS tests.
transit
Package transit is the custody seam of the transit surface (#156, transit ADR D3).
Package transit is the custody seam of the transit surface (#156, transit ADR D3).
transit/transittest
Package transittest holds the in-memory mock external custody provider (transit ADR D3).
Package transittest holds the in-memory mock external custody provider (transit ADR D3).
updatecheck
Package updatecheck selects update notices from Hikyo's release channel.
Package updatecheck selects update notices from Hikyo's release channel.
updater
Package updater preserves legacy deployment journal/protocol compatibility while refusing every apply entry point.
Package updater preserves legacy deployment journal/protocol compatibility while refusing every apply entry point.
upgradeassembly
Package upgradeassembly authenticates public release evidence and durably publishes the exact offline bundle consumed by the mandatory runtime gate.
Package upgradeassembly authenticates public release evidence and durably publishes the exact offline bundle consumed by the mandatory runtime gate.
upgradebundle
Package upgradebundle loads bounded offline release evidence through the signature-backed trust factories.
Package upgradebundle loads bounded offline release evidence through the signature-backed trust factories.
upgradebundle/testfixture
Package testfixture writes ephemeral, genuinely signed offline bundles for integration tests.
Package testfixture writes ephemeral, genuinely signed offline bundles for integration tests.
upgradecompat
Package upgradecompat binds authenticated release declarations and plans bounded deterministic upgrade routes.
Package upgradecompat binds authenticated release declarations and plans bounded deterministic upgrade routes.
upgradecustody
Package upgradecustody owns encrypted, operator-only installation custody.
Package upgradecustody owns encrypted, operator-only installation custody.
upgradegate
Package upgradegate composes release verification, durable migration state, public backup evidence and bounded candidate health before runtime admission.
Package upgradegate composes release verification, durable migration state, public backup evidence and bounded candidate health before runtime admission.
upgradegate/testfixture
Package testfixture invokes the actual signed development gate for owned databases.
Package testfixture invokes the actual signed development gate for owned databases.
webauthnrp
Package webauthnrp is the WebAuthn relying-party wrapper: ceremony construction and response validation, all behind go-webauthn/webauthn.
Package webauthnrp is the WebAuthn relying-party wrapper: ceremony construction and response validation, all behind go-webauthn/webauthn.
webauthntest
Package webauthntest is a test-only software authenticator built on descope/virtualwebauthn.
Package webauthntest is a test-only software authenticator built on descope/virtualwebauthn.
webui
Package webui carries the built single-page application, or nothing.
Package webui carries the built single-page application, or nothing.
scripts
ci
ci/benchmark
Package benchmark admits daily and automatic/requested PR walltime jobs before allocating a Macro runner.
Package benchmark admits daily and automatic/requested PR walltime jobs before allocating a Macro runner.
ci/chartdoctor command
chartdoctor exercises the deployed server's supported password/TOTP ceremony and persists its real CLI session in private fixture custody.
chartdoctor exercises the deployed server's supported password/TOTP ceremony and persists its real CLI session in private fixture custody.
ci/feedback-reuse-size command
feedback-reuse-size bounds the expanded size and extraction work of the trusted compile-only seed before it is published to short feedback jobs.
feedback-reuse-size bounds the expanded size and extraction work of the trusted compile-only seed before it is published to short feedback jobs.
ci/host-upgrade-helper command
host-upgrade-helper exercises the deployment adapter against real systemd.
host-upgrade-helper exercises the deployment adapter against real systemd.
ci/impact-shadow command
impact-shadow reports a proposed Go package selection.
impact-shadow reports a proposed Go package selection.
ci/mcp-conformance-server command
mcp-conformance-server exposes Hikyo's production MCP transport with an empty closed registry.
mcp-conformance-server exposes Hikyo's production MCP transport with an empty closed registry.
ci/pr-gate command
Command pr-gate publishes a trusted, asynchronous PR validation check.
Command pr-gate publishes a trusted, asynchronous PR validation check.
ci/prepare-lint-cache command
Prepare compiler export data before the lint suite's test timeout starts.
Prepare compiler export data before the lint suite's test timeout starts.
ci/queue-report command
Command queue-report publishes informational merge queue diagnostics on the originating PR head.
Command queue-report publishes informational merge queue diagnostics on the originating PR head.
ci/registryfixture command
registryfixture creates disposable credentials for the private-registry operator acceptance test.
registryfixture creates disposable credentials for the private-registry operator acceptance test.
ci/retire-runs command
retire-runs cancels only authenticated, no-longer-referenced merge-group validation.
retire-runs cancels only authenticated, no-longer-referenced merge-group validation.
ci/unattendedfixture/inspect command
inspect reads the durable SQLite admission state for disposable acceptance.
inspect reads the durable SQLite admission state for disposable acceptance.
ci/workflow-lint command
workflow-lint validates GitHub's concurrency queue configuration before passing the workflow to pinned actionlint, which predates this supported key.
workflow-lint validates GitHub's concurrency queue configuration before passing the workflow to pinned actionlint, which predates this supported key.
mcp-production-client command
mcp-production-client probes actual production tools using the pinned official Go SDK.
mcp-production-client probes actual production tools using the pinned official Go SDK.
mcp-public-smoke command
mcp-public-smoke verifies a deployed Hikyo MCP endpoint without printing credentials, tenant data, or tool results.
mcp-public-smoke verifies a deployed Hikyo MCP endpoint without printing credentials, tenant data, or tool results.
operator-floor command
operator-floor drives the real, separately resource-limited operator pod.
operator-floor drives the real, separately resource-limited operator pod.
ops-floor command
Command ops-floor runs the explicitly bounded O2 release checks inside the native Linux cgroup created by scripts/ci/ops-floor.sh.
Command ops-floor runs the explicitly bounded O2 release checks inside the native Linux cgroup created by scripts/ci/ops-floor.sh.
release command
Command verify-native-packages proves that each native Linux package is an inert wrapper around the already-built release binary and repository license.
Command verify-native-packages proves that each native Linux package is an inert wrapper around the already-built release binary and repository license.
release/assemble-upgrade command
assemble-upgrade authenticates public release evidence before publishing the exact offline layout consumed by the mandatory runtime gate.
assemble-upgrade authenticates public release evidence before publishing the exact offline layout consumed by the mandatory runtime gate.
release/compatibility command
compatibility builds the source-owned declaration before any release binary.
compatibility builds the source-owned declaration before any release binary.
release/embed-compatibility command
embed-compatibility moves release claims into generated source so the complete declaration never travels through an exec argument or environment variable.
embed-compatibility moves release claims into generated source so the complete declaration never travels through an exec argument or environment variable.
release/nightly command
nightly prepares and verifies public evidence.
nightly prepares and verifies public evidence.
release/stable command
stable prepares public release documents and verifies downloaded evidence.
stable prepares public release documents and verifies downloaded evidence.
security/artifact-harness command
artifact-harness exercises externally supplied production Hikyo bytes.
artifact-harness exercises externally supplied production Hikyo bytes.
security/release-evidence command
release-evidence extracts only authenticated subjects and publishes a bounded runtime-profile receipt.
release-evidence extracts only authenticated subjects and publishes a bounded runtime-profile receipt.
self-config-inventory command
self-config-inventory emits the recognized configuration metadata for the self-configuration decision report.
self-config-inventory emits the recognized configuration metadata for the self-configuration decision report.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL