Documentation
¶
Overview ¶
Package gocell provides the top-level entry point for the GoCell framework.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAssembly ¶
func NewAssembly(id string) *assembly.CoreAssembly
NewAssembly creates a new CoreAssembly with the given identifier.
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
adapters
|
|
|
adapterutil
Package adapterutil centralizes shared plumbing helpers used by GoCell adapters (postgres / redis / rabbitmq / vault).
|
Package adapterutil centralizes shared plumbing helpers used by GoCell adapters (postgres / redis / rabbitmq / vault). |
|
circuitbreaker
Package circuitbreaker provides an in-process three-state circuit breaker (closed/half-open/open) that implements the runtime/http/middleware.Allower interface.
|
Package circuitbreaker provides an in-process three-state circuit breaker (closed/half-open/open) that implements the runtime/http/middleware.Allower interface. |
|
grpc
Package grpc provides the GoCell gRPC server adapter.
|
Package grpc provides the GoCell gRPC server adapter. |
|
mqtt
Package mqtt is the GoCell MQTT v5 adapter.
|
Package mqtt is the GoCell MQTT v5 adapter. |
|
mqtt/internal/topicns
Package topicns owns MQTT topic-namespace validation and the sealed publish/subscribe token types.
|
Package topicns owns MQTT topic-namespace validation and the sealed publish/subscribe token types. |
|
oidc
Package oidc provides a thin adapter over coreos/go-oidc v3 and golang.org/x/oauth2 for OpenID Connect authentication.
|
Package oidc provides a thin adapter over coreos/go-oidc v3 and golang.org/x/oauth2 for OpenID Connect authentication. |
|
otel
Package otel provides an OpenTelemetry adapter that implements the kernel/wrapper.Tracer interface using the OTel SDK.
|
Package otel provides an OpenTelemetry adapter that implements the kernel/wrapper.Tracer interface using the OTel SDK. |
|
otel/internal/otelwrap
Package otelwrap is the sole sanctioned funnel for invoking OpenTelemetry metric.Meter instrument constructors.
|
Package otelwrap is the sole sanctioned funnel for invoking OpenTelemetry metric.Meter instrument constructors. |
|
postgres
Package postgres provides a PostgreSQL adapter for the GoCell framework.
|
Package postgres provides a PostgreSQL adapter for the GoCell framework. |
|
postgres/internal/pgexec
Package pgexec is the sealed PostgreSQL executor funnel for adapters/postgres.
|
Package pgexec is the sealed PostgreSQL executor funnel for adapters/postgres. |
|
postgres/saga
Package saga implements kernel/saga/journal.Journal over PostgreSQL.
|
Package saga implements kernel/saga/journal.Journal over PostgreSQL. |
|
postgres/saga/internal/pgexec
Package pgexec is the sealed PostgreSQL executor funnel for the saga adapter.
|
Package pgexec is the sealed PostgreSQL executor funnel for the saga adapter. |
|
prometheus
Package prometheus provides a Prometheus backend for the provider-neutral metrics abstraction defined in kernel/observability/metrics, plus a direct cell.LifecycleHookObserver implementation for assembly hook metrics.
|
Package prometheus provides a Prometheus backend for the provider-neutral metrics abstraction defined in kernel/observability/metrics, plus a direct cell.LifecycleHookObserver implementation for assembly hook metrics. |
|
prometheus/internal/promwrap
Package promwrap is the sole sanctioned funnel for constructing Prometheus client_golang instruments.
|
Package promwrap is the sole sanctioned funnel for constructing Prometheus client_golang instruments. |
|
rabbitmq
Package rabbitmq provides a RabbitMQ adapter for the GoCell event bus.
|
Package rabbitmq provides a RabbitMQ adapter for the GoCell event bus. |
|
ratelimit
Package ratelimit provides a token-bucket rate limiter adapter that implements the runtime/http/middleware.RateLimiter and WindowedRateLimiter interfaces using golang.org/x/time/rate.
|
Package ratelimit provides a token-bucket rate limiter adapter that implements the runtime/http/middleware.RateLimiter and WindowedRateLimiter interfaces using golang.org/x/time/rate. |
|
redis
Package redis provides a Redis adapter for the GoCell framework.
|
Package redis provides a Redis adapter for the GoCell framework. |
|
s3
Package s3 provides a thin adapter over aws-sdk-go-v2 for S3-compatible object storage.
|
Package s3 provides a thin adapter over aws-sdk-go-v2 for S3-compatible object storage. |
|
vault
Package vault provides a HashiCorp Vault Transit adapter that implements the kernel/crypto.KeyProvider interface.
|
Package vault provides a HashiCorp Vault Transit adapter that implements the kernel/crypto.KeyProvider interface. |
|
websocket
Package websocket provides a github.com/coder/websocket binding for the runtime/websocket.Conn interface.
|
Package websocket provides a github.com/coder/websocket binding for the runtime/websocket.Conn interface. |
|
cellmodules
module
|
|
|
cmd
|
|
|
corebundle
module
|
|
|
gocell
module
|
|
|
corecells
module
|
|
|
examples
|
|
|
corebundlestarter
module
|
|
|
ssobff
module
|
|
|
generated
|
|
|
kernel
|
|
|
assembly
Package assembly provides the CoreAssembly that orchestrates Cell lifecycle (register, start, stop, health).
|
Package assembly provides the CoreAssembly that orchestrates Cell lifecycle (register, start, stop, health). |
|
auth
Package auth holds the kernel-level authentication plan model: the sealed AuthPlan / ListenerAuth interfaces, their five typed implementations (None, JWT, JWTFromAssembly, MTLS, ServiceToken), and the narrow dependency interfaces (IntentTokenVerifier, NonceStore, HMACKeyring, AuthProvider, ...) that runtime/auth concrete types satisfy structurally.
|
Package auth holds the kernel-level authentication plan model: the sealed AuthPlan / ListenerAuth interfaces, their five typed implementations (None, JWT, JWTFromAssembly, MTLS, ServiceToken), and the narrow dependency interfaces (IntentTokenVerifier, NonceStore, HMACKeyring, AuthProvider, ...) that runtime/auth concrete types satisfy structurally. |
|
auth/authtest
Package authtest provides composition-root convenience helpers for AuthPlan constructors.
|
Package authtest provides composition-root convenience helpers for AuthPlan constructors. |
|
cell
Package cell defines the core Cell and Slice abstractions for the GoCell framework: interfaces (CellIdentity / CellLifecycle / CellStatus / CellInventory composed into Cell), the BaseCell implementation, and the Registrar surface a Cell uses to declare routes / subscriptions / health probes / lifecycle hooks / config-reload callbacks.
|
Package cell defines the core Cell and Slice abstractions for the GoCell framework: interfaces (CellIdentity / CellLifecycle / CellStatus / CellInventory composed into Cell), the BaseCell implementation, and the Registrar surface a Cell uses to declare routes / subscriptions / health probes / lifecycle hooks / config-reload callbacks. |
|
cell/celltest
Package celltest provides test utilities for kernel/cell types.
|
Package celltest provides test utilities for kernel/cell types. |
|
cellvocab
Package cellvocab is the single source of truth for the GoCell metadata vocabulary — the typed enums (CellType, ContractKind, ContractRole, CellLifecycle, ContractLifecycle, Level), their parsers/predicates, and the canonical consistency level ordering.
|
Package cellvocab is the single source of truth for the GoCell metadata vocabulary — the typed enums (CellType, ContractKind, ContractRole, CellLifecycle, ContractLifecycle, Level), their parsers/predicates, and the canonical consistency level ordering. |
|
clock
Package clock is GoCell's platform-level Clock abstraction.
|
Package clock is GoCell's platform-level Clock abstraction. |
|
clock/clockmock
Package clockmock provides a deterministic clock.Clock implementation driven by explicit FakeClock.Advance and FakeClock.Set calls.
|
Package clockmock provides a deterministic clock.Clock implementation driven by explicit FakeClock.Advance and FakeClock.Set calls. |
|
command
Package command provides L4 (DeviceLatent) command queue primitives for unicast device commands with durable ack semantics.
|
Package command provides L4 (DeviceLatent) command queue primitives for unicast device commands with durable ack semantics. |
|
command/commandtest
Package commandtest provides shared conformance assertions for command.Queue + command.ActiveScanner implementations.
|
Package commandtest provides shared conformance assertions for command.Queue + command.ActiveScanner implementations. |
|
contractspec
Package contractspec defines the runtime descriptor type for one contract endpoint, shared by the layers that bind contracts to wire protocols.
|
Package contractspec defines the runtime descriptor type for one contract endpoint, shared by the layers that bind contracts to wire protocols. |
|
crypto
Package crypto defines the kernel-level cryptographic interfaces: KeyProvider, KeyHandle, ValueTransformer, and CurrentKeyIDProvider.
|
Package crypto defines the kernel-level cryptographic interfaces: KeyProvider, KeyHandle, ValueTransformer, and CurrentKeyIDProvider. |
|
ctxkeys
Package ctxkeys provides typed context keys for Cell-model identifiers (cell, slice, journey, contract) propagated through context.Context.
|
Package ctxkeys provides typed context keys for Cell-model identifiers (cell, slice, journey, contract) propagated through context.Context. |
|
depgraph
Package depgraph defines the core data model for the GoCell package-level dependency graph: Graph, Node, Stats, and the layer/cell/slice classifiers.
|
Package depgraph defines the core data model for the GoCell package-level dependency graph: Graph, Node, Stats, and the layer/cell/slice classifiers. |
|
fsm
Package fsm provides generic helpers for map-based finite-state-machine transition tables used by kernel state machines.
|
Package fsm provides generic helpers for map-based finite-state-machine transition tables used by kernel state machines. |
|
governance
Package governance implements validation rules for GoCell metadata.
|
Package governance implements validation rules for GoCell metadata. |
|
healthz
Package healthz defines the kernel-level interface for readiness probes.
|
Package healthz defines the kernel-level interface for readiness probes. |
|
idempotency
Package idempotency defines the consumer-side idempotency interface (Claimer with two-phase Claim / Commit / Release semantics) used by kernel/outbox.ConsumerBase to deduplicate event delivery.
|
Package idempotency defines the consumer-side idempotency interface (Claimer with two-phase Claim / Commit / Release semantics) used by kernel/outbox.ConsumerBase to deduplicate event delivery. |
|
journey
Package journey provides query access to Journey metadata and status.
|
Package journey provides query access to Journey metadata and status. |
|
lifecycle
Package lifecycle provides the ContextCloser interface and adapters for managing resource teardown with context-aware shutdown budgets.
|
Package lifecycle provides the ContextCloser interface and adapters for managing resource teardown with context-aware shutdown budgets. |
|
metadata
Package metadata implements structural derivation for AssemblyMeta and related types.
|
Package metadata implements structural derivation for AssemblyMeta and related types. |
|
metadata/metadatatest
Package metadatatest provides typed builders for constructing kernel/metadata fixtures in *_test.go files.
|
Package metadatatest provides typed builders for constructing kernel/metadata fixtures in *_test.go files. |
|
metautil
Package metautil holds shared metadata limits and validation primitives used by kernel-level transports (kernel/outbox, kernel/command).
|
Package metautil holds shared metadata limits and validation primitives used by kernel-level transports (kernel/outbox, kernel/command). |
|
observability
Package observability is the namespace root for GoCell's provider-neutral metrics and pool-stats abstractions.
|
Package observability is the namespace root for GoCell's provider-neutral metrics and pool-stats abstractions. |
|
observability/correlation
Package correlation provides a sealed read-model carrying the three cross-cutting observability IDs (trace, request, correlation) for use in issue #1048 (trace → audit reverse lookup).
|
Package correlation provides a sealed read-model carrying the three cross-cutting observability IDs (trace, request, correlation) for use in issue #1048 (trace → audit reverse lookup). |
|
observability/metrics
Package metrics defines a provider-neutral metrics abstraction used by kernel modules that emit counters and histograms without importing any specific backend (Prometheus, OTel, …).
|
Package metrics defines a provider-neutral metrics abstraction used by kernel modules that emit counters and histograms without importing any specific backend (Prometheus, OTel, …). |
|
observability/metrics/metricstest
Package metricstest provides the cross-implementation conformance harness for the kernel metrics no-skip-on-cancel contract.
|
Package metricstest provides the cross-implementation conformance harness for the kernel metrics no-skip-on-cancel contract. |
|
observability/poolstats
Package poolstats defines a provider-neutral connection-pool snapshot interface.
|
Package poolstats defines a provider-neutral connection-pool snapshot interface. |
|
outbox
Package outbox defines interfaces for the transactional outbox pattern: Writer (insert within a transaction), Emitter (write-or-direct abstraction), Relay (poll-and-publish), Publisher (fire-and-forget), and Subscriber (consume).
|
Package outbox defines interfaces for the transactional outbox pattern: Writer (insert within a transaction), Emitter (write-or-direct abstraction), Relay (poll-and-publish), Publisher (fire-and-forget), and Subscriber (consume). |
|
outbox/outboxtest
Package outboxtest provides a reusable conformance test suite for outbox.Publisher and outbox.Subscriber implementations.
|
Package outboxtest provides a reusable conformance test suite for outbox.Publisher and outbox.Subscriber implementations. |
|
persistence
Package persistence defines shared persistence abstractions for the GoCell framework.
|
Package persistence defines shared persistence abstractions for the GoCell framework. |
|
persistence/persistencetest
Package persistencetest provides conformance suites for persistence.TxRunner implementations.
|
Package persistencetest provides conformance suites for persistence.TxRunner implementations. |
|
projection
Package projection declares the kernel-level contracts for the CQRS projection lifecycle harness: the business event→state Apply hook, the CheckpointStore offset abstraction, the MemCursor / MemReplaySource demo helpers, the functional Option seam, and the rebuild-lifecycle Phase enum.
|
Package projection declares the kernel-level contracts for the CQRS projection lifecycle harness: the business event→state Apply hook, the CheckpointStore offset abstraction, the MemCursor / MemReplaySource demo helpers, the functional Option seam, and the rebuild-lifecycle Phase enum. |
|
projection/projectiontest
Package projectiontest provides conformance test helpers for projection.CheckpointStore, projection.ReplaySource, and projection.Cursor implementations.
|
Package projectiontest provides conformance test helpers for projection.CheckpointStore, projection.ReplaySource, and projection.Cursor implementations. |
|
reconcile
Package reconcile is GoCell's L4 desired-state convergence harness, a level-triggered control loop modeled on Kubernetes controller-runtime's Reconciler.
|
Package reconcile is GoCell's L4 desired-state convergence harness, a level-triggered control loop modeled on Kubernetes controller-runtime's Reconciler. |
|
reconcile/reconciletest
Package reconciletest provides public test-support fakes and conformance suites for kernel/reconcile consumers and LeaderElector adapters.
|
Package reconciletest provides public test-support fakes and conformance suites for kernel/reconcile consumers and LeaderElector adapters. |
|
registry
Package registry provides indexed, read-only access to parsed GoCell project metadata (cells, slices, contracts).
|
Package registry provides indexed, read-only access to parsed GoCell project metadata (cells, slices, contracts). |
|
saga
Package saga provides the L3 (WorkflowEventual) saga orchestration state machine: the Status lifecycle, the Instance record, and the pure transition functions (AdvanceSaga, AdvanceStep, Transition) that advance an instance.
|
Package saga provides the L3 (WorkflowEventual) saga orchestration state machine: the Status lifecycle, the Instance record, and the pure transition functions (AdvanceSaga, AdvanceStep, Transition) that advance an instance. |
|
saga/journal
Package journal provides the durable, append-only Journal for L3 (WorkflowEventual) saga orchestration: the interface the runtime Coordinator (PR-03) and the PostgreSQL store (PR-04) build on, plus an in-memory implementation (MemJournal) for tests and development.
|
Package journal provides the durable, append-only Journal for L3 (WorkflowEventual) saga orchestration: the interface the runtime Coordinator (PR-03) and the PostgreSQL store (PR-04) build on, plus an in-memory implementation (MemJournal) for tests and development. |
|
saga/sagajournaltest
Package sagajournaltest provides a reusable conformance suite for implementations of journal.Journal.
|
Package sagajournaltest provides a reusable conformance suite for implementations of journal.Journal. |
|
saga/sagaprojection
Package sagaprojection bridges kernel/saga/journal.GlobalReader to the projection harness (projection.ReplaySource + projection.Cursor + cellvocab.ProjectionEvent).
|
Package sagaprojection bridges kernel/saga/journal.GlobalReader to the projection harness (projection.ReplaySource + projection.Cursor + cellvocab.ProjectionEvent). |
|
saga/sagaregtest
Package sagaregtest provides a reusable conformance suite for implementations of saga.Resolver.
|
Package sagaregtest provides a reusable conformance suite for implementations of saga.Resolver. |
|
verify
Package verify provides verify-command introspection used by `gocell verify` and by kernel/governance VERIFY-* rules.
|
Package verify provides verify-command introspection used by `gocell verify` and by kernel/governance VERIFY-* rules. |
|
webhook
Package webhook is the kernel-level pure-computation core for GoCell's bidirectional webhook capability (KERNEL-WEBHOOK-01): inbound receiver verification and outbound dispatcher signing.
|
Package webhook is the kernel-level pure-computation core for GoCell's bidirectional webhook capability (KERNEL-WEBHOOK-01): inbound receiver verification and outbound dispatcher signing. |
|
webhook/webhooktest
Package webhooktest provides a sign↔verify conformance suite for webhook.Signer and webhook.Verifier implementations.
|
Package webhooktest provides a sign↔verify conformance suite for webhook.Signer and webhook.Verifier implementations. |
|
worker
Package worker defines the Worker domain contract.
|
Package worker defines the Worker domain contract. |
|
wrapper
Package wrapper binds contracts to runtime observability primitives.
|
Package wrapper binds contracts to runtime observability primitives. |
|
pkg
|
|
|
aeadutil
Package aeadutil provides pure AES-GCM helpers shared across runtime/crypto and adapters/vault.
|
Package aeadutil provides pure AES-GCM helpers shared across runtime/crypto and adapters/vault. |
|
authz
Package authz is the framework-level **authorization decision vocabulary** (the PDP contract) returned by auth.Authorizer.
|
Package authz is the framework-level **authorization decision vocabulary** (the PDP contract) returned by auth.Authorizer. |
|
cmdrun
Package cmdrun centralizes whitelisted subprocess invocation for governance and verify helpers (gocell validate / gocell check / golangci-lint runner / archtest tooling).
|
Package cmdrun centralizes whitelisted subprocess invocation for governance and verify helpers (gocell validate / gocell check / golangci-lint runner / archtest tooling). |
|
contractpath
Package contractpath provides the single source of truth for converting a contract ID to its module-relative generated package path.
|
Package contractpath provides the single source of truth for converting a contract ID to its module-relative generated package path. |
|
csvparam
Package csvparam parses comma-separated flag and query parameter values.
|
Package csvparam parses comma-separated flag and query parameter values. |
|
ctxcancel
Package ctxcancel provides shared helpers for translating context cancellation surfaced from IO operations (DB scan, RPC call, message bus claim) into structured *errcode.Error values with the correct HTTP status for each ctx error variant:
|
Package ctxcancel provides shared helpers for translating context cancellation surfaced from IO operations (DB scan, RPC call, message bus claim) into structured *errcode.Error values with the correct HTTP status for each ctx error variant: |
|
ctxkeys
Package ctxkeys provides typed context keys for generic observability and networking identifiers (correlation, trace, span, request, real IP) propagated through context.Context.
|
Package ctxkeys provides typed context keys for generic observability and networking identifiers (correlation, trace, span, request, real IP) propagated through context.Context. |
|
ctxutil
Package ctxutil provides small context.Context helpers for crossing cancellation boundaries that the standard library does not directly model.
|
Package ctxutil provides small context.Context helpers for crossing cancellation boundaries that the standard library does not directly model. |
|
errcode
Package errcode provides structured error codes for the GoCell framework.
|
Package errcode provides structured error codes for the GoCell framework. |
|
errcode/errcodetest
Package errcodetest provides typed assertion funnels for errcode-bearing test paths.
|
Package errcodetest provides typed assertion funnels for errcode-bearing test paths. |
|
httputil
Package httputil provides shared HTTP response helpers for GoCell handlers, including JSON success/error writers and the standard response envelope.
|
Package httputil provides shared HTTP response helpers for GoCell handlers, including JSON success/error writers and the standard response envelope. |
|
idutil
Package idutil provides shared ID validation and generation for observability-safe identifiers across kernel/ and runtime/ layers.
|
Package idutil provides shared ID validation and generation for observability-safe identifiers across kernel/ and runtime/ layers. |
|
logutil
Package logutil provides shared helpers for safely emitting user-controlled or network-derived strings through structured logging (slog).
|
Package logutil provides shared helpers for safely emitting user-controlled or network-derived strings through structured logging (slog). |
|
migration
Package migration holds the layer-free database-migration value types shared across all GoCell layers.
|
Package migration holds the layer-free database-migration value types shared across all GoCell layers. |
|
observability
Package observability holds tiny shared helpers used across kernel/, runtime/ and adapters/ for emitting structured signals safely.
|
Package observability holds tiny shared helpers used across kernel/, runtime/ and adapters/ for emitting structured signals safely. |
|
panicregister
Package panicregister provides the only approved way to panic in GoCell production code.
|
Package panicregister provides the only approved way to panic in GoCell production code. |
|
pathsafe
Package pathsafe is the single funnel for scaffold/codegen file writes.
|
Package pathsafe is the single funnel for scaffold/codegen file writes. |
|
pgquery
Package pgquery provides PostgreSQL helpers: SQL query building (Builder) and generic PG SQLSTATE wire-error classification (IsUniqueViolation / IsForeignKeyViolation).
|
Package pgquery provides PostgreSQL helpers: SQL query building (Builder) and generic PG SQLSTATE wire-error classification (IsUniqueViolation / IsForeignKeyViolation). |
|
pgrepoapproved
Package pgrepoapproved provides the proof-of-authorization token that pgexec.ExecDirect requires as its first argument.
|
Package pgrepoapproved provides the proof-of-authorization token that pgexec.ExecDirect requires as its first argument. |
|
redaction
Package redaction provides fail-closed scrubbing of sensitive substrings in error messages and free-form strings before they reach observability backends (OTel span attributes, audit logs, last_error storage columns).
|
Package redaction provides fail-closed scrubbing of sensitive substrings in error messages and free-form strings before they reach observability backends (OTel span attributes, audit logs, last_error storage columns). |
|
scaffoldid
Package scaffoldid is the single source of truth for typed scaffold identifier validation across the project.
|
Package scaffoldid is the single source of truth for typed scaffold identifier validation across the project. |
|
securecookie
Package securecookie encodes and decodes cookie values with HMAC-SHA256 signing and optional AES-GCM encryption using Go standard library crypto only.
|
Package securecookie encodes and decodes cookie values with HMAC-SHA256 signing and optional AES-GCM encryption using Go standard library crypto only. |
|
secutil
Package secutil provides security utility helpers shared across GoCell adapters.
|
Package secutil provides security utility helpers shared across GoCell adapters. |
|
tenant
Package tenant holds the layer-free tenancy value types shared across all GoCell layers: the TenantID sealed newtype (the multi-tenant isolation boundary identifier) and the RowScope authorization obligation enum.
|
Package tenant holds the layer-free tenancy value types shared across all GoCell layers: the TenantID sealed newtype (the multi-tenant isolation boundary identifier) and the RowScope authorization obligation enum. |
|
testutil/errutil
Package errutil provides test-only helpers for inspecting joined error trees.
|
Package errutil provides test-only helpers for inspecting joined error trees. |
|
testutil/fileutil
Package fileutil exports file I/O helpers for GoCell tests.
|
Package fileutil exports file I/O helpers for GoCell tests. |
|
testutil/sloghelper
Package sloghelper provides test helpers for asserting slog JSON output.
|
Package sloghelper provides test helpers for asserting slog JSON output. |
|
testutil/testtime
Package testtime exports the canonical timeout / poll-interval constants used across GoCell test code.
|
Package testtime exports the canonical timeout / poll-interval constants used across GoCell test code. |
|
testutil/testwait
Package testwait provides typed test-wait markers that replace bare require.Eventually / assert.Eventually polling.
|
Package testwait provides typed test-wait markers that replace bare require.Eventually / assert.Eventually polling. |
|
validation
Package validation provides field-level input validation helpers that return structured errcode errors suitable for HTTP handlers and service- layer preconditions.
|
Package validation provides field-level input validation helpers that return structured errcode errors suitable for HTTP handlers and service- layer preconditions. |
|
yamlsafe
Package yamlsafe provides a typed YAML scalar that safely round-trips through plain-style YAML emission.
|
Package yamlsafe provides a typed YAML scalar that safely round-trips through plain-style YAML emission. |
|
runtime
|
|
|
audit
Package audit centralizes bootstrap-period audit-chain helpers used by auditcore's auditappendbootstrap slice handler.
|
Package audit centralizes bootstrap-period audit-chain helpers used by auditcore's auditappendbootstrap slice handler. |
|
audit/ledger
Package ledger provides a typed Protocol primitive and Store interface for append-only, HMAC-linked audit chains.
|
Package ledger provides a typed Protocol primitive and Store interface for append-only, HMAC-linked audit chains. |
|
audit/ledger/storetest
Package storetest provides a reusable Protocol-driven contract test suite for ledger.Store implementations.
|
Package storetest provides a reusable Protocol-driven contract test suite for ledger.Store implementations. |
|
auth
ref: go-kratos/kratos middleware/auth/auth.go — auth middleware pattern Adopted: middleware wrapping pattern, Claims extraction from context.
|
ref: go-kratos/kratos middleware/auth/auth.go — auth middleware pattern Adopted: middleware wrapping pattern, Claims extraction from context. |
|
auth/config
Package config is the production wiring entrypoint for runtime/auth components.
|
Package config is the production wiring entrypoint for runtime/auth components. |
|
auth/credentialfence
Package credentialfence is the sealed source of the credential-invalidation FenceToken — a capability proof that authorizes calls to the three credential mutation methods (session.Store.RevokeForSubject / refresh.Store.RevokeUser / ports.UserRepository.BumpAuthzEpoch).
|
Package credentialfence is the sealed source of the credential-invalidation FenceToken — a capability proof that authorizes calls to the three credential mutation methods (session.Store.RevokeForSubject / refresh.Store.RevokeUser / ports.UserRepository.BumpAuthzEpoch). |
|
auth/keystest
Package keystest provides RSA / HMAC key fixtures for tests that exercise the auth subsystem (JWT issue/verify, HMAC service-token rings, OIDC stubs).
|
Package keystest provides RSA / HMAC key fixtures for tests that exercise the auth subsystem (JWT issue/verify, HMAC service-token rings, OIDC stubs). |
|
auth/refresh
This file declares the two public error sentinels for refresh.Store.
|
This file declares the two public error sentinels for refresh.Store. |
|
auth/refresh/memstore
Package memstore provides an in-memory implementation of refresh.Store.
|
Package memstore provides an in-memory implementation of refresh.Store. |
|
auth/refresh/storetest
Package storetest provides a reusable contract test suite for refresh.Store implementations.
|
Package storetest provides a reusable contract test suite for refresh.Store implementations. |
|
auth/session
Package session declares the typed-Go-heavy Protocol primitive that bundles session-related protocol decisions for accesscore (and any future cell that owns server-side session state).
|
Package session declares the typed-Go-heavy Protocol primitive that bundles session-related protocol decisions for accesscore (and any future cell that owns server-side session state). |
|
auth/session/sessiontest
Package sessiontest provides test helpers for code that depends on runtime/auth/session.
|
Package sessiontest provides test helpers for code that depends on runtime/auth/session. |
|
auth/session/storetest
Package storetest provides a reusable Protocol-driven contract test suite for session.Store implementations.
|
Package storetest provides a reusable Protocol-driven contract test suite for session.Store implementations. |
|
bootstrap
Package bootstrap orchestrates the full GoCell application lifecycle: config loading, assembly init/start, HTTP serving, event subscriptions, background workers, and graceful shutdown.
|
Package bootstrap orchestrates the full GoCell application lifecycle: config loading, assembly init/start, HTTP serving, event subscriptions, background workers, and graceful shutdown. |
|
capability
Package capability defines GoCell capability providers: assembly-level shared infrastructure resources (postgres pool, redis client, ...) provisioned once by the composition root and injected into every consuming cell module.
|
Package capability defines GoCell capability providers: assembly-level shared infrastructure resources (postgres pool, redis client, ...) provisioned once by the composition root and injected into every consuming cell module. |
|
command
Package command wires kernel command workers (queue discovery + dispatch registry) into the runtime.
|
Package command wires kernel command workers (queue discovery + dispatch registry) into the runtime. |
|
composition
Package composition provides the public Composition Root abstraction for GoCell assemblies.
|
Package composition provides the public Composition Root abstraction for GoCell assemblies. |
|
config
Package config provides a Config interface with YAML + environment variable loading.
|
Package config provides a Config interface with YAML + environment variable loading. |
|
crypto
Package crypto provides the KeyProvider abstraction and implementations for encrypting sensitive values at the repository boundary.
|
Package crypto provides the KeyProvider abstraction and implementations for encrypting sensitive values at the repository boundary. |
|
devtools/catalog
Package catalog — build.go: BuildDocument and all entity/filter helpers.
|
Package catalog — build.go: BuildDocument and all entity/filter helpers. |
|
distlock
Package distlock defines the provider-neutral distributed-lock contract for the GoCell runtime layer.
|
Package distlock defines the provider-neutral distributed-lock contract for the GoCell runtime layer. |
|
distlock/locktest
Package locktest provides a controllable in-memory Driver implementation and a conformance test suite for use in unit tests.
|
Package locktest provides a controllable in-memory Driver implementation and a conformance test suite for use in unit tests. |
|
eventbus
Package eventbus provides an in-memory implementation of kernel/outbox Publisher and Subscriber for development and testing.
|
Package eventbus provides an in-memory implementation of kernel/outbox Publisher and Subscriber for development and testing. |
|
eventrouter
Package eventrouter provides a Router that separates event subscription declaration from execution.
|
Package eventrouter provides a Router that separates event subscription declaration from execution. |
|
grpc/interceptor
Package interceptor provides the gRPC unary and streaming server interceptor chains that align the gRPC transport with the existing HTTP middleware stack (runtime/http/middleware): RequestID, CellAttribution, Tracing, AccessLog, Metrics, Auth, and Recovery.
|
Package interceptor provides the gRPC unary and streaming server interceptor chains that align the gRPC transport with the existing HTTP middleware stack (runtime/http/middleware): RequestID, CellAttribution, Tracing, AccessLog, Metrics, Auth, and Recovery. |
|
http/cellmw
Package cellmw provides reusable RouteHandler wrappers for use in cell slice handlers.
|
Package cellmw provides reusable RouteHandler wrappers for use in cell slice handlers. |
|
http/devtools
Package devtools provides framework-internal HTTP routes that expose project catalog metadata (cells, slices, contracts, journeys, assemblies, actors) plus optional cell-level and package-level dependency graphs to admin-authenticated clients.
|
Package devtools provides framework-internal HTTP routes that expose project catalog metadata (cells, slices, contracts, journeys, assemblies, actors) plus optional cell-level and package-level dependency graphs to admin-authenticated clients. |
|
http/health
Package health provides /healthz (liveness) and /readyz (readiness) HTTP endpoints.
|
Package health provides /healthz (liveness) and /readyz (readiness) HTTP endpoints. |
|
http/health/healthtest
Package healthtest provides shared test helpers for packages that need to assert on the slog channel-d verbose breakdown emitted by runtime/http/health.Handler.
|
Package healthtest provides shared test helpers for packages that need to assert on the slog channel-d verbose breakdown emitted by runtime/http/health.Handler. |
|
http/health/probequery
Package probequery parses query parameters that gate health-probe verbose output.
|
Package probequery parses query parameters that gate health-probe verbose output. |
|
http/healthtest
Package healthtest provides test-only helpers for probe authors writing against the runtime/http/health API.
|
Package healthtest provides test-only helpers for probe authors writing against the runtime/http/health API. |
|
http/idempotency
Package idempotency provides HTTP-layer idempotency primitives for GoCell.
|
Package idempotency provides HTTP-layer idempotency primitives for GoCell. |
|
http/idempotency/idempotencytest
Package idempotencytest provides a reusable conformance suite for implementations of idemhttp.Store.
|
Package idempotencytest provides a reusable conformance suite for implementations of idemhttp.Store. |
|
http/middleware
Package middleware provides chi-compatible HTTP middleware for GoCell applications.
|
Package middleware provides chi-compatible HTTP middleware for GoCell applications. |
|
http/router
Package router provides a chi-based HTTP router that implements kernel/cell.RouteMux with default middleware and automatic health/metrics endpoint registration.
|
Package router provides a chi-based HTTP router that implements kernel/cell.RouteMux with default middleware and automatic health/metrics endpoint registration. |
|
http/tlsutil
Package tlsutil builds server-side TLS configurations for GoCell HTTP listeners.
|
Package tlsutil builds server-side TLS configurations for GoCell HTTP listeners. |
|
internal/authtest
Package authtest provides test-only auth Policy helpers for runtime middleware behavior tests.
|
Package authtest provides test-only auth Policy helpers for runtime middleware behavior tests. |
|
internal/contractbuild
Package contractbuild is the sole sanctioned runtime-side construction funnel for framework-owned kernel/contractspec.ContractSpec values.
|
Package contractbuild is the sole sanctioned runtime-side construction funnel for framework-owned kernel/contractspec.ContractSpec values. |
|
lifecycle
Package lifecycle provides a runtime read-surface over the maturity lifecycle (kernel/cellvocab.CellLifecycle) of the cells composing a running assembly.
|
Package lifecycle provides a runtime read-surface over the maturity lifecycle (kernel/cellvocab.CellLifecycle) of the cells composing a running assembly. |
|
observability/healthz
Package healthz provides the default in-memory kernel/healthz.Aggregator implementation for GoCell.
|
Package healthz provides the default in-memory kernel/healthz.Aggregator implementation for GoCell. |
|
observability/healthz/healthztest
Package healthztest provides shared test helpers for kernel/healthz.Aggregator implementations.
|
Package healthztest provides shared test helpers for kernel/healthz.Aggregator implementations. |
|
observability/logging
Package logging provides a slog.Handler that enriches log records with trace_id, span_id, request_id, correlation_id, and cell_id from the request context.
|
Package logging provides a slog.Handler that enriches log records with trace_id, span_id, request_id, correlation_id, and cell_id from the request context. |
|
observability/metrics
Package metrics provides HTTP request instrumentation interfaces and an in-memory implementation.
|
Package metrics provides HTTP request instrumentation interfaces and an in-memory implementation. |
|
observability/metrics/metricstest
Package metricstest provides a shared conformance suite for implementations of metrics.Collector.
|
Package metricstest provides a shared conformance suite for implementations of metrics.Collector. |
|
observability/tracingtest
Package tracingtest provides an in-process, stdlib-only Tracer fixture for tests.
|
Package tracingtest provides an in-process, stdlib-only Tracer fixture for tests. |
|
outbox
Package outbox provides the runtime-layer Store interface and relay worker for transactional outbox delivery.
|
Package outbox provides the runtime-layer Store interface and relay worker for transactional outbox delivery. |
|
outbox/outboxtest
Package outboxtest provides a public in-memory Store implementation and a Store conformance test suite for use in unit tests.
|
Package outboxtest provides a public in-memory Store implementation and a Store conformance test suite for use in unit tests. |
|
saga
Package saga (see doc.go for the package narrative) is the runtime engine that drives saga instances forward.
|
Package saga (see doc.go for the package narrative) is the runtime engine that drives saga instances forward. |
|
saga/executor
Package executor provides the step-level execution engine for saga instances.
|
Package executor provides the step-level execution engine for saga instances. |
|
saga/internal/sagalog
Package sagalog centralizes the per-instance saga log attribute set.
|
Package sagalog centralizes the per-instance saga log attribute set. |
|
saga/tailer
Package tailer implements the saga-journal projection catch-up tailing live driver (EPIC #1609 PR-04).
|
Package tailer implements the saga-journal projection catch-up tailing live driver (EPIC #1609 PR-04). |
|
schemavalidate
Package schemavalidate provides transport-neutral JSON Schema validation for generated code at untrusted wire boundaries.
|
Package schemavalidate provides transport-neutral JSON Schema validation for generated code at untrusted wire boundaries. |
|
shutdown
Package shutdown provides graceful shutdown support by listening for SIGINT/SIGTERM signals with a configurable timeout and ordered teardown.
|
Package shutdown provides graceful shutdown support by listening for SIGINT/SIGTERM signals with a configurable timeout and ordered teardown. |
|
state/cas
Package cas provides a typed-Go-heavy Protocol primitive for compare-and-swap (CAS) optimistic concurrency control.
|
Package cas provides a typed-Go-heavy Protocol primitive for compare-and-swap (CAS) optimistic concurrency control. |
|
webhook
Package webhook implements the inbound-webhook receiver runtime for GoCell.
|
Package webhook implements the inbound-webhook receiver runtime for GoCell. |
|
webhook/dispatch
Package dispatch wires outbound-webhook dispatchers into the event router.
|
Package dispatch wires outbound-webhook dispatchers into the event router. |
|
websocket
Package websocket provides a Hub-based WebSocket connection manager with signal-first broadcasting, ping/pong health checks, and graceful shutdown.
|
Package websocket provides a Hub-based WebSocket connection manager with signal-first broadcasting, ping/pong health checks, and graceful shutdown. |
|
worker
Package worker provides a Worker interface and WorkerGroup for managing concurrent background workers with graceful lifecycle control.
|
Package worker provides a Worker interface and WorkerGroup for managing concurrent background workers with graceful lifecycle control. |
|
tests
|
|
|
contracttest
Package contracttest provides schema-driven contract validation helpers for use in contract_test.go files across GoCell cells.
|
Package contracttest provides schema-driven contract validation helpers for use in contract_test.go files across GoCell cells. |
|
contracttest/internal/fixtureload
Package fixtureload encapsulates contract schema/fixture file reads.
|
Package fixtureload encapsulates contract schema/fixture file reads. |
|
e2e/encryption
Package encryption holds the e2e capability tests for the configcore PG pilot's value-encryption pipeline.
|
Package encryption holds the e2e capability tests for the configcore PG pilot's value-encryption pipeline. |
|
e2e/internal/require
Package require provides conditional-skip helpers for e2e tests.
|
Package require provides conditional-skip helpers for e2e tests. |
|
testutil
Package testutil provides shared test utilities for integration tests.
|
Package testutil provides shared test utilities for integration tests. |
|
tools
module
|
Click to show internal directories.
Click to hide internal directories.