config

package
v0.80.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppConfig

type AppConfig struct {
	// Defines the path to the BOPURL.
	BOPURL *string `json:"BOPURL,omitempty"`

	// Database corresponds to the JSON schema field "database".
	Database *DatabaseConfig `json:"database,omitempty"`

	// Endpoints corresponds to the JSON schema field "endpoints".
	Endpoints []DependencyEndpoint `json:"endpoints,omitempty"`

	// FeatureFlags corresponds to the JSON schema field "featureFlags".
	FeatureFlags *FeatureFlagsConfig `json:"featureFlags,omitempty"`

	// A set of configMap/secret hashes
	HashCache *string `json:"hashCache,omitempty"`

	// InMemoryDb corresponds to the JSON schema field "inMemoryDb".
	InMemoryDb *InMemoryDBConfig `json:"inMemoryDb,omitempty"`

	// Kafka corresponds to the JSON schema field "kafka".
	Kafka *KafkaConfig `json:"kafka,omitempty"`

	// Logging corresponds to the JSON schema field "logging".
	Logging LoggingConfig `json:"logging"`

	// Metadata corresponds to the JSON schema field "metadata".
	Metadata *AppMetadata `json:"metadata,omitempty"`

	// Defines the path to the metrics server that the app should be configured to
	// listen on for metric traffic.
	MetricsPath string `json:"metricsPath"`

	// Defines the metrics port that the app should be configured to listen on for
	// metric traffic.
	MetricsPort int `json:"metricsPort"`

	// ObjectStore corresponds to the JSON schema field "objectStore".
	ObjectStore *ObjectStoreConfig `json:"objectStore,omitempty"`

	// PrivateEndpoints corresponds to the JSON schema field "privateEndpoints".
	PrivateEndpoints []PrivateDependencyEndpoint `json:"privateEndpoints,omitempty"`

	// Defines the private port that the app should be configured to listen on for API
	// traffic.
	PrivatePort *int `json:"privatePort,omitempty"`

	// Defines the public port that the app should be configured to listen on for API
	// traffic.
	PublicPort *int `json:"publicPort,omitempty"`

	// Defines the port CA path
	TlsCAPath *string `json:"tlsCAPath,omitempty"`

	// Deprecated: Use 'publicPort' instead.
	WebPort *int `json:"webPort,omitempty"`
}

ClowdApp deployment configuration for Clowder enabled apps.

func (*AppConfig) UnmarshalJSON

