anix-control

module
v4.2.1 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2026 License: MIT

README

AnixOps Control

anix-control is the control-plane service for AnixOps. It combines a Go backend, Vue 3 admin/user frontend, node communication APIs, subscription generation, payment/order management, traffic statistics, and the in-progress minimal forwarding module.

The project is being hardened toward a stable, testable, GitHub Actions-only release process. Treat docs/features.md as the source of truth for implemented, partial, planned, compatibility, and deferred features.

Current Status

  • Main branch: go_dev.
  • Backend: Go module github.com/AnixOps/anix-control/v4; the toolchain is pinned to Go 1.26.9 in CI.
  • Frontend: Vue 3 + Vite under web/, Node.js 22 in CI.
  • Default database: SQLite, with PostgreSQL migration/dry-run tooling.
  • Current release: v4.2.1 (the formal plugin-only Control release). It ships the signed community package set (15 of the 18 packages under packages/, in one signed anix-control-packages-<version>.tar.gz), package-host lifecycle controls, and compatibility-gated Agent integration. Releases after v4.0.0 carry no evidence bundle: verify them with SHA256SUMS.txt, cosign and the pinned official root (docs/UPGRADE.md).
  • Product delivery line: v4.0.0-alpha.* remains immutable historical preview evidence. It is not an alternative trust root or release channel for the formal V4 package cohort.
  • Agent-first status: the anix.agent.v1 bidirectional gRPC control stream delivers signed package lifecycle work. Legacy data-plane protocols remain available for controlled compatibility and rollback.

Do not infer production completeness from a route or UI existing. Check docs/features.md, TODO.md, and docs/audit/test-gap.md before marking a feature complete.

V4 keeps REST/UniProxy, the legacy panel-node gRPC services, and existing WebSocket paths available as compatibility surfaces. A fresh plugin-only deployment must bootstrap the signed identity-platform package from the release's own assets before enabling Control package execution; the release container image ships that package and imports it on first start, and the release installer stages the same package after checking it against SHA256SUMS.txt. Control verifies its signature against the pinned official root at import. Operators should retain the documented rollback plan throughout rollout. Package hosts may invoke narrowly scoped, kernel-owned compatibility bridge operations to preserve established route semantics; there is no direct HTTP fallback when a signed package is unavailable.

Documentation

Repository Layout

See docs/reference/repository-layout.md (contributor and agent rules: AGENTS.md).

Generated local outputs should stay ignored and out of the source tree. Use:

bash config/deploy/clean_local_build_artifacts.sh --dry-run
bash config/deploy/clean_local_build_artifacts.sh --dry-run --include-deploy-backups

Install

Containers are the primary deployment. Each release publishes a signed, multi-architecture image ghcr.io/anixops/anix-control (digest in the release docker-image.txt) that needs no config file: run it with docker-compose.prod.yml and an external PostgreSQL, or with the Helm chart in config/deploy/helm/anix-control. Steps: docs/DEPLOYMENT.md.

The native systemd installer downloads checked GitHub Release assets and does not clone the repository or build on the target host. It installs the release tag you name with --version and never resolves a moving "latest". Pin the production tag:

export VERSION=v4.2.0   # the release tag to install
curl -fsSL \
  "https://raw.githubusercontent.com/AnixOps/anix-control/${VERSION}/scripts/install.sh" \
  -o /tmp/anix-control-install.sh
sudo bash /tmp/anix-control-install.sh install --version "${VERSION}" --admin-email "admin@example.com"
rm -f /tmp/anix-control-install.sh

See the release installation guide for the systemd path's reverse proxy, update, rollback, and security steps. Existing panel or foreign panel migrations must follow the legacy migration plan.

The --include-deploy-backups mode is only for ignored local deploy archive leftovers in the checkout, such as stale frontend tarballs and internal zip archives. It keeps database backups, config, certificates, and web/node_modules.

Development Checks

Prefer the same checks GitHub Actions runs. Focused local checks are fine while developing; release builds are not.

Start an isolated local development instance with:

make run

