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" yaml:"BOPURL,omitempty" mapstructure:"BOPURL,omitempty"` // Database corresponds to the JSON schema field "database". Database *DatabaseConfig `json:"database,omitempty" yaml:"database,omitempty" mapstructure:"database,omitempty"` // Endpoints corresponds to the JSON schema field "endpoints". Endpoints []DependencyEndpoint `json:"endpoints,omitempty" yaml:"endpoints,omitempty" mapstructure:"endpoints,omitempty"` // FeatureFlags corresponds to the JSON schema field "featureFlags". FeatureFlags *FeatureFlagsConfig `json:"featureFlags,omitempty" yaml:"featureFlags,omitempty" mapstructure:"featureFlags,omitempty"` // A set of configMap/secret hashes HashCache *string `json:"hashCache,omitempty" yaml:"hashCache,omitempty" mapstructure:"hashCache,omitempty"` // The external hostname of the deployment, where applicable Hostname *string `json:"hostname,omitempty" yaml:"hostname,omitempty" mapstructure:"hostname,omitempty"` // InMemoryDb corresponds to the JSON schema field "inMemoryDb". InMemoryDb *InMemoryDBConfig `json:"inMemoryDb,omitempty" yaml:"inMemoryDb,omitempty" mapstructure:"inMemoryDb,omitempty"` // Kafka corresponds to the JSON schema field "kafka". Kafka *KafkaConfig `json:"kafka,omitempty" yaml:"kafka,omitempty" mapstructure:"kafka,omitempty"` // Logging corresponds to the JSON schema field "logging". Logging LoggingConfig `json:"logging" yaml:"logging" mapstructure:"logging"` // Metadata corresponds to the JSON schema field "metadata". Metadata *AppMetadata `json:"metadata,omitempty" yaml:"metadata,omitempty" mapstructure:"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" yaml:"metricsPath" mapstructure:"metricsPath"` // Defines the metrics port that the app should be configured to listen on for // metric traffic. MetricsPort int `json:"metricsPort" yaml:"metricsPort" mapstructure:"metricsPort"` // ObjectStore corresponds to the JSON schema field "objectStore". ObjectStore *ObjectStoreConfig `json:"objectStore,omitempty" yaml:"objectStore,omitempty" mapstructure:"objectStore,omitempty"` // PrivateEndpoints corresponds to the JSON schema field "privateEndpoints". PrivateEndpoints []PrivateDependencyEndpoint `json:"privateEndpoints,omitempty" yaml:"privateEndpoints,omitempty" mapstructure:"privateEndpoints,omitempty"` // Defines the private port that the app should be configured to listen on for API // traffic. PrivatePort *int `json:"privatePort,omitempty" yaml:"privatePort,omitempty" mapstructure:"privatePort,omitempty"` // Defines the public port that the app should be configured to listen on for API // traffic. PublicPort *int `json:"publicPort,omitempty" yaml:"publicPort,omitempty" mapstructure:"publicPort,omitempty"` // Defines the port CA path TlsCAPath *string `json:"tlsCAPath,omitempty" yaml:"tlsCAPath,omitempty" mapstructure:"tlsCAPath,omitempty"` // Deprecated: Use 'publicPort' instead. WebPort *int `json:"webPort,omitempty" yaml:"webPort,omitempty" mapstructure:"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" yaml:"deployments,omitempty" mapstructure:"deployments,omitempty"` // Name of the ClowdEnvironment this ClowdApp runs in EnvName *string `json:"envName,omitempty" yaml:"envName,omitempty" mapstructure:"envName,omitempty"` // Name of the ClowdApp Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"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" yaml:"authtype,omitempty" mapstructure:"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" yaml:"cacert,omitempty" mapstructure:"cacert,omitempty"` // Hostname of kafka broker Hostname string `json:"hostname" yaml:"hostname" mapstructure:"hostname"` // Port of kafka broker Port *int `json:"port,omitempty" yaml:"port,omitempty" mapstructure:"port,omitempty"` // Sasl corresponds to the JSON schema field "sasl". Sasl *KafkaSASLConfig `json:"sasl,omitempty" yaml:"sasl,omitempty" mapstructure:"sasl,omitempty"` // Broker security procotol, expect one of either: SASL_SSL, SSL SecurityProtocol *string `json:"securityProtocol,omitempty" yaml:"securityProtocol,omitempty" mapstructure:"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" yaml:"accessKeyId" mapstructure:"accessKeyId"` // Defines the logGroup that the app should use for configuring CloudWatch. LogGroup string `json:"logGroup" yaml:"logGroup" mapstructure:"logGroup"` // Defines the region that the app should use for configuring CloudWatch. Region string `json:"region" yaml:"region" mapstructure:"region"` // Defines the secret key that the app should use for configuring CloudWatch. SecretAccessKey string `json:"secretAccessKey" yaml:"secretAccessKey" mapstructure:"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" yaml:"adminPassword" mapstructure:"adminPassword"` // Defines the pgAdmin username. AdminUsername string `json:"adminUsername" yaml:"adminUsername" mapstructure:"adminUsername"` // Defines the hostname of the database configured for the ClowdApp. Hostname string `json:"hostname" yaml:"hostname" mapstructure:"hostname"` // Defines the database name. Name string `json:"name" yaml:"name" mapstructure:"name"` // Defines the password for the standard user. Password string `json:"password" yaml:"password" mapstructure:"password"` // Defines the port of the database configured for the ClowdApp. Port int `json:"port" yaml:"port" mapstructure:"port"` // Defines the CA used to access the database. RdsCa *string `json:"rdsCa,omitempty" yaml:"rdsCa,omitempty" mapstructure:"rdsCa,omitempty"` // Defines the postgres SSL mode that should be used. SslMode string `json:"sslMode" yaml:"sslMode" mapstructure:"sslMode"` // Defines a username with standard access to the database. Username string `json:"username" yaml:"username" mapstructure:"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" yaml:"apiPath" mapstructure:"apiPath"` // The list of API paths (each matching format: '/api/some-path/') that this app // will serve requests from ApiPaths []string `json:"apiPaths,omitempty" yaml:"apiPaths,omitempty" mapstructure:"apiPaths,omitempty"` // The app name of the ClowdApp hosting the service. App string `json:"app" yaml:"app" mapstructure:"app"` // The hostname of the dependent service. Hostname string `json:"hostname" yaml:"hostname" mapstructure:"hostname"` // The PodSpec name of the dependent service inside the ClowdApp. Name string `json:"name" yaml:"name" mapstructure:"name"` // The port of the dependent service. Port int `json:"port" yaml:"port" mapstructure:"port"` // The TLS port of the dependent service. TlsPort *int `json:"tlsPort,omitempty" yaml:"tlsPort,omitempty" mapstructure:"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" yaml:"image" mapstructure:"image"` // Name of deployment Name string `json:"name" yaml:"name" mapstructure:"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" yaml:"clientAccessToken,omitempty" mapstructure:"clientAccessToken,omitempty"` // Defines the hostname for the FeatureFlags server Hostname string `json:"hostname" yaml:"hostname" mapstructure:"hostname"` // Defines the port for the FeatureFlags server Port int `json:"port" yaml:"port" mapstructure:"port"` // Details the scheme to use for FeatureFlags http/https Scheme FeatureFlagsConfigScheme `json:"scheme" yaml:"scheme" mapstructure:"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" yaml:"hostname" mapstructure:"hostname"` // Defines the password for the In Memory DB server configuration. Password *string `json:"password,omitempty" yaml:"password,omitempty" mapstructure:"password,omitempty"` // Defines the port for the In Memory DB server configuration. Port int `json:"port" yaml:"port" mapstructure:"port"` // Defines the sslMode used by the In Memory DB server coniguration SslMode *bool `json:"sslMode,omitempty" yaml:"sslMode,omitempty" mapstructure:"sslMode,omitempty"` // Defines the username for the In Memory DB server configuration. Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"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" yaml:"brokers" mapstructure:"brokers"` // Defines a list of the topic configurations available to the application. Topics []TopicConfig `json:"topics" yaml:"topics" mapstructure:"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" yaml:"password,omitempty" mapstructure:"password,omitempty"` // Broker SASL mechanism, expect: SCRAM-SHA-512 SaslMechanism *string `json:"saslMechanism,omitempty" yaml:"saslMechanism,omitempty" mapstructure:"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" yaml:"securityProtocol,omitempty" mapstructure:"securityProtocol,omitempty"` // Broker SASL username Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` }
SASL Configuration for Kafka
type LoggingConfig ¶
type LoggingConfig struct { // Cloudwatch corresponds to the JSON schema field "cloudwatch". Cloudwatch *CloudWatchConfig `json:"cloudwatch,omitempty" yaml:"cloudwatch,omitempty" mapstructure:"cloudwatch,omitempty"` // Defines the type of logging configuration Type string `json:"type" yaml:"type" mapstructure:"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" yaml:"accessKey,omitempty" mapstructure:"accessKey,omitempty"` // Defines the endpoint for the Object Storage server configuration. Endpoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"` // The actual name of the bucket being accessed. Name string `json:"name" yaml:"name" mapstructure:"name"` // Defines the region for the specified bucket. Region *string `json:"region,omitempty" yaml:"region,omitempty" mapstructure:"region,omitempty"` // The name that was requested for the bucket in the ClowdApp. RequestedName string `json:"requestedName" yaml:"requestedName" mapstructure:"requestedName"` // Defines the secret key for the specified bucket. SecretKey *string `json:"secretKey,omitempty" yaml:"secretKey,omitempty" mapstructure:"secretKey,omitempty"` // Details if the Object Server uses TLS. Tls *bool `json:"tls,omitempty" yaml:"tls,omitempty" mapstructure:"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" yaml:"accessKey,omitempty" mapstructure:"accessKey,omitempty"` // Buckets corresponds to the JSON schema field "buckets". Buckets []ObjectStoreBucket `json:"buckets,omitempty" yaml:"buckets,omitempty" mapstructure:"buckets,omitempty"` // Defines the hostname for the Object Storage server configuration. Hostname string `json:"hostname" yaml:"hostname" mapstructure:"hostname"` // Defines the port for the Object Storage server configuration. Port int `json:"port" yaml:"port" mapstructure:"port"` // Defines the secret key for the Object Storage server configuration. SecretKey *string `json:"secretKey,omitempty" yaml:"secretKey,omitempty" mapstructure:"secretKey,omitempty"` // Details if the Object Server uses TLS. Tls bool `json:"tls" yaml:"tls" mapstructure:"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" yaml:"app" mapstructure:"app"` // The hostname of the dependent service. Hostname string `json:"hostname" yaml:"hostname" mapstructure:"hostname"` // The PodSpec name of the dependent service inside the ClowdApp. Name string `json:"name" yaml:"name" mapstructure:"name"` // The port of the dependent service. Port int `json:"port" yaml:"port" mapstructure:"port"` // The TLS port of the dependent service. TlsPort *int `json:"tlsPort,omitempty" yaml:"tlsPort,omitempty" mapstructure:"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" yaml:"name" mapstructure:"name"` // The name that the app requested in the ClowdApp definition. RequestedName string `json:"requestedName" yaml:"requestedName" mapstructure:"requestedName"` }
Topic Configuration
func (*TopicConfig) UnmarshalJSON ¶
func (j *TopicConfig) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.