Documentation
¶
Index ¶
- type AppConfig
- type AppMetadata
- type BrokerConfig
- type BrokerConfigAuthtype
- type CloudWatchConfig
- type DatabaseConfig
- type DatabaseConfigContainer
- type DependencyEndpoint
- type DeploymentMetadata
- type FeatureFlagsConfig
- type FeatureFlagsConfigScheme
- type InMemoryDBConfig
- type KafkaConfig
- type KafkaSASLConfig
- type LoggingConfig
- type ObjectStoreBucket
- type ObjectStoreConfig
- type PrivateDependencyEndpoint
- type TopicConfig
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 ¶
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"`
// Cacert corresponds to the JSON schema field "cacert".
Cacert *string `json:"cacert,omitempty"`
// Hostname corresponds to the JSON schema field "hostname".
Hostname string `json:"hostname"`
// Port corresponds to the JSON schema field "port".
Port *int `json:"port,omitempty"`
// Sasl corresponds to the JSON schema field "sasl".
Sasl *KafkaSASLConfig `json:"sasl,omitempty"`
// SecurityProtocol corresponds to the JSON schema field "securityProtocol".
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 BrokerConfigAuthtypeMtls BrokerConfigAuthtype = "mtls"
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 {
// (DEPRECATED, use apiPaths instead) Defines the API path that this app should serve requests from.
ApiPath string `json:"apiPath"`
// Defines the list of API paths that this app should serve requests from.
ApiPaths []string `json:"apiPaths"`
// 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 {
// Password corresponds to the JSON schema field "password".
Password *string `json:"password,omitempty"`
// SaslMechanism corresponds to the JSON schema field "saslMechanism".
SaslMechanism *string `json:"saslMechanism,omitempty"`
// Deprecated: Use the top level securityProtocol field instead
SecurityProtocol *string `json:"securityProtocol,omitempty"`
// Username corresponds to the JSON schema field "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.