config

package
v0.0.20 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrConfig               = errors.New("configuration error")
	ErrProviderAttributes   = errors.New("provider config missing required attribute(s)")
	ErrNoFileChecksum       = errors.New("file upstreamURL declared with no checksum (Provider.UtilityChecksum)")
	ErrProviderNotSupported = errors.New("provider not suppported")
)

Functions

func LoadFirmwareManifest added in v0.0.9

func LoadFirmwareManifest(ctx context.Context, manifestURL string) (map[string][]*serverservice.ComponentFirmwareVersion, error)

func ParseRepositoryURL

func ParseRepositoryURL(repositoryURL string) (endpoint, bucket string, err error)

Types

type Configuration added in v0.0.16

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

	InventoryKind types.InventoryKind `mapstructure:"inventory_kind"`

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

	// FirmwareRepository defines configuration for the s3 bucket firmware will be synced to
	FirmwareRepository *S3Bucket `mapstructure:"s3bucket"`

	// AsRockRackRepository defines configuration for the asrockrack s3 source firmware bucket
	AsRockRackRepository *S3Bucket `mapstructure:"s3bucket"`

	// ArtifactsURL defines the artifacts URL used by all firmware
	ArtifactsURL string `mapstructure:"artifacts_url"`

	// FirmwareManifestURL defines the URL for modeldata.json
	FirmwareManifestURL string `mapstructure:"firmware_manifest_url"`

	// GithubOpenBmcToken defines the token used to access internal openbmc repository
	GithubOpenBmcToken string `mapstructure:"github_openbmc_token"`

	// DefaultDownloadURL defines where unsupported firmware will be downloaded from
	DefaultDownloadURL string `mapstructure:"default_download_url"`
}

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

type FirmwareRecord added in v0.0.9

type FirmwareRecord struct {
	BuildDate       string `json:"build_date"`
	Filename        string `json:"filename"`
	FirmwareVersion string `json:"firmware_version"`
	Latest          bool   `json:"latest"`
	MD5Sum          string `json:"md5sum"`
	VendorURI       string `json:"vendor_uri"`
	Model           string `json:"model,omitempty"`
}

FirmwareRecord from modeldata.json

type Model added in v0.0.9

type Model struct {
	Model        string                      `json:"model"`
	Manufacturer string                      `json:"manufacturer"`
	Components   map[string][]FirmwareRecord `json:"firmware"`
}

Model from modeldata.json

type S3Bucket

type S3Bucket struct {
	Region    string `mapstructure:"region"`   // AWS region location for the s3 bucket
	Endpoint  string `mapstructure:"endpoint"` // s3.foobar.com
	Bucket    string `mapstructure:"bucket"`   // fup-data
	AccessKey string `mapstructure:"access_key"`
	SecretKey string `mapstructure:"secret_key"`
}

S3Bucket holds configuration parameters to connect to an S3 compatible bucket

type ServerserviceOptions added in v0.0.16

type ServerserviceOptions 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"`
}

ServerserviceOptions defines configuration for the Serverservice client. 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