app

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrConfig = errors.New("configuration error")

Functions

This section is empty.

Types

type App

type App struct {

	// The kind of application - server/orchestrator
	AppKind model.AppKind
	// Flasher configuration.
	Config *Configuration
	// Logger is the app logger.
	Logger *logrus.Logger
	// contains filtered or unexported fields
}

Config holds configuration data when running mctl App holds attributes for the mtl application

func New

func New(_ context.Context, appKind model.AppKind, cfgFile string, loglevel model.LogLevel) (*App, <-chan os.Signal, error)

New returns returns a new instance of the conditionorc app

func (*App) LoadConfiguration

func (a *App) LoadConfiguration() error

func (*App) SetLogger

func (a *App) SetLogger(level model.LogLevel)

type Configuration

type Configuration struct {

	// LogLevel is the app verbose logging level.
	// one of - info, debug, trace
	LogLevel string `mapstructure:"log_level"`

	// ListenAddress is the server listen address
	ListenAddress string `mapstructure:"listen_address"`

	// Concurrency declares how many events the orchestrator will process concurrently.
	Concurrency int `mapstructure:"concurrency"`

	// StoreKind indicates the kind of store to store server conditions
	// supported parameter value - NATS
	StoreKind model.StoreKind `mapstructure:"store_kind"`

	// APIServerJWTAuth sets the JWT verification configuration for the conditionorc API service.
	APIServerJWTAuth []ginjwt.AuthConfig `mapstructure:"ginjwt_auth"`

	// ConditionDefinitions holds one or more condition definitions the conditionorc API, orchestrator support.
	ConditionDefinitions rctypes.Definitions `mapstructure:"conditions"`

	// FleetDBAPIOptions defines the serverservice client configuration parameters
	//
	// This parameter is required when StoreKind is set to serverservice.
	FleetDBAPIOptions FleetDBAPIOptions `mapstructure:"serverservice"`

	// EventsBrokerKind indicates the kind of event broker configuration to enable,
	//
	// Supported parameter value - nats
	EventsBrokerKind model.EventBrokerKind `mapstructure:"events_broker_kind"`

	// NatsOptions defines the NATs events broker configuration parameters.
	//
	// This parameter is required when EventsBrokerKind is set to nats.
	NatsOptions events.NatsOptions `mapstructure:"nats"`

	// Notifications defines the properties for alerting external parties
	Notifications notify.Configuration `mapstructure:"notifications"`
	// contains filtered or unexported fields
}

Configuration holds application configuration read from a YAML or set by env variables.

nolint:govet // prefer readability over field alignment optimization for this case.

type FleetDBAPIOptions added in v1.0.5

type FleetDBAPIOptions struct {
	EndpointURL          *url.URL
	Endpoint             string   `mapstructure:"endpoint"`
	OidcIssuerEndpoint   string   `mapstructure:"oidc_issuer_endpoint"`
	OidcAudienceEndpoint string   `mapstructure:"oidc_audience_endpoint"`
	OidcClientSecret     string   `mapstructure:"oidc_client_secret"`
	OidcClientID         string   `mapstructure:"oidc_client_id"`
	OidcClientScopes     []string `mapstructure:"oidc_client_scopes"`
	DisableOAuth         bool     `mapstructure:"disable_oauth"`
}

https://github.com/metal-toolbox/hollow-serverservice

Jump to

Keyboard shortcuts

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