Documentation ¶
Index ¶
- func GetProfilesForVersionAndRequirements(version *semver.Version, requirements AstarteProfileRequirements) map[string]AstarteClusterProfile
- type AstarteClusterProfile
- type AstarteProfileCompatibility
- type AstarteProfileCustomizableField
- type AstarteProfileRequirements
- type Astartev1alpha1Deployment
- type Astartev1alpha1DeploymentSpec
- type Astartev1alpha1GenericAPISpec
- type Astartev1alpha1GenericBackendSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetProfilesForVersionAndRequirements ¶
func GetProfilesForVersionAndRequirements(version *semver.Version, requirements AstarteProfileRequirements) map[string]AstarteClusterProfile
GetProfilesForVersionAndRequirements gets all profiles compatible with given version and requirements
Types ¶
type AstarteClusterProfile ¶
type AstarteClusterProfile struct { Name string `yaml:"name"` Description string `yaml:"description"` Compatibility AstarteProfileCompatibility `yaml:"compatibility"` Requirements AstarteProfileRequirements `yaml:"requirements"` DefaultSpec Astartev1alpha1DeploymentSpec `yaml:"defaultSpec"` CustomizableFields []AstarteProfileCustomizableField `yaml:"customizableFields"` }
AstarteClusterProfile represents a deployment profile for an Astarte Cluster
func GetAllBuiltinAstarteClusterProfiles ¶
func GetAllBuiltinAstarteClusterProfiles() []AstarteClusterProfile
GetAllBuiltinAstarteClusterProfiles returns all the bundled Cluster profiles.
func GetMatchingProfile ¶ added in v0.10.5
func GetMatchingProfile(name string, version *semver.Version) AstarteClusterProfile
GetMatchingProfile returns a profile which matches name and version requirements, or an invalid profile.
func (*AstarteClusterProfile) IsValid ¶ added in v0.10.5
func (p *AstarteClusterProfile) IsValid() bool
IsValid returns whether the AstarteClusterProfile is valid or not.
type AstarteProfileCompatibility ¶
type AstarteProfileCompatibility struct { MinAstarteVersion *semver.Version `yaml:"minAstarteVersion,omitempty"` MaxAstarteVersion *semver.Version `yaml:"maxAstarteVersion,omitempty"` }
AstarteProfileCompatibility represents a compatibility range for an Astarte profile
type AstarteProfileCustomizableField ¶
type AstarteProfileCustomizableField struct { Field string `yaml:"field"` Question string `yaml:"question"` Default interface{} `yaml:"default"` Type types.BasicKind `yaml:"type"` AllowEmpty bool `yaml:"allowEmpty,omitempty"` }
AstarteProfileCustomizableField represents a customizable field in a deployment profile
type AstarteProfileRequirements ¶
type AstarteProfileRequirements struct { CPUAllocation int64 `yaml:"cpuAllocation"` MemoryAllocation int64 `yaml:"memoryAllocation"` MinNodes int `yaml:"minNodes,omitempty"` MaxNodes int `yaml:"maxNodes,omitempty"` }
AstarteProfileRequirements represents the requirements for an Astarte profile
type Astartev1alpha1Deployment ¶
type Astartev1alpha1Deployment struct { APIVersion string `yaml:"apiVersion"` Kind string `yaml:"kind"` Metadata struct { Name string `yaml:"name"` Namespace string `yaml:"namespace"` Annotations map[string]string `yaml:"annotations,omitempty"` } `yaml:"metadata"` Spec Astartev1alpha1DeploymentSpec `yaml:"spec"` }
Astartev1alpha1Deployment represents an Astarte Deployment object
func GetBaseAstartev1alpha1Deployment ¶
func GetBaseAstartev1alpha1Deployment() Astartev1alpha1Deployment
GetBaseAstartev1alpha1Deployment returns a ready to customise deployment spec for an Astarte v1alpha1 resource
type Astartev1alpha1DeploymentSpec ¶
type Astartev1alpha1DeploymentSpec struct { Version string `yaml:"version"` ImagePullPolicy string `yaml:"imagePullPolicy,omitempty"` ImagePullSecrets []string `yaml:"imagePullSecrets,omitempty"` DistributionChannel string `yaml:"distributionChannel,omitempty"` Rbac bool `yaml:"rbac,omitempty"` StorageClassName interface{} `yaml:"storageClassName,omitempty"` API struct { Ssl bool `yaml:"ssl,omitempty"` Host string `yaml:"host"` } `yaml:"api"` Rabbitmq struct { Deploy bool `yaml:"deploy,omitempty"` Connection struct { Host string `yaml:"host"` Port string `yaml:"port"` Username string `yaml:"username"` Password string `yaml:"password"` Secret struct { Name string `yaml:"name"` UsernameKey string `yaml:"usernameKey"` PasswordKey string `yaml:"passwordKey"` } `yaml:"secret"` } `yaml:"connection,omitempty"` Replicas int `yaml:"replicas,omitempty"` AntiAffinity bool `yaml:"antiAffinity,omitempty"` Storage struct { Size string `yaml:"size"` ClassName string `yaml:"className,omitempty"` VolumeDefinition interface{} `yaml:"volumeDefinition,omitempty"` } `yaml:"storage,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` } `yaml:"rabbitmq"` Cassandra struct { Deploy bool `yaml:"deploy"` Version string `yaml:"version,omitempty"` Nodes string `yaml:"nodes,omitempty"` Replicas int `yaml:"replicas,omitempty"` AntiAffinity bool `yaml:"antiAffinity,omitempty"` MaxHeapSize string `yaml:"maxHeapSize,omitempty"` HeapNewSize string `yaml:"heapNewSize,omitempty"` Storage struct { Size string `yaml:"size"` ClassName string `yaml:"className,omitempty"` VolumeDefinition interface{} `yaml:"volumeDefinition,omitempty"` } `yaml:"storage,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` } `yaml:"cassandra"` Vernemq struct { Host string `yaml:"host,omitempty"` Port int `yaml:"port,omitempty"` Deploy bool `yaml:"deploy,omitempty"` Replicas int `yaml:"replicas,omitempty"` AntiAffinity bool `yaml:"antiAffinity,omitempty"` SslListener bool `yaml:"sslListener,omitempty"` SslListenerCertSecretName string `yaml:"sslListenerCertSecretName,omitempty"` CaSecret string `yaml:"caSecret,omitempty"` Storage struct { Size string `yaml:"size"` ClassName string `yaml:"className,omitempty"` VolumeDefinition interface{} `yaml:"volumeDefinition,omitempty"` } `yaml:"storage,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` } `yaml:"vernemq"` Cfssl struct { Deploy bool `yaml:"deploy,omitempty"` Replicas int `yaml:"replicas,omitempty"` URL string `yaml:"url,omitempty"` CaExpiry string `yaml:"caExpiry,omitempty"` CertificateExpiry string `yaml:"certificateExpiry,omitempty"` DbConfig struct { Driver string `yaml:"driver,omitempty"` DataSource string `yaml:"dataSource,omitempty"` } `yaml:"dbConfig,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` Storage struct { Size string `yaml:"size"` ClassName string `yaml:"className,omitempty"` VolumeDefinition interface{} `yaml:"volumeDefinition,omitempty"` } `yaml:"storage,omitempty"` CsrRootCa struct { CN string `yaml:"CN"` Key struct { Algo string `yaml:"algo"` Size int `yaml:"size"` } `yaml:"key"` Names []struct { C string `yaml:"C"` L string `yaml:"L"` O string `yaml:"O"` OU string `yaml:"OU"` ST string `yaml:"ST"` } `yaml:"names"` Ca struct { Expiry string `yaml:"expiry"` } `yaml:"ca"` } `yaml:"csrRootCa,omitempty"` CaRootConfig struct { Signing struct { Default struct { Usages []string `yaml:"usages"` Expiry string `yaml:"expiry"` CaConstraint struct { IsCa bool `yaml:"isCa"` MaxPathLen int `yaml:"maxPathLen"` MaxPathLenZero bool `yaml:"maxPathLenZero"` } `yaml:"caConstraint"` } `yaml:"default"` } `yaml:"signing"` } `yaml:"caRootConfig,omitempty"` } `yaml:"cfssl"` Components struct { Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` Housekeeping struct { API Astartev1alpha1GenericAPISpec `yaml:"api,omitempty"` Backend Astartev1alpha1GenericBackendSpec `yaml:"backend,omitempty"` } `yaml:"housekeeping,omitempty"` RealmManagement struct { API Astartev1alpha1GenericAPISpec `yaml:"api,omitempty"` Backend Astartev1alpha1GenericBackendSpec `yaml:"backend,omitempty"` } `yaml:"realmManagement,omitempty"` Pairing struct { API Astartev1alpha1GenericAPISpec `yaml:"api,omitempty"` Backend Astartev1alpha1GenericBackendSpec `yaml:"backend,omitempty"` } `yaml:"pairing,omitempty"` DataUpdaterPlant struct { Replicas int `yaml:"replicas,omitempty"` DataQueueCount int `yaml:"dataQueueCount,omitempty"` Version string `yaml:"version,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` } `yaml:"dataUpdaterPlant,omitempty"` AppengineAPI struct { Replicas int `yaml:"replicas,omitempty"` DisableAuthentication bool `yaml:"disableAuthentication,omitempty"` MaxResultsLimit int `yaml:"maxResultsLimit,omitempty"` Version string `yaml:"version,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` } `yaml:"appengineApi,omitempty"` TriggerEngine struct { Deploy bool `yaml:"deploy,omitempty"` Replicas int `yaml:"replicas,omitempty"` Version string `yaml:"version,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` } `yaml:"triggerEngine,omitempty"` Dashboard struct { Deploy bool `yaml:"deploy,omitempty"` Replicas int `yaml:"replicas,omitempty"` DefaultRealm string `yaml:"defaultRealm,omitempty"` Version string `yaml:"version,omitempty"` Config struct { RealmManagementAPIURL string `yaml:"realmManagementApiUrl"` DefaultRealm string `yaml:"defaultRealm"` DefaultAuth string `yaml:"defaultAuth"` Auth []struct { Type string `yaml:"type"` } `yaml:"auth"` } `yaml:"config,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` } `yaml:"dashboard,omitempty"` } `yaml:"components"` }
Astartev1alpha1DeploymentSpec represents the spec for Kubernetes API api.astarte-platform.org/v1alpha1/Astarte
type Astartev1alpha1GenericAPISpec ¶
type Astartev1alpha1GenericAPISpec struct { Replicas int `yaml:"replicas,omitempty"` DisableAuthentication bool `yaml:"disableAuthentication,omitempty"` Version string `yaml:"version,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` }
Astartev1alpha1GenericAPISpec represents a generic Astarte API Component in the Deployment spec
type Astartev1alpha1GenericBackendSpec ¶
type Astartev1alpha1GenericBackendSpec struct { Replicas int `yaml:"replicas,omitempty"` Version string `yaml:"version,omitempty"` Resources struct { Requests struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"requests"` Limits struct { CPU string `yaml:"cpu"` Memory string `yaml:"memory"` } `yaml:"limits"` } `yaml:"resources,omitempty"` }
Astartev1alpha1GenericBackendSpec represents a generic Astarte Backend Component in the Deployment spec