On first use this creates the ignored config/config.dev.yaml from config/config.dev.yaml.example. It listens on 127.0.0.1:19080 for the API, 127.0.0.1:19000 for the frontend, and 127.0.0.1:50052 for gRPC, and uses a separate development SQLite database. An already running system anix-control service and its production-style ports are not changed. Set RUN_CONFIG=/path/to/config.yaml to run with another explicit configuration.

go test ./...
go test -race ./...
bash api/grpc/gen.sh
git diff --exit-code -- api/grpc/v2boardpb
bash config/deploy/clean_local_build_artifacts.sh --dry-run

Frontend checks are run in CI from a clean checkout:

cd web
npm ci
npm audit --audit-level=moderate
npm test
npm run build

After local frontend verification, remove generated outputs with:

bash config/deploy/clean_local_build_artifacts.sh
bash config/deploy/clean_local_build_artifacts.sh --include-deploy-backups

Release Policy

All release artifacts must be built by GitHub Actions. Do not build release binaries, frontend archives, Docker metadata, checksums, SBOMs, or release manifests on a production host.

Release jobs accept stable, alpha, beta, and release-candidate tags such as v4.0.0, v4.0.0-alpha.7, v4.0.0-beta.1, and v4.0.0-rc.1. Tag builds produce:

  • multi-platform anix-control-* backend artifacts
  • anix-control-frontend.* archives
  • checksum file
  • SPDX SBOM
  • migration dry-run evidence
  • Docker metadata
  • machine-readable RELEASE_MANIFEST.json
  • operator deployment runbook
  • deterministic RELEASE_NOTES.md plus generated GitHub release notes

Local deploy scripts that perform source-tree builds are guarded and are not a release path. See docs/DEPLOYMENT.md and docs/UPGRADE.md for operator deployment, upgrade, and rollback expectations.

Security Notes

  • Keep secrets, production databases, TLS private keys, payment credentials, and domain/server changes out of commits.
  • Payment callbacks are provider-specific compatibility surfaces; do not normalize or enable them without provider verification tests.
  • Alipay, WeChat, and USDT payment callbacks remain planned and are blocked from enable/use until implementation and tests exist.
  • Forwarding features must remain auditable, role-scoped, and covered by quota, permission, runtime, and cancellation tests.

Compatibility Surfaces

