appconfig

package
v0.9.2 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2026 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSConfig

type AWSConfig struct {
	Account         string   `yaml:"account"`
	Region          string   `yaml:"region"`
	WorkspaceDomain string   `yaml:"workspace_domain"`
	S3              S3Config `yaml:"s3"`
}

type AccountsConfig

type AccountsConfig struct {
	ServiceAccountEmail string `yaml:"serviceAccountEmail"`
	HelpdeskEmail       string `yaml:"helpdeskEmail"`
}

AccountsConfig defines the email chain for account approval requests

type AirbusProviderConfig

type AirbusProviderConfig struct {
	AcessTokenURL       string `yaml:"access_token_url"`
	OpticalContractsURL string `yaml:"optical_contracts_url"`
	SARContractsURL     string `yaml:"sar_contracts_url"`
}

type Config

type Config struct {
	Host      string          `yaml:"host"`
	BasePath  string          `yaml:"basePath"`
	DocsPath  string          `yaml:"docsPath"`
	Accounts  AccountsConfig  `yaml:"accounts"`
	Database  DatabaseConfig  `yaml:"database"`
	Pulsar    PulsarConfig    `yaml:"pulsar"`
	Keycloak  KeycloakConfig  `yaml:"keycloak"`
	AWS       AWSConfig       `yaml:"aws"`
	Files     FilesConfig     `yaml:"files"`
	Providers ProvidersConfig `yaml:"providers"`
}

Config holds all configuration details

func LoadConfig

func LoadConfig(path string) (*Config, error)

LoadConfig loads and parses the configuration from a given file path

type DatabaseConfig

type DatabaseConfig struct {
	Driver string `yaml:"driver"`
	Source string `yaml:"source"`
}

DatabaseConfig defines the database connection details

type FilesConfig

type FilesConfig struct {
	ResponseTimeFormat  string `yaml:"responseTimeFormat"`
	MaxUploadFormMemory int64  `yaml:"maxUploadFormMemoryMB"`
	BlockBaseURL        string `yaml:"blockBaseUrl"`
	BlockTimeoutSeconds int    `yaml:"blockTimeoutSeconds"`
}

type KeycloakConfig

type KeycloakConfig struct {
	ClientId string `yaml:"clientId"`
	URL      string `yaml:"url"`
	Realm    string `yaml:"realm"`
}

KeycloakConfig defines authentication configuration

type PlanetProviderConfig

type PlanetProviderConfig struct {
	ValidationURL string `yaml:"validation_url"`
}

type ProvidersConfig

type ProvidersConfig struct {
	Airbus AirbusProviderConfig `yaml:"airbus"`
	Planet PlanetProviderConfig `yaml:"planet"`
}

type PulsarConfig

type PulsarConfig struct {
	URL           string `yaml:"url"`
	TopicProducer string `yaml:"topicProducer"`
	TopicConsumer string `yaml:"topicConsumer"`
	Subscription  string `yaml:"subscription"`
}

PulsarConfig defines the messaging system connection details

type S3Config

type S3Config struct {
	Bucket         string `yaml:"bucket"`
	Host           string `yaml:"host"`
	RoleArn        string `yaml:"roleArn"`
	Endpoint       string `yaml:"endpoint"`
	ForcePathStyle bool   `yaml:"forcePathStyle"`
	AccessKey      string `yaml:"accessKey"`
	SecretKey      string `yaml:"secretKey"`
}

Jump to

Keyboard shortcuts

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