Documentation
¶
Overview ¶
Package apiserver is the public entry point for the opampcommander apiserver.
It is a thin, FX-free facade over the composition root in github.com/minuk-dev/opampcommander/pkg/apiserver/internal/app. Keeping FX out of this package (and every other public package) is enforced by depguard.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func VisualizeError ¶ added in v0.1.41
VisualizeError renders an FX dependency-graph error into a human-readable form, so callers can pretty-print startup failures without importing FX directly.
Types ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
adapter
|
|
|
common/kafka
Package kafka provides Kafka messaging models.
|
Package kafka provides Kafka messaging models. |
|
primary/http/auth/basic
Package basic provides a basic authentication controller for the opampcommander API client.
|
Package basic provides a basic authentication controller for the opampcommander API client. |
|
primary/http/auth/github
Package github provides the GitHub oauth2 authentication controller for the opampcommander.
|
Package github provides the GitHub oauth2 authentication controller for the opampcommander. |
|
primary/http/v1/agent
Package agent provides domain models for the agent
|
Package agent provides domain models for the agent |
|
primary/http/v1/agentgroup
Package agentgroup provides HTTP handlers for managing agent groups.
|
Package agentgroup provides HTTP handlers for managing agent groups. |
|
primary/http/v1/agentpackage
Package agentpackage contains controller for agent package related endpoints.
|
Package agentpackage contains controller for agent package related endpoints. |
|
primary/http/v1/agentremoteconfig
Package agentremoteconfig contains controller for agent remote config endpoints.
|
Package agentremoteconfig contains controller for agent remote config endpoints. |
|
primary/http/v1/certificate
Package certificate contains controller for certificate related endpoints.
|
Package certificate contains controller for certificate related endpoints. |
|
primary/http/v1/connection
Package connection provides the HTTP controller for managing connections.
|
Package connection provides the HTTP controller for managing connections. |
|
primary/http/v1/container
Package container contains controller for container related endpoints.
|
Package container contains controller for container related endpoints. |
|
primary/http/v1/host
Package host contains controller for host related endpoints.
|
Package host contains controller for host related endpoints. |
|
primary/http/v1/namespace
Package namespace contains controller for namespace related endpoints.
|
Package namespace contains controller for namespace related endpoints. |
|
primary/http/v1/opamp
Package opamp provides the implementation of the OPAMP protocol.
|
Package opamp provides the implementation of the OPAMP protocol. |
|
primary/http/v1/ping
Package ping provides the ping controller for the HTTP API.
|
Package ping provides the ping controller for the HTTP API. |
|
primary/http/v1/role
Package role provides HTTP handlers for managing roles.
|
Package role provides HTTP handlers for managing roles. |
|
primary/http/v1/rolebinding
Package rolebinding provides HTTP handlers for managing role bindings.
|
Package rolebinding provides HTTP handlers for managing role bindings. |
|
primary/http/v1/server
Package server provides the HTTP controller for managing servers.
|
Package server provides the HTTP controller for managing servers. |
|
primary/http/v1/user
Package user provides HTTP handlers for managing users.
|
Package user provides HTTP handlers for managing users. |
|
primary/http/v1/version
Package version provides server version information.
|
Package version provides server version information. |
|
primary/messaging/inmemory
Package inmemory implements in-memory messaging adapters for standalone mode.
|
Package inmemory implements in-memory messaging adapters for standalone mode. |
|
primary/messaging/kafka
Package kafka provides Kafka messaging adapter implementations.
|
Package kafka provides Kafka messaging adapter implementations. |
|
primary/scheduler
Package scheduler defines the Scheduler interface for long-running background runners that are started and supervised by the primary adapter's executor.
|
Package scheduler defines the Scheduler interface for long-running background runners that are started and supervised by the primary adapter's executor. |
|
secondary/messaging/kafka
Package kafka implements Kafka messaging adapters.
|
Package kafka implements Kafka messaging adapters. |
|
secondary/persistence/inmemory
Package inmemory provides in-memory implementations of the persistence ports.
|
Package inmemory provides in-memory implementations of the persistence ports. |
|
secondary/persistence/mongodb
Package mongodb provides the MongoDB adapter for the opampcommander application.
|
Package mongodb provides the MongoDB adapter for the opampcommander application. |
|
secondary/persistence/mongodb/entity
Package entity contains common entity definitions for MongoDB persistence.
|
Package entity contains common entity definitions for MongoDB persistence. |
|
secondary/rbac/casbin
Package casbin provides a Casbin-based RBAC enforcer adapter that implements the RBACEnforcerPort interface for permission management.
|
Package casbin provides a Casbin-based RBAC enforcer adapter that implements the RBACEnforcerPort interface for permission management. |
|
application
|
|
|
helper
Package helper provides helper functions for mapping between domain models and API models.
|
Package helper provides helper functions for mapping between domain models and API models. |
|
port
Package port is a package that defines the ports for the application layer.
|
Package port is a package that defines the ports for the application layer. |
|
service/admin
Package admin provides the implementation of the AdminUsecase interface.
|
Package admin provides the implementation of the AdminUsecase interface. |
|
service/agent
Package agent provides application services for the agent
|
Package agent provides application services for the agent |
|
service/agentgroup
Package agentgroup provides the AgentGroupManageService for managing agent groups.
|
Package agentgroup provides the AgentGroupManageService for managing agent groups. |
|
service/agentgroup/filter
Package filter provides filters for agentgroup domain model.
|
Package filter provides filters for agentgroup domain model. |
|
service/agentpackage
Package agentpackage provides the AgentPackageService for managing agent packages.
|
Package agentpackage provides the AgentPackageService for managing agent packages. |
|
service/agentpackage/filter
Package filter provides filters for agentpackage domain model.
|
Package filter provides filters for agentpackage domain model. |
|
service/agentremoteconfig
Package agentremoteconfig provides the service for managing agent remote configs.
|
Package agentremoteconfig provides the service for managing agent remote configs. |
|
service/agentremoteconfig/filter
Package filter provides filters for agentremoteconfig domain model.
|
Package filter provides filters for agentremoteconfig domain model. |
|
service/certificate
Package certificate provides the CertificateService for managing certificates.
|
Package certificate provides the CertificateService for managing certificates. |
|
service/certificate/filter
Package filter provides filters for certificate domain model.
|
Package filter provides filters for certificate domain model. |
|
service/container
Package container provides application services for containers.
|
Package container provides application services for containers. |
|
service/host
Package host provides application services for hosts.
|
Package host provides application services for hosts. |
|
service/namespace
Package namespace provides the NamespaceManageService for managing namespaces.
|
Package namespace provides the NamespaceManageService for managing namespaces. |
|
service/opamp
Package opamp provides the implementation of the OpAMP use case for managing connections and agents.
|
Package opamp provides the implementation of the OpAMP use case for managing connections and agents. |
|
service/role
Package role provides application services for role management.
|
Package role provides application services for role management. |
|
service/rolebinding
Package rolebinding provides application services for RoleBinding management.
|
Package rolebinding provides application services for RoleBinding management. |
|
service/user
Package user provides application services for user management.
|
Package user provides application services for user management. |
|
Package config provides the configuration for the opampcommander application.
|
Package config provides the configuration for the opampcommander application. |
|
Package docs Code generated by swaggo/swag.
|
Package docs Code generated by swaggo/swag. |
|
domain
|
|
|
agent/model
Package agentmodel provides agent domain models.
|
Package agentmodel provides agent domain models. |
|
agent/model/agent
Package agent provides domain models for the agent
|
Package agent provides domain models for the agent |
|
agent/model/serverevent
Package serverevent defines server-to-server event models.
|
Package serverevent defines server-to-server event models. |
|
agent/port
Package agentport provides port interfaces for the agent domain.
|
Package agentport provides port interfaces for the agent domain. |
|
agent/service
Package agentservice provides domain services for the agent domain.
|
Package agentservice provides domain services for the agent domain. |
|
model
Package model provides domain models for the opampcommander application.
|
Package model provides domain models for the opampcommander application. |
|
model/vo
Package vo provides value objects vo package does not have any dependencies on other packages except the standard library
|
Package vo provides value objects vo package does not have any dependencies on other packages except the standard library |
|
port
Package port provides ports which is defined in the hexagonal architecture.
|
Package port provides ports which is defined in the hexagonal architecture. |
|
user/model
Package usermodel provides user domain models.
|
Package usermodel provides user domain models. |
|
user/port
Package userport provides port interfaces for the user domain.
|
Package userport provides port interfaces for the user domain. |
|
user/service
Package userservice provides domain services for the user domain.
|
Package userservice provides domain services for the user domain. |
|
Package ginutil provides utility functions for working with Gin HTTP framework.
|
Package ginutil provides utility functions for working with Gin HTTP framework. |
|
internal
|
|
|
app
Package app is the apiserver composition root: it wires the FX modules and owns the application lifecycle.
|
Package app is the apiserver composition root: it wires the FX modules and owns the application lifecycle. |
|
module/adapter
Package adapter wires the hexagonal adapter layer into Uber FX.
|
Package adapter wires the hexagonal adapter layer into Uber FX. |
|
module/adapter/common
Package common provides shared adapter infrastructure used by both primary (inbound) and secondary (outbound) adapters.
|
Package common provides shared adapter infrastructure used by both primary (inbound) and secondary (outbound) adapters. |
|
module/adapter/primary
Package primary provides inbound (driving) adapters for the API server: the HTTP server with its controllers and the scheduler executor that runs background runners.
|
Package primary provides inbound (driving) adapters for the API server: the HTTP server with its controllers and the scheduler executor that runs background runners. |
|
module/adapter/secondary
Package secondary provides outbound (driven) adapters for the API server, such as the MongoDB client/database and the persistence repositories built on it.
|
Package secondary provides outbound (driven) adapters for the API server, such as the MongoDB client/database and the persistence repositories built on it. |
|
module/application
Package application provides the application services module for the API server.
|
Package application provides the application services module for the API server. |
|
module/domain
Package domain provides the domain services module for the API server.
|
Package domain provides the domain services module for the API server. |
|
module/helper
Package helper provides FX annotation helpers and shared wiring utilities for the API server modules.
|
Package helper provides FX annotation helpers and shared wiring utilities for the API server modules. |
|
module/helper/management
Package management provides management HTTP server functionality.
|
Package management provides management HTTP server functionality. |
|
module/infrastructure
Package infrastructure provides cross-cutting bootstrap wiring for the API server: the Casbin RBAC enforcer and the startup hooks that seed the default namespace, the built-in default role, and the RBAC policy sync.
|
Package infrastructure provides cross-cutting bootstrap wiring for the API server: the Casbin RBAC enforcer and the startup hooks that seed the default namespace, the built-in default role, and the RBAC policy sync. |
|
Package management provides core management interfaces and types.
|
Package management provides core management interfaces and types. |
|
healthcheck
Package healthcheck provides health and readiness check functionality.
|
Package healthcheck provides health and readiness check functionality. |
|
observability
Package observability provides observability features for the application.
|
Package observability provides observability features for the application. |
|
pprof
Package pprof provides functionalities for performance profiling.
|
Package pprof provides functionalities for performance profiling. |
|
Package security provides security-related functionality for the opampcommander application.
|
Package security provides security-related functionality for the opampcommander application. |
Click to show internal directories.
Click to hide internal directories.