apiserver

package
v0.1.41 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2026 License: MIT Imports: 2 Imported by: 0

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

func VisualizeError(err error) (string, error)

VisualizeError renders an FX dependency-graph error into a human-readable form, so callers can pretty-print startup failures without importing FX directly.

Types

type Server

type Server = app.Server

Server represents the apiserver application and its lifecycle.

func New

func New(settings config.ServerSettings) *Server

New creates a new apiserver Server from the given settings.

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.

Jump to

Keyboard shortcuts

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