Some routes intentionally keep legacy or external protocol behavior:

  • /api/v1/client/subscribe?token=
  • /{subscribe_path}/:token
  • /api/v1/server/UniProxy/*
  • /api/v2/server/UniProxy/*
  • /api/v2/node/register
  • /api/v2/node/heartbeat
  • Telegram webhooks
  • payment callbacks/webhooks
  • forwarding agent and internal traffic upload endpoints

The v2_* database tables, v2board protobuf wire namespace, and historical SQLite path are intentionally retained during the migration. The Go module has moved to github.com/AnixOps/anix-control/v4.

Do not change these response shapes without checking docs/features.md and adding compatibility tests.

Directories

Path Synopsis
api
cmd
migrate command
Command migrate is a one-off tool that imports data from an old XBoard (PHP) MySQL dump into this project's GORM-backed database.
Command migrate is a one-off tool that imports data from an old XBoard (PHP) MySQL dump into this project's GORM-backed database.
server command
sqlite2postgres command
wgrotate command
Package config embeds the kernel-owned tables of this directory that the kernel reads at run time.
Package config embeds the kernel-owned tables of this directory that the kernel reads at run time.
Package docs Code generated by swaggo/swag.
Package docs Code generated by swaggo/swag.
internal
adminapitoken
Package adminapitoken issues and verifies administrators' personal access tokens: long-lived credentials for automation on the administrator APIs (docs/reference/admin-api-tokens.md).
Package adminapitoken issues and verifies administrators' personal access tokens: long-lived credentials for automation on the administrator APIs (docs/reference/admin-api-tokens.md).
agentinstall
Package agentinstall is one-command node onboarding (forward-sdk.md, section 9): the install script Control serves at /install.sh, its release signature, the release metadata the script reads from /install/agent.env, and the install commands the node page copies.
Package agentinstall is one-command node onboarding (forward-sdk.md, section 9): the install script Control serves at /install.sh, its release signature, the release metadata the script reads from /install/agent.env, and the install commands the node page copies.
agentpki
Package agentpki issues the mTLS client certificates of AnixOps Agents (node-ops-service.md, section 5.3).
Package agentpki issues the mTLS client certificates of AnixOps Agents (node-ops-service.md, section 5.3).
agentreports
Package agentreports keeps the record of report batches the Agent Control stream applied (reports.v1, node-ops-service.md section 5.5), so that a batch an agent resends is applied at most once per node.
Package agentreports keeps the record of report batches the Agent Control stream applied (reports.v1, node-ops-service.md section 5.5), so that a batch an agent resends is applied at most once per node.
agentstreams
Package agentstreams is the kernel's view of its live agent sessions: the Agent Control streams, by node kind, and the legacy agent WebSocket.
Package agentstreams is the kernel's view of its live agent sessions: the Agent Control streams, by node kind, and the legacy agent WebSocket.
agenttransport
Package agenttransport carries the agent transport transition of node-ops-service.md, section 5.6 (A2-6): the agent_control.mtls policy on the legacy AnixOps-agent HTTP and WebSocket paths, the deprecation signals, the legacy request counters, and the transport inventory (which channel each node's agent was last seen on).
Package agenttransport carries the agent transport transition of node-ops-service.md, section 5.6 (A2-6): the agent_control.mtls policy on the legacy AnixOps-agent HTTP and WebSocket paths, the deprecation signals, the legacy request counters, and the transport inventory (which channel each node's agent was last seen on).
agentupgrade
Package agentupgrade runs staged Agent upgrades (forward-sdk.md section 9, O4; owner decision H19): Control, never the node, decides when an Agent upgrades.
Package agentupgrade runs staged Agent upgrades (forward-sdk.md section 9, O4; owner decision H19): Control, never the node, decides when an Agent upgrades.
agentws
Package agentws defines the internal context keys shared by the v2 gateway and the kernel-side compatibility adapter for preauthenticated agent sockets.
Package agentws defines the internal context keys shared by the v2 gateway and the kernel-side compatibility adapter for preauthenticated agent sockets.
authn
Package authn verifies the kernel's user access tokens in one place: the HTTP middleware, the admin monitor WebSocket and the gRPC interceptor all call it.
Package authn verifies the kernel's user access tokens in one place: the HTTP middleware, the admin monitor WebSocket and the gRPC interceptor all call it.
branding
Package branding contains product names shared by the control-plane runtime.
Package branding contains product names shared by the control-plane runtime.
compat/v2
Package v2 resolves legacy API routes only from verified, installed package artifacts.
Package v2 resolves legacy API routes only from verified, installed package artifacts.
edition
Package edition decides which features the configured product edition (app.edition) serves.
Package edition decides which features the configured product edition (app.edition) serves.
forwardddns
Package forwardddns is the DNS provider layer of forwarding entry high availability (docs/architecture/forward-sdk.md section 7.4, L2): Control keeps a route's entry name on the healthy entry nodes' addresses by writing A and AAAA records through a DNS provider's API.
Package forwardddns is the DNS provider layer of forwarding entry high availability (docs/architecture/forward-sdk.md section 7.4, L2): Control keeps a route's entry name on the healthy entry nodes' addresses by writing A and AAAA records through a DNS provider's API.
forwardlegacy
Package forwardlegacy is the v4.2 forwarding upgrade (forward-sdk.md section 10, F5c, gate H15): it archives the flux forwarding data, checks that every forward node is clean of the old runtime, and, only when an administrator confirms it on the command line, drops the flux tables.
Package forwardlegacy is the v4.2 forwarding upgrade (forward-sdk.md section 10, F5c, gate H15): it archives the flux forwarding data, checks that every forward node is clean of the old runtime, and, only when an administrator confirms it on the command line, drops the flux tables.
health
Package health serves the process probes shared by the API and frontend servers: /livez (the process is running), /readyz (the process can serve traffic), and the legacy /health.
Package health serves the process probes shared by the API and frontend servers: /livez (the process is running), /readyz (the process can serve traffic), and the legacy /health.
identitybridge
Package identitybridge defines the narrow, kernel-owned operations exposed to the identity-platform package host.
Package identitybridge defines the narrow, kernel-owned operations exposed to the identity-platform package host.
identitycutover
Package identitycutover moves credential authority between the kernel's legacy handlers and the identity module, for identity-platform's group A (service.IdentityGroupARoutes):
Package identitycutover moves credential authority between the kernel's legacy handlers and the identity module, for identity-platform's group A (service.IdentityGroupARoutes):
identityimport
Package identityimport copies Control's legacy identity data (v2_user identity columns and v2_user_mfa) into the identity module with IdentityService.ImportAccounts.
Package identityimport copies Control's legacy identity data (v2_user identity columns and v2_user_mfa) into the identity module with IdentityService.ImportAccounts.
identitykeys
Package identitykeys keeps the identity module's token verification keys in the kernel: pulled with IdentityService.GetTokenKeys, persisted in v4_kernel_identity_token_key so tokens keep verifying while the identity module is down, and cached in memory for every request.
Package identitykeys keeps the identity module's token verification keys in the kernel: pulled with IdentityService.GetTokenKeys, persisted in v4_kernel_identity_token_key so tokens keep verifying while the identity module is down, and cached in memory for every request.
kernelalerts
Package kernelalerts raises the kernel's operational alerts: leaf certificates (Agent, forward link, module) that were not renewed in time, CAs close to their end, and phased processes (the node credential split, the identity cutover) left in a non-final phase.
Package kernelalerts raises the kernel's operational alerts: leaf certificates (Agent, forward link, module) that were not renewed in time, CAs close to their end, and phased processes (the node credential split, the identity cutover) left in a non-final phase.
kernelforward
Package kernelforward is the kernel's forwarding state (docs/architecture/forward-sdk.md section 8, F3a): routes and their port and mark allocations, the node inventory with each Agent's reported capabilities, the planner run on every change (sdk/forward/planner), each node's desired state and generation, the nodes' latest reports and the traffic ledger.
Package kernelforward is the kernel's forwarding state (docs/architecture/forward-sdk.md section 8, F3a): routes and their port and mark allocations, the node inventory with each Agent's reported capabilities, the planner run on every change (sdk/forward/planner), each node's desired state and generation, the nodes' latest reports and the traffic ledger.
kernelidentity
Package kernelidentity serves the KernelIdentity contract: the kernel side of the identity module.
Package kernelidentity serves the KernelIdentity contract: the kernel side of the identity module.
kernelnodeops
Package kernelnodeops serves the KernelNodeOps contract (sdk/api/kernelnodeops/v1, docs/architecture/node-ops-service.md) to official packages: typed, idempotent operations on nodes that the kernel records in its ledger (v4_kernel_node_operation), carries out with the executor of each kind and answers by polling and a watch stream.
Package kernelnodeops serves the KernelNodeOps contract (sdk/api/kernelnodeops/v1, docs/architecture/node-ops-service.md) to official packages: typed, idempotent operations on nodes that the kernel records in its ledger (v4_kernel_node_operation), carries out with the executor of each kind and answers by polling and a watch stream.
kernelorder
Package kernelorder serves the KernelOrder contract (sdk/api/kernelorder/v1, docs/architecture/order-service.md) to official packages: the order writes that span domains, which the kernel performs in one transaction with the same code its legacy handlers use.
Package kernelorder serves the KernelOrder contract (sdk/api/kernelorder/v1, docs/architecture/order-service.md) to official packages: the order writes that span domains, which the kernel performs in one transaction with the same code its legacy handlers use.
kernelsettings
Package kernelsettings serves the KernelSettings contract (sdk/api/kernelsettings/v1, docs/architecture/settings-service.md) to official packages: the system settings in v2_system_config and the backup configuration row, per namespace (service.SettingsNamespaces).
Package kernelsettings serves the KernelSettings contract (sdk/api/kernelsettings/v1, docs/architecture/settings-service.md) to official packages: the system settings in v2_system_config and the backup configuration row, per namespace (service.SettingsNamespaces).
kernelsubscriber
Package kernelsubscriber serves the KernelSubscriber contract (sdk/api/kernelsubscriber/v1, docs/architecture/subscriber-service.md) to official packages: shared subscriber state behind internal/subscriber and the kernel's user update path.
Package kernelsubscriber serves the KernelSubscriber contract (sdk/api/kernelsubscriber/v1, docs/architecture/subscriber-service.md) to official packages: shared subscriber state behind internal/subscriber and the kernel's user update path.
kerneltelemetry
Package kerneltelemetry serves the KernelTelemetry contract (sdk/api/kerneltelemetry/v1, docs/architecture/kernel-caches.md) to official packages: the telemetry the kernel computes and caches in its memory, read through the same function and cache as the kernel's legacy handlers.
Package kerneltelemetry serves the KernelTelemetry contract (sdk/api/kerneltelemetry/v1, docs/architecture/kernel-caches.md) to official packages: the telemetry the kernel computes and caches in its memory, read through the same function and cache as the kernel's legacy handlers.
lease
Package lease provides database-backed leases so that work which must run in exactly one Control process (periodic resets, stats collection, the forward job executors) stays single even when several processes share one database: during a rolling update, or with more than one replica.
Package lease provides database-backed leases so that work which must run in exactly one Control process (periodic resets, stats collection, the forward job executors) stays single even when several processes share one database: during a rolling update, or with more than one replica.
logging
Package logging configures process-wide log output from the log config block.
Package logging configures process-wide log output from the log config block.
modulepki
Package modulepki is the kernel's built-in certificate authority for network modules.
Package modulepki is the kernel's built-in certificate authority for network modules.
moduleruntime
Package moduleruntime runs the kernel side of network modules: the mTLS module listener that serves ModulePKI and the remote package bridge.
Package moduleruntime runs the kernel side of network modules: the mTLS module listener that serves ModulePKI and the remote package bridge.
nodesecrets
Package nodesecrets is the one writer of the node credential split (docs/architecture/node-ops-service.md, section 4).
Package nodesecrets is the one writer of the node credential split (docs/architecture/node-ops-service.md, section 4).
packagebridge
Package packagebridge exposes narrow, generation-bound kernel operations to a single supervised package host.
Package packagebridge exposes narrow, generation-bound kernel operations to a single supervised package host.
packagestore
Package packagestore provisions least-privilege database storage for package hosts.
Package packagestore provisions least-privilege database storage for package hosts.
panicrecovery
Package panicrecovery converts panics on kernel request paths into ordinary errors so one faulty handler cannot terminate the kernel process.
Package panicrecovery converts panics on kernel request paths into ordinary errors so one faulty handler cannot terminate the kernel process.
payment
Package payment 提供可插拔的支付网关注册表。
Package payment 提供可插拔的支付网关注册表。
plugincontrol
Package plugincontrol contains the Control-side runtime boundary for officially signed packages.
Package plugincontrol contains the Control-side runtime boundary for officially signed packages.
pluginhost
Package pluginhost supervises local Control package processes.
Package pluginhost supervises local Control package processes.
requestorigin
Package requestorigin resolves the scheme, host and client IP of an HTTP request.
Package requestorigin resolves the scheme, host and client IP of an HTTP request.
sealedsecrets
Package sealedsecrets keeps node secrets away from package hosts (docs/architecture/node-ops-service.md section 3.7, NO-4).
Package sealedsecrets keeps node secrets away from package hosts (docs/architecture/node-ops-service.md section 3.7, NO-4).
shadowsamples
Package shadowsamples stores the sanitized shadow-mode mismatch samples package hosts report, and serves them to the route-mode administration.
Package shadowsamples stores the sanitized shadow-mode mismatch samples package hosts report, and serves them to the route-mode administration.
subscriber
Package subscriber is the kernel's single writer of shared subscriber state: entitlements, traffic counters, subscription credentials and balances in v2_user and v2_user_subscription_group (docs/architecture/subscriber-service.md).
Package subscriber is the kernel's single writer of shared subscriber state: entitlements, traffic counters, subscription credentials and balances in v2_user and v2_user_subscription_group (docs/architecture/subscriber-service.md).
tests/bridgecontract
Package bridgecontract tests the SDK package bridge clients against the kernel's real bridge session.
Package bridgecontract tests the SDK package bridge clients against the kernel's real bridge session.
tests/fakeagent
Package fakeagent is a scripted Agent Control client and the Control listener it talks to, for the parity and chaos tests of docs/architecture/node-ops-service.md section 9: Hello, acknowledgements, observed states, refusals, replays after a reconnect and a replaced session.
Package fakeagent is a scripted Agent Control client and the Control listener it talks to, for the parity and chaos tests of docs/architecture/node-ops-service.md section 9: Hello, acknowledgements, observed states, refusals, replays after a reconnect and a replaced session.
tests/packagecompat
Package packagecompat compares a route's legacy kernel handler with its package-native implementation on identical seeded data.
Package packagecompat compares a route's legacy kernel handler with its package-native implementation on identical seeded data.
tests/packagefixture/storagehost command
Command storagehost is a test fixture package host.
Command storagehost is a test fixture package host.
tests/routemodefixture
Package routemodefixture installs signed v2 Control package releases with chosen compatibility routes, for the route-mode administration tests of the handler and the command line.
Package routemodefixture installs signed v2 Control package releases with chosen compatibility routes, for the route-mode administration tests of the handler and the command line.
tests/sealedhandles
Package sealedhandles tests sealed secret handles end to end (docs/architecture/node-ops-service.md section 3.7, NO-4): the v2 gateway, a real package bridge session, the SDK router running a fake package-native route, and the kernel's KernelNodeOps server.
Package sealedhandles tests sealed secret handles end to end (docs/architecture/node-ops-service.md section 3.7, NO-4): the v2 gateway, a real package bridge session, the SDK router running a fake package-native route, and the kernel's KernelNodeOps server.
packages
affiliate/native
Package native implements the affiliate package's v2 routes in the package itself, on the kernel's v2_commission_record, v2_commission_withdraw, v2_invite_config and v2_invite_code tables adopted in place (kernel.storage.adopt).
Package native implements the affiliate package's v2 routes in the package itself, on the kernel's v2_commission_record, v2_commission_withdraw, v2_invite_config and v2_invite_code tables adopted in place (kernel.storage.adopt).
forward/control command
forward/v4api
Package v4api is the forward package's v4 administrator API, /api/v4/forward/* (docs/architecture/forward-sdk.md section 3, F5a).
Package v4api is the forward package's v4 administrator API, /api/v4/forward/* (docs/architecture/forward-sdk.md section 3, F5a).
gost-mesh/native
Package native implements the gost-mesh package's routes in the package itself:
Package native implements the gost-mesh package's routes in the package itself:
identity-platform
Package identityplatform carries the identity-platform package's own files that its control host needs at run time.
Package identityplatform carries the identity-platform package's own files that its control host needs at run time.
identity-platform/native
Package native implements identity-platform's v2 routes in the identity module itself: accounts, credentials and MFA come from identity's storage, subscribers and permissions from Control through KernelIdentity.
Package native implements identity-platform's v2 routes in the identity module itself: accounts, credentials and MFA come from identity's storage, subscribers and permissions from Control through KernelIdentity.
knowledge/native
Package native implements the knowledge package's v2 routes in the package itself.
Package native implements the knowledge package's v2 routes in the package itself.
machine-telemetry/native
Package native implements three of the machine-telemetry package's routes in the package itself: the administrator's hourly traffic series and user traffic ranking, and the dashboard.
Package native implements three of the machine-telemetry package's routes in the package itself: the administrator's hourly traffic series and user traffic ranking, and the dashboard.
notification/native
Package native implements the notification package's v2 routes in the package itself, on the kernel's notification and Telegram tables adopted in place (kernel.storage.adopt), and the e-mail configuration through the kernel's KernelSettings contract.
Package native implements the notification package's v2 routes in the package itself, on the kernel's notification and Telegram tables adopted in place (kernel.storage.adopt), and the e-mail configuration through the kernel's KernelSettings contract.
order/control command
order/native
Package native implements the order package's v2 routes in the package itself, on the kernel's v2_order and v2_coupon tables adopted in place (kernel.storage.adopt).
Package native implements the order package's v2 routes in the package itself, on the kernel's v2_order and v2_coupon tables adopted in place (kernel.storage.adopt).
payment/control command
payment/native
Package native implements the payment package's v2 routes in the package itself, on the kernel's v2_payment_gateway, v2_payment_record and v2_payment tables adopted in place (kernel.storage.adopt).
Package native implements the payment package's v2 routes in the package itself, on the kernel's v2_payment_gateway, v2_payment_record and v2_payment tables adopted in place (kernel.storage.adopt).
plan/control command
plan/native
Package native implements the plan package's v2 routes in the package itself, on the kernel's v2_plan and v2_event tables adopted in place (kernel.storage.adopt).
Package native implements the plan package's v2 routes in the package itself, on the kernel's v2_plan and v2_event tables adopted in place (kernel.storage.adopt).
platform/native
Package native implements the platform package's routes in the package itself: the backup list and statistics on the kernel's v2_backup_record table adopted in place (kernel.storage.adopt), the system audit log through the kapi_system_audit_log_v1 kernel view, and the backup configuration, read and updated through the kernel's KernelSettings contract (namespace backup, kernel.settings.backup.read.v1 and kernel.settings.backup.write.v1).
Package native implements the platform package's routes in the package itself: the backup list and statistics on the kernel's v2_backup_record table adopted in place (kernel.storage.adopt), the system audit log through the kapi_system_audit_log_v1 kernel view, and the backup configuration, read and updated through the kernel's KernelSettings contract (namespace backup, kernel.settings.backup.read.v1 and kernel.settings.backup.write.v1).
protocol-runtime/native
Package native implements every protocol-runtime route but the agent channel in the package itself.
Package native implements every protocol-runtime route but the agent channel in the package itself.
protocol-runtime/native/model
Package model mirrors the kernel model types the protocol routes bind request bodies to, write and answer with: the same type names, fields and tags, in a package of the same name.
Package model mirrors the kernel model types the protocol routes bind request bodies to, write and answer with: the same type names, fields and tags, in a package of the same name.
proxy-node/native
Package native implements the proxy-node package's v2 routes in the package itself, but for the node channel and three routes that need what no kernel contract offers yet.
Package native implements the proxy-node package's v2 routes in the package itself, but for the node channel and three routes that need what no kernel contract offers yet.
proxy-node/native/model
Package model mirrors the kernel model types the node routes answer with: the same type names, fields and JSON tags, in a package of the same name, so the answers are the same bytes.
Package model mirrors the kernel model types the node routes answer with: the same type names, fields and JSON tags, in a package of the same name, so the answers are the same bytes.
subscription/native
Package native implements the subscription package's v2 administrator routes in the package itself, on the kernel's v2_subscription_group, v2_subscription_template, v2_plan_subscription_group and v2_subscription_group_node_protocols tables adopted in place (kernel.storage.adopt).
Package native implements the subscription package's v2 administrator routes in the package itself, on the kernel's v2_subscription_group, v2_subscription_template, v2_plan_subscription_group and v2_subscription_group_node_protocols tables adopted in place (kernel.storage.adopt).
subscription/native/model
Package model mirrors the kernel model types the subscription routes bind request bodies to and answer with: the same type names, fields and tags, in a package of the same name.
Package model mirrors the kernel model types the subscription routes bind request bodies to and answer with: the same type names, fields and tags, in a package of the same name.
ticket/control command
ticket/native
Package native implements the ticket package's v2 routes in the package itself, on the kernel's v2_ticket and v2_ticket_message tables adopted in place (kernel.storage.adopt).
Package native implements the ticket package's v2 routes in the package itself, on the kernel's v2_ticket and v2_ticket_message tables adopted in place (kernel.storage.adopt).
wireguard/native
Package native implements the wireguard package's one route in the package itself: the administrator's WireGuard server keypair for the protocol form.
Package native implements the wireguard package's one route in the package itself: the administrator's WireGuard server keypair for the protocol form.
scripts
staging/stagingctl command
Command stagingctl drives the local staging rehearsal of route cutovers (legacy -> shadow -> native): it installs the signed packages, seeds synthetic data, switches a batch's read routes to shadow, replays traffic, reconciles write routes on two database copies and writes the batch report.
Command stagingctl drives the local staging rehearsal of route cutovers (legacy -> shadow -> native): it installs the signed packages, seeds synthetic data, switches a batch's read routes to shadow, replays traffic, reconciles write routes on two database copies and writes the batch report.

Jump to

Keyboard shortcuts

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