func (j *AppConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type AppMetadata added in v0.20.0

type AppMetadata struct {
	// Metadata pertaining to an application's deployments
	Deployments []DeploymentMetadata `json:"deployments,omitempty"`

	// Name of the ClowdEnvironment this ClowdApp runs in
	EnvName *string `json:"envName,omitempty"`

	// Name of the ClowdApp
	Name *string `json:"name,omitempty"`
}

Arbitrary metadata pertaining to the application application

type BrokerConfig

type BrokerConfig struct {
	// Authtype corresponds to the JSON schema field "authtype".
	Authtype *BrokerConfigAuthtype `json:"authtype,omitempty"`

	// CA certificate trust list for broker in PEM format. If absent, client should
	// use OS default trust list
	Cacert *string `json:"cacert,omitempty"`

	// Hostname of kafka broker
	Hostname string `json:"hostname"`

	// Port of kafka broker
	Port *int `json:"port,omitempty"`

	// Sasl corresponds to the JSON schema field "sasl".
	Sasl *KafkaSASLConfig `json:"sasl,omitempty"`

	// Broker security procotol, expect one of either: SASL_SSL, SSL
	SecurityProtocol *string `json:"securityProtocol,omitempty"`
}

Broker Configuration

func (*BrokerConfig) UnmarshalJSON

func (j *BrokerConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BrokerConfigAuthtype

type BrokerConfigAuthtype string
const BrokerConfigAuthtypeSasl BrokerConfigAuthtype = "sasl"

func (*BrokerConfigAuthtype) UnmarshalJSON

func (j *BrokerConfigAuthtype) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type CloudWatchConfig

type CloudWatchConfig struct {
	// Defines the access key that the app should use for configuring CloudWatch.
	AccessKeyId string `json:"accessKeyId"`

	// Defines the logGroup that the app should use for configuring CloudWatch.
	LogGroup string `json:"logGroup"`

	// Defines the region that the app should use for configuring CloudWatch.
	Region string `json:"region"`

	// Defines the secret key that the app should use for configuring CloudWatch.
	SecretAccessKey string `json:"secretAccessKey"`
}

Cloud Watch configuration

func (*CloudWatchConfig) UnmarshalJSON

func (j *CloudWatchConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type DatabaseConfig

type DatabaseConfig struct {
	// Defines the pgAdmin password.
	AdminPassword string `json:"adminPassword"`

	// Defines the pgAdmin username.
	AdminUsername string `json:"adminUsername"`

	// Defines the hostname of the database configured for the ClowdApp.
	Hostname string `json:"hostname"`

	// Defines the database name.
	Name string `json:"name"`

	// Defines the password for the standard user.
	Password string `json:"password"`

	// Defines the port of the database configured for the ClowdApp.
	Port int `json:"port"`

	// Defines the CA used to access the database.
	RdsCa *string `json:"rdsCa,omitempty"`

	// Defines the postgres SSL mode that should be used.
	SslMode string `json:"sslMode"`

	// Defines a username with standard access to the database.
	Username string `json:"username"`
}

Database Configuration

func (*DatabaseConfig) Populate

func (dbc *DatabaseConfig) Populate(data *map[string]string) error

Populate sets the database configuration on the object from the passed in map.

func (*DatabaseConfig) UnmarshalJSON

func (j *DatabaseConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type DatabaseConfigContainer added in v0.21.0

type DatabaseConfigContainer struct {
	Config DatabaseConfig       `json:"config"`
	Ref    types.NamespacedName `json:"ref"`
}

type DependencyEndpoint

type DependencyEndpoint struct {
	// The top level api path that the app should serve from /api/<apiPath>
	// (deprecated, use apiPaths)
	ApiPath string `json:"apiPath"`

	// The list of API paths (each matching format: '/api/some-path/') that this app
	// will serve requests from
	ApiPaths []string `json:"apiPaths,omitempty"`

	// The app name of the ClowdApp hosting the service.
	App string `json:"app"`

	// The hostname of the dependent service.
	Hostname string `json:"hostname"`

	// The PodSpec name of the dependent service inside the ClowdApp.
	Name string `json:"name"`

	// The port of the dependent service.
	Port int `json:"port"`

	// The TLS port of the dependent service.
	TlsPort *int `json:"tlsPort,omitempty"`
}

Dependent service connection info

func (*DependencyEndpoint) UnmarshalJSON

func (j *DependencyEndpoint) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type DeploymentMetadata added in v0.20.0

type DeploymentMetadata struct {
	// Image used by deployment
	Image string `json:"image"`

	// Name of deployment
	Name string `json:"name"`
}

Deployment Metadata

func (*DeploymentMetadata) UnmarshalJSON added in v0.20.0

func (j *DeploymentMetadata) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type FeatureFlagsConfig

type FeatureFlagsConfig struct {
	// Defines the client access token to use when connect to the FeatureFlags server
	ClientAccessToken *string `json:"clientAccessToken,omitempty"`

	// Defines the hostname for the FeatureFlags server
	Hostname string `json:"hostname"`

	// Defines the port for the FeatureFlags server
	Port int `json:"port"`

	// Details the scheme to use for FeatureFlags http/https
	Scheme FeatureFlagsConfigScheme `json:"scheme"`
}

Feature Flags Configuration

func (*FeatureFlagsConfig) UnmarshalJSON

func (j *FeatureFlagsConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type FeatureFlagsConfigScheme added in v0.21.0

type FeatureFlagsConfigScheme string
const FeatureFlagsConfigSchemeHttp FeatureFlagsConfigScheme = "http"
const FeatureFlagsConfigSchemeHttps FeatureFlagsConfigScheme = "https"

func (*FeatureFlagsConfigScheme) UnmarshalJSON added in v0.21.0

func (j *FeatureFlagsConfigScheme) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type InMemoryDBConfig

type InMemoryDBConfig struct {
	// Defines the hostname for the In Memory DB server configuration.
	Hostname string `json:"hostname"`

	// Defines the password for the In Memory DB server configuration.
	Password *string `json:"password,omitempty"`

	// Defines the port for the In Memory DB server configuration.
	Port int `json:"port"`

	// Defines the sslMode used by the In Memory DB server coniguration
	SslMode *bool `json:"sslMode,omitempty"`

	// Defines the username for the In Memory DB server configuration.
	Username *string `json:"username,omitempty"`
}

In Memory DB Configuration

func (*InMemoryDBConfig) UnmarshalJSON

func (j *InMemoryDBConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type KafkaConfig

type KafkaConfig struct {
	// Defines the brokers the app should connect to for Kafka services.
	Brokers []BrokerConfig `json:"brokers"`

	// Defines a list of the topic configurations available to the application.
	Topics []TopicConfig `json:"topics"`
}

Kafka Configuration

func (*KafkaConfig) UnmarshalJSON

func (j *KafkaConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type KafkaSASLConfig

type KafkaSASLConfig struct {
	// Broker SASL password
	Password *string `json:"password,omitempty"`

	// Broker SASL mechanism, expect: SCRAM-SHA-512
	SaslMechanism *string `json:"saslMechanism,omitempty"`

	// Broker security protocol, expect one of either: SASL_SSL, SSL. DEPRECATED, use
	// the top level securityProtocol field instead
	SecurityProtocol *string `json:"securityProtocol,omitempty"`

	// Broker SASL username
	Username *string `json:"username,omitempty"`
}

SASL Configuration for Kafka

type LoggingConfig

type LoggingConfig struct {
	// Cloudwatch corresponds to the JSON schema field "cloudwatch".
	Cloudwatch *CloudWatchConfig `json:"cloudwatch,omitempty"`

	// Defines the type of logging configuration
	Type string `json:"type"`
}

Logging Configuration

func (*LoggingConfig) UnmarshalJSON

func (j *LoggingConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ObjectStoreBucket

type ObjectStoreBucket struct {
	// Defines the access key for specificed bucket.
	AccessKey *string `json:"accessKey,omitempty"`

	// Defines the endpoint for the Object Storage server configuration.
	Endpoint *string `json:"endpoint,omitempty"`

	// The actual name of the bucket being accessed.
	Name string `json:"name"`

	// Defines the region for the specified bucket.
	Region *string `json:"region,omitempty"`

	// The name that was requested for the bucket in the ClowdApp.
	RequestedName string `json:"requestedName"`

	// Defines the secret key for the specified bucket.
	SecretKey *string `json:"secretKey,omitempty"`

	// Details if the Object Server uses TLS.
	Tls *bool `json:"tls,omitempty"`
}

Object Storage Bucket

func (*ObjectStoreBucket) UnmarshalJSON

func (j *ObjectStoreBucket) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ObjectStoreConfig

type ObjectStoreConfig struct {
	// Defines the access key for the Object Storage server configuration.
	AccessKey *string `json:"accessKey,omitempty"`

	// Buckets corresponds to the JSON schema field "buckets".
	Buckets []ObjectStoreBucket `json:"buckets,omitempty"`

	// Defines the hostname for the Object Storage server configuration.
	Hostname string `json:"hostname"`

	// Defines the port for the Object Storage server configuration.
	Port int `json:"port"`

	// Defines the secret key for the Object Storage server configuration.
	SecretKey *string `json:"secretKey,omitempty"`

	// Details if the Object Server uses TLS.
	Tls bool `json:"tls"`
}

Object Storage Configuration

func (*ObjectStoreConfig) UnmarshalJSON

func (j *ObjectStoreConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type PrivateDependencyEndpoint

type PrivateDependencyEndpoint struct {
	// The app name of the ClowdApp hosting the service.
	App string `json:"app"`

	// The hostname of the dependent service.
	Hostname string `json:"hostname"`

	// The PodSpec name of the dependent service inside the ClowdApp.
	Name string `json:"name"`

	// The port of the dependent service.
	Port int `json:"port"`

	// The TLS port of the dependent service.
	TlsPort *int `json:"tlsPort,omitempty"`
}

Dependent service connection info

func (*PrivateDependencyEndpoint) UnmarshalJSON

func (j *PrivateDependencyEndpoint) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type TopicConfig

type TopicConfig struct {
	// The name of the actual topic on the Kafka server.
	Name string `json:"name"`

	// The name that the app requested in the ClowdApp definition.
	RequestedName string `json:"requestedName"`
}

Topic Configuration

func (*TopicConfig) UnmarshalJSON

func (j *TopicConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

Jump to

Keyboard shortcuts

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