Directories
¶
| Path | Synopsis |
|---|---|
|
Package apidoc keeps a registry of Go struct doc comments used to enrich the generated OpenAPI document.
|
Package apidoc keeps a registry of Go struct doc comments used to enrich the generated OpenAPI document. |
|
Package authn exposes the authentication extension points that optional modules install into the mandatory IAM login flow.
|
Package authn exposes the authentication extension points that optional modules install into the mandatory IAM login flow. |
|
authz
|
|
|
rbac
Package rbac decides authorization from stored policy rules and keeps those rules in step with the records they are derived from.
|
Package rbac decides authorization from stored policy rules and keeps those rules in step with the records they are derived from. |
|
Package cache is the public facade of the framework's in-memory cache.
|
Package cache is the public facade of the framework's in-memory cache. |
|
Package client is the official HTTP client for gst backends, designed as the client-side pairing of the framework's DSL: every interface shape a model's Design() can declare has a first-class counterpart here.
|
Package client is the official HTTP client for gst backends, designed as the client-side pairing of the framework's DSL: every interface shape a model's Design() can declare has a first-class counterpart here. |
|
cmd
|
|
|
gg
command
cmd/gg/main.go
|
cmd/gg/main.go |
|
Package database provides the framework database facade built on top of GORM.
|
Package database provides the framework database facade built on top of GORM. |
|
Package dbmigrate renders registered Go models into a target schema and migrates a database towards it.
|
Package dbmigrate renders registered Go models into a target schema and migrates a database towards it. |
|
Package dcache provides a two-level cache: a per-process in-memory tier and an optional Redis tier kept in sync across instances through Kafka events.
|
Package dcache provides a two-level cache: a per-process in-memory tier and an optional Redis tier kept in sync across instances through Kafka events. |
|
debug
|
|
|
pprof
Package debugpprof provides an HTTP server for pprof endpoints; the package name avoids conflicting with the standard library "pprof" packages.
|
Package debugpprof provides an HTTP server for pprof endpoints; the package name avoids conflicting with the standard library "pprof" packages. |
|
ds
|
|
|
list/arraylist
Package arraylist provides a generic implementation of a resizable array-backed list.
|
Package arraylist provides a generic implementation of a resizable array-backed list. |
|
list/linkedlist
Package linkedlist provides an implementation of a doubly-linked list with a front and back.
|
Package linkedlist provides an implementation of a doubly-linked list with a front and back. |
|
Package dsl provides a Domain Specific Language (DSL) for defining REST API designs for Go models.
|
Package dsl provides a Domain Specific Language (DSL) for defining REST API designs for Go models. |
|
internal
|
|
|
cache/cachetest
Package cachetest provides the conformance suite every types.Cache backend must pass.
|
Package cachetest provides the conformance suite every types.Cache backend must pass. |
|
cache/capacity
Package capacity resolves the per-type entry bound shared by the entry-addressed cache backends, so the configuration is read and validated in one place rather than copied into each of them.
|
Package capacity resolves the per-type entry bound shared by the entry-addressed cache backends, so the configuration is read and validated in one place rather than copied into each of them. |
|
cache/codec
Package codec encodes cache values for the backends that store bytes rather than live objects.
|
Package codec encodes cache values for the backends that store bytes rather than live objects. |
|
cache/freelru
Package freelru is a sharded LRU cache that stores live values.
|
Package freelru is a sharded LRU cache that stores live values. |
|
cache/otter
Package otter is a W-TinyLFU cache.
|
Package otter is a W-TinyLFU cache. |
|
cache/registry
Package registry provides the shared per-type singleton store used by the in-memory cache backends.
|
Package registry provides the shared per-type singleton store used by the in-memory cache backends. |
|
cache/ristretto
Package ristretto is a TinyLFU-admission cache.
|
Package ristretto is a TinyLFU-admission cache. |
|
cache/tracing
Package tracing wraps cache backends that talk to remote systems with OpenTelemetry spans.
|
Package tracing wraps cache backends that talk to remote systems with OpenTelemetry spans. |
|
codegen/ast
Package codegenast provides AST helpers for codegen; the name avoids conflicting with the standard library "go/ast" package.
|
Package codegenast provides AST helpers for codegen; the name avoids conflicting with the standard library "go/ast" package. |
|
codegen/cmd/apidocgen
command
Command apidocgen regenerates the apidoc registration file of the framework package that ships struct doc comments to the OpenAPI generator.
|
Command apidocgen regenerates the apidoc registration file of the framework package that ships struct doc comments to the OpenAPI generator. |
|
controller
Package controller contains framework-owned HTTP handlers for registered routes.
|
Package controller contains framework-owned HTTP handlers for registered routes. |
|
errorstack
Package errorstack extracts stack traces embedded in errors, shared by tracing and logging so both report the same error origin stack format.
|
Package errorstack extracts stack traces embedded in errors, shared by tracing and logging so both report the same error origin stack format. |
|
ggconfig
Package ggconfig loads the project-level gst configuration file (gst.yaml) that gg commands consume at build time.
|
Package ggconfig loads the project-level gst configuration file (gst.yaml) that gg commands consume at build time. |
|
ggmodule
Package ggmodule implements the behavior behind the gg module command family: discovering framework modules (list), registering a module import in the project's module/module.go (add, remove), and materializing a module into the project as project-owned source (copy).
|
Package ggmodule implements the behavior behind the gg module command family: discovering framework modules (list), registering a module import in the project's module/module.go (add, remove), and materializing a module into the project as project-owned source (copy). |
|
modelregistry
Package modelregistry contains the internal model infrastructure behind the public model package.
|
Package modelregistry contains the internal model infrastructure behind the public model package. |
|
modelschema
Package modelschema resolves the database columns of a model struct.
|
Package modelschema resolves the database columns of a model struct. |
|
serviceregistry
Package serviceregistry owns the framework-internal service registry used by controllers and modules.
|
Package serviceregistry owns the framework-internal service registry used by controllers and modules. |
|
sse
Package sse implements Server-Sent Events (SSE) for the framework.
|
Package sse implements Server-Sent Events (SSE) for the framework. |
|
structdoc
Package structdoc parses Go source code and extracts the doc comments of exported struct declarations and their exported fields.
|
Package structdoc parses Go source code and extracts the doc comments of exported struct declarations and their exported fields. |
|
urlquery
Package urlquery translates URL query parameters into the arguments the database layer builds a query from.
|
Package urlquery translates URL query parameters into the arguments the database layer builds a query from. |
|
Package logger provides global logger used by server, client and cli.
|
Package logger provides global logger used by server, client and cli. |
|
Package prommetrics provides Prometheus metrics for the application; the name avoids conflicting with standard library or common "metrics" package names.
|
Package prommetrics provides Prometheus metrics for the application; the name avoids conflicting with standard library or common "metrics" package names. |
|
Package modelschema exposes the model column resolution used by the framework.
|
Package modelschema exposes the model column resolution used by the framework. |
|
Package module provides a unified module registration system that automatically registers models, services, and HTTP routes for CRUD operations.
|
Package module provides a unified module registration system that automatically registers models, services, and HTTP routes for CRUD operations. |
|
version
Package versionmod provides the version API module; the name avoids conflicting with the standard library "runtime/version" package.
|
Package versionmod provides the version API module; the name avoids conflicting with the standard library "runtime/version" package. |
|
Package otel provides OpenTelemetry tracing integration using OTLP exporters.
|
Package otel provides OpenTelemetry tracing integration using OTLP exporters. |
|
pkg
|
|
|
httpwrapper
Package httpwrapper provides JSON round-trip wrappers around *http.Request and *http.Response.
|
Package httpwrapper provides JSON round-trip wrappers around *http.Request and *http.Response. |
|
tunnel
Package tunnel is communication protocol between with server and user, server and client.
|
Package tunnel is communication protocol between with server and user, server and client. |
|
version
Package pkgversion provides version string helpers; the name avoids conflicting with the standard library "runtime/version" package.
|
Package pkgversion provides version string helpers; the name avoids conflicting with the standard library "runtime/version" package. |
|
Package provider maintains the registry of optional lifecycle providers.
|
Package provider maintains the registry of optional lifecycle providers. |
|
clickhouse
Package clickhouse provides the native ClickHouse client for analytical workloads: high-throughput batch ingestion and queries that bypass the gorm dialect.
|
Package clickhouse provides the native ClickHouse client for analytical workloads: high-throughput batch ingestion and queries that bypass the gorm dialect. |
|
Package requestctx is the public entry to the request metadata that storage and service logs name a request by.
|
Package requestctx is the public entry to the request metadata that storage and service logs name a request by. |
|
Package response exposes the response entry points that code outside the framework's controller path needs: middleware, and the middleware a module ships to the projects that copy it.
|
Package response exposes the response entry points that code outside the framework's controller path needs: middleware, and the middleware a module ships to the projects that copy it. |
|
Package service exposes the public service extension points for application code.
|
Package service exposes the public service extension points for application code. |
|
Package sse exposes the framework's Server-Sent Events support to application code.
|
Package sse exposes the framework's Server-Sent Events support to application code. |
|
Package tenant scopes a model's rows to the tenant the caller acts in.
|
Package tenant scopes a model's rows to the tenant the caller acts in. |
|
Package testutil is the test suite a gst project writes its tests against.
|
Package testutil is the test suite a gst project writes its tests against. |
|
Package types defines the public contracts between the framework and business projects: the Model, Service, Database, Aggregator, Cache, RBAC, and Logger interfaces, the query building blocks they exchange (Filter, Order, Cursor, Column, aggregate terms), and the per-request ServiceContext.
|
Package types defines the public contracts between the framework and business projects: the Model, Service, Database, Aggregator, Cache, RBAC, and Logger interfaces, the query building blocks they exchange (Filter, Order, Cursor, Column, aggregate terms), and the per-request ServiceContext. |
Click to show internal directories.
Click to hide internal directories.