dynamicrp

package
v0.42.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

dynamicrp holds the implementation of the dynamic resource provider. The dynamicrp is responsible for managing the lifecycle of resources that are defined without their own resource provider implementation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// Bicep configures properties for the Bicep recipe driver.
	Bicep hostoptions.BicepOptions `yaml:"bicep"`

	// Database is the configuration for the database.
	Database databaseprovider.Options `yaml:"databaseProvider"`

	// Environment is the configuration for the hosting environment.
	Environment hostoptions.EnvironmentOptions `yaml:"environment"`

	// Logging is the configuration for the logging system.
	Logging ucplog.LoggingOptions `yaml:"logging"`

	// Metrics is the configuration for the metrics endpoint.
	Metrics metricsservice.Options `yaml:"metricsProvider"`

	// Profiler is the configuration for the profiler endpoint.
	Profiler profilerservice.Options `yaml:"profilerProvider"`

	// Queue is the configuration for the message queue.
	Queue queueprovider.QueueProviderOptions `yaml:"queueProvider"`

	// Secrets is the configuration for the secret storage system.
	Secrets secretprovider.SecretProviderOptions `yaml:"secretProvider"`

	// Server is the configuration for the HTTP server.
	Server hostoptions.ServerOptions `yaml:"server"`

	// Terraform configures properties for the Terraform recipe driver.
	Terraform hostoptions.TerraformOptions `yaml:"terraform"`

	// Tracing is the configuration for the tracing system.
	Tracing traceservice.Options `yaml:"tracerProvider"`

	// UCPConfig is the configuration for the connection to UCP.
	UCP ucpconfig.UCPOptions `yaml:"ucp"`

	// Worker is the configuration for the backend worker server.
	Worker hostoptions.WorkerServerOptions `yaml:"workerServer"`
}

Config defines the configuration for the DynamicRP server.

For testability, all fields on this struct MUST be parsable from YAML without any further initialization required.

func LoadConfig

func LoadConfig(bs []byte) (*Config, error)

LoadConfig loads a Config from bytes.

type Options

type Options struct {
	// Config is the configuration for the server.
	Config *Config

	// DatabaseProvider provides access to the database.
	DatabaseProvider *databaseprovider.DatabaseProvider

	// QueueProvider provides access to the message queue client.
	QueueProvider *queueprovider.QueueProvider

	// Recipes is the configuration for the recipe subsystem.
	Recipes *controllerconfig.RecipeControllerConfig

	// SecretProvider provides access to the secret storage system.
	SecretProvider *secretprovider.SecretProvider

	// StatusManager implements operations on async operation statuses.
	StatusManager statusmanager.StatusManager

	// UCP is the connection to UCP
	UCP sdk.Connection
}

Options holds the configuration options and shared services for the DyanmicRP server.

For testability, all fields on this struct MUST be constructed from the NewOptions function without any additional initialization required.

func NewOptions

func NewOptions(ctx context.Context, config *Config) (*Options, error)

NewOptions creates a new Options instance from the given configuration.

Directories

Path Synopsis
server holds the server implementation for the dynamicrp.
server holds the server implementation for the dynamicrp.
testhost provides an implementation of a test server for the dynamic RP.
testhost provides an implementation of a test server for the dynamic RP.

Jump to

Keyboard shortcuts

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