API Reference #

Packages #

api.astarte-platform.org/v2alpha1 #

Package v2alpha1 contains API Schema definitions for the api v2alpha1 API group

Package v2alpha1 contains API Schema definitions for the api v2alpha1 API group

Resource Types #

Astarte #

Astarte is the Schema for the astartes API

Appears in:

Field Description Default Validation
apiVersion string api.astarte-platform.org/v2alpha1
kind string Astarte
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec AstarteSpec
status AstarteStatus

AstarteAPISpec #

Appears in:

Field Description Default Validation
ssl boolean Optional: {}
host string

AstarteAppengineAPISpec #

Appears in:

Field Description Default Validation
deploy boolean Optional: {}
replicas integer Optional: {}
antiAffinity boolean Optional: {}
customAffinity Affinity Optional: {}
deploymentStrategy DeploymentStrategy Optional: {}
version string Optional: {}
image string Optional: {}
imagePullPolicy PullPolicy Optional: {}
imagePullSecrets LocalObjectReference array Optional: {}
resources ResourceRequirements Compute Resources for this Component. Optional: {}
additionalEnv EnvVar array Additional environment variables for this Component Optional: {}
podLabels object (keys:string, values:string) Additional labels for this Component’s pod(s).
Label keys can’t be of the form “app”, “component”, “astarte-”, “flow-
Optional: {}
autoscaler AstarteGenericClusteredResourceAutoscalerSpec Autoscaling resources for this deployment/statefulset.
If autoscaling is enabled, this will take precedence over the “Replicas” field.
Optional: {}
priorityClass string The PriorityClass for this component.
Must be one of “high”, “mid”, “low” or unspecified.
Ignored if astartePodPriorities is not enabled.
Enum: [high mid low ]
Optional: {}
livenessProbe Probe Override the default Liveness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
readinessProbe Probe Override the default Readiness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
startupProbe Probe Override the default Startup probe for this component.
If not set, no startup probe is configured by default.
Optional: {}
disableAuthentication boolean Optional: {}
maxResultsLimit integer Minimum: 100
Optional: {}
roomEventsQueueName string Configures the name of the Room Events queue. Should be configured only in installations with a highly
customized RabbitMQ. It is advised to leave empty unless you know exactly what you’re doing.
Optional: {}
roomEventsExchangeName string Configures the name of the Room Events exchange. Should be configured only in installations with a highly
customized RabbitMQ. It is advised to leave empty unless you know exactly what you’re doing.
Optional: {}

AstarteCFSSLCARootConfigSigningCAConstraintSpec #

Appears in:

Field Description Default Validation
max_path_len integer
is_ca boolean
max_path_len_zero boolean

AstarteCFSSLCARootConfigSigningDefaultSpec #

Appears in:

Field Description Default Validation
usages string array
expiry string
ca_constraint AstarteCFSSLCARootConfigSigningCAConstraintSpec

AstarteCFSSLCARootConfigSpec #

Appears in:

Field Description Default Validation
signingDefault AstarteCFSSLCARootConfigSigningDefaultSpec

AstarteCFSSLCSRRootCAKeySpec #

Appears in:

Field Description Default Validation
algo string
size integer

AstarteCFSSLCSRRootCANamesSpec #

Appears in:

Field Description Default Validation
C string
L string
O string
OU string
ST string

AstarteCFSSLCSRRootCASpec #

Appears in:

Field Description Default Validation
CN string
key AstarteCFSSLCSRRootCAKeySpec
names AstarteCFSSLCSRRootCANamesSpec array
expiry string

AstarteCFSSLDBConfigSpec #

Appears in:

Field Description Default Validation
driver string
dataSource string

AstarteCFSSLSpec #

Appears in:

Field Description Default Validation
deploy boolean Optional: {}
url string Optional: {}
caExpiry string Optional: {}
caSecret LocalObjectReference Optional: {}
certificateExpiry string Optional: {}
dbConfig AstarteCFSSLDBConfigSpec Optional: {}
resources ResourceRequirements Compute Resources for this Component. Optional: {}
version string Optional: {}
image string Optional: {}
storage AstartePersistentStorageSpec Optional: {}
csrRootCa AstarteCFSSLCSRRootCASpec Optional: {}
caRootConfig AstarteCFSSLCARootConfigSpec Optional: {}
podLabels object (keys:string, values:string) Additional labels for this Component’s pod(s).
Label keys can’t be of the form “app”, “component”, “astarte-”, “flow-
Optional: {}
priorityClass string The PriorityClass for this component.
Must be one of “high”, “mid”, “low” or unspecified.
Ignored if astartePodPriorities is not enabled.
Enum: [high mid low ]
Optional: {}
livenessProbe Probe Override the default Liveness probe for CFSSL.
If not set, a default HTTP GET probe is configured to check the /api/v1/cfssl/health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
readinessProbe Probe Override the default Readiness probe for CFSSL.
If not set, a default HTTP GET probe is configured to check the /api/v1/cfssl/health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
startupProbe Probe Override the default Startup probe for CFSSL.
If not set, no startup probe is configured by default.
Optional: {}

AstarteCassandraConnectionSpec #

Appears in:

Field Description Default Validation
sslConfiguration GenericSSLConfigurationSpec Optional: {}
credentialsSecret LoginCredentialsSecret The secret containing Username and Password to login.
Either this field or connectionStringSecret must be set.
Optional: {}
connectionStringSecret ConnectionStringSecret The secret containing a connection string to the service.
Either this field or credentialsSecret must be set.
put as-is in the env. Therefore, setting this field is a no-op.
Not using credentialsSecret WILL break your Astarte instance.
Optional: {}
nodes HostAndPort array
poolSize integer Optional: {}
enableKeepalive boolean Enable or disable the keepalive option for the xandra connection.
Default: true
Optional: {}

AstarteCassandraSpec #

Appears in:

Field Description Default Validation
connection AstarteCassandraConnectionSpec Required: {}
astarteSystemKeyspace AstarteSystemKeyspaceSpec Optional: {}

AstarteClusterHealth #

Underlying type: string

AstarteClusterHealth represents the overall health of the cluster

Appears in:

Field Description
red AstarteClusterHealthRed means the cluster is experiencing serious malfunctions or is down
yellow AstarteClusterHealthYellow means the cluster is experiencing downtimes related to a single service
green AstarteClusterHealthGreen means the cluster is healthy, up and running

AstarteComponentsSpec #

Appears in:

Field Description Default Validation
resources ResourceRequirements Compute Resources for this Component. Optional: {}
flow AstarteGenericAPIComponentSpec Optional: {}
housekeeping AstarteGenericAPIComponentSpec Optional: {}
realmManagement AstarteGenericAPIComponentSpec Optional: {}
pairing AstarteGenericAPIComponentSpec Optional: {}
dataUpdaterPlant AstarteDataUpdaterPlantSpec Optional: {}
appengineApi AstarteAppengineAPISpec Optional: {}
triggerEngine AstarteTriggerEngineSpec Optional: {}
dashboard AstarteDashboardSpec Optional: {}

AstarteDashboardConfigAuthSpec #

Appears in:

Field Description Default Validation
type string
oauth_api_url string Optional: {}

AstarteDashboardConfigSpec #

Appears in:

Field Description Default Validation
realmManagementApiUrl string Optional: {}
appEngineApiUrl string Optional: {}
pairingApiUrl string Optional: {}
flowApiUrl string Optional: {}
defaultRealm string Optional: {}
defaultAuth string Optional: {}
auth AstarteDashboardConfigAuthSpec array Optional: {}

AstarteDashboardSpec #

Appears in:

Field Description Default Validation
deploy boolean Optional: {}
replicas integer Optional: {}
antiAffinity boolean Optional: {}
customAffinity Affinity Optional: {}
deploymentStrategy DeploymentStrategy Optional: {}
version string Optional: {}
image string Optional: {}
imagePullPolicy PullPolicy Optional: {}
imagePullSecrets LocalObjectReference array Optional: {}
resources ResourceRequirements Compute Resources for this Component. Optional: {}
additionalEnv EnvVar array Additional environment variables for this Component Optional: {}
podLabels object (keys:string, values:string) Additional labels for this Component’s pod(s).
Label keys can’t be of the form “app”, “component”, “astarte-”, “flow-
Optional: {}
autoscaler AstarteGenericClusteredResourceAutoscalerSpec Autoscaling resources for this deployment/statefulset.
If autoscaling is enabled, this will take precedence over the “Replicas” field.
Optional: {}
priorityClass string The PriorityClass for this component.
Must be one of “high”, “mid”, “low” or unspecified.
Ignored if astartePodPriorities is not enabled.
Enum: [high mid low ]
Optional: {}
livenessProbe Probe Override the default Liveness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
readinessProbe Probe Override the default Readiness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
startupProbe Probe Override the default Startup probe for this component.
If not set, no startup probe is configured by default.
Optional: {}
realmManagementApiUrl string Optional: {}
appEngineApiUrl string Optional: {}
pairingApiUrl string Optional: {}
flowApiUrl string Optional: {}
defaultRealm string Optional: {}
defaultAuth string Optional: {}
auth AstarteDashboardConfigAuthSpec array Optional: {}

AstarteDataUpdaterPlantSpec #

Appears in:

Field Description Default Validation
deploy boolean Optional: {}
replicas integer Optional: {}
antiAffinity boolean Optional: {}
customAffinity Affinity Optional: {}
deploymentStrategy DeploymentStrategy Optional: {}
version string Optional: {}
image string Optional: {}
imagePullPolicy PullPolicy Optional: {}
imagePullSecrets LocalObjectReference array Optional: {}
resources ResourceRequirements Compute Resources for this Component. Optional: {}
additionalEnv EnvVar array Additional environment variables for this Component Optional: {}
podLabels object (keys:string, values:string) Additional labels for this Component’s pod(s).
Label keys can’t be of the form “app”, “component”, “astarte-”, “flow-
Optional: {}
autoscaler AstarteGenericClusteredResourceAutoscalerSpec Autoscaling resources for this deployment/statefulset.
If autoscaling is enabled, this will take precedence over the “Replicas” field.
Optional: {}
priorityClass string The PriorityClass for this component.
Must be one of “high”, “mid”, “low” or unspecified.
Ignored if astartePodPriorities is not enabled.
Enum: [high mid low ]
Optional: {}
livenessProbe Probe Override the default Liveness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
readinessProbe Probe Override the default Readiness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
startupProbe Probe Override the default Startup probe for this component.
If not set, no startup probe is configured by default.
Optional: {}
dataQueueCount integer Optional: {}
prefetchCount integer Controls the prefetch count for Data Updater Plant. When fine-tuning Astarte, this parameter
can make a difference for what concerns Data Updater Plant ingestion performance. However,
it can also degrade performance significantly and/or increase risk of data loss when misconfigured.
Configure this value only if you know what you’re doing and you have experience with RabbitMQ.
Defaults to 300
Optional: {}

AstarteFeatures #

AstarteFeatures enables/disables selectively a set of global features in Astarte

Appears in:

Field Description Default Validation
realmDeletion boolean Optional: {}
autoscaling boolean Optional: {}
astartePodPriorities AstartePodPrioritiesSpec Optional: {}

AstarteGenericAPIComponentSpec #

Appears in:

Field Description Default Validation
deploy boolean Optional: {}
replicas integer Optional: {}
antiAffinity boolean Optional: {}
customAffinity Affinity Optional: {}
deploymentStrategy DeploymentStrategy Optional: {}
version string Optional: {}
image string Optional: {}
imagePullPolicy PullPolicy Optional: {}
imagePullSecrets LocalObjectReference array Optional: {}
resources ResourceRequirements Compute Resources for this Component. Optional: {}
additionalEnv EnvVar array Additional environment variables for this Component Optional: {}
podLabels object (keys:string, values:string) Additional labels for this Component’s pod(s).
Label keys can’t be of the form “app”, “component”, “astarte-”, “flow-
Optional: {}
autoscaler AstarteGenericClusteredResourceAutoscalerSpec Autoscaling resources for this deployment/statefulset.
If autoscaling is enabled, this will take precedence over the “Replicas” field.
Optional: {}
priorityClass string The PriorityClass for this component.
Must be one of “high”, “mid”, “low” or unspecified.
Ignored if astartePodPriorities is not enabled.
Enum: [high mid low ]
Optional: {}
livenessProbe Probe Override the default Liveness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
readinessProbe Probe Override the default Readiness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
startupProbe Probe Override the default Startup probe for this component.
If not set, no startup probe is configured by default.
Optional: {}
disableAuthentication boolean Optional: {}

AstarteGenericClusteredResource #

Appears in:

Field Description Default Validation
deploy boolean Optional: {}
replicas integer Optional: {}
antiAffinity boolean Optional: {}
customAffinity Affinity Optional: {}
deploymentStrategy DeploymentStrategy Optional: {}
version string Optional: {}
image string Optional: {}
imagePullPolicy PullPolicy Optional: {}
imagePullSecrets LocalObjectReference array Optional: {}
resources ResourceRequirements Compute Resources for this Component. Optional: {}
additionalEnv EnvVar array Additional environment variables for this Component Optional: {}
podLabels object (keys:string, values:string) Additional labels for this Component’s pod(s).
Label keys can’t be of the form “app”, “component”, “astarte-”, “flow-
Optional: {}
autoscaler AstarteGenericClusteredResourceAutoscalerSpec Autoscaling resources for this deployment/statefulset.
If autoscaling is enabled, this will take precedence over the “Replicas” field.
Optional: {}
priorityClass string The PriorityClass for this component.
Must be one of “high”, “mid”, “low” or unspecified.
Ignored if astartePodPriorities is not enabled.
Enum: [high mid low ]
Optional: {}
livenessProbe Probe Override the default Liveness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
readinessProbe Probe Override the default Readiness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
startupProbe Probe Override the default Startup probe for this component.
If not set, no startup probe is configured by default.
Optional: {}

AstarteGenericClusteredResourceAutoscalerSpec #

Appears in:

Field Description Default Validation
horizontal string Name of the HorizontalPodAutoscaler for this deployment/statefulset.
This will take precedence over the “Replicas” field of the parent Astarte component.
Optional: {}

AstarteList #

AstarteList contains a list of Astarte

Field Description Default Validation
apiVersion string api.astarte-platform.org/v2alpha1
kind string AstarteList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Astarte array

AstartePersistentStorageSpec #

Appears in:

Field Description Default Validation
size Quantity Optional: {}
className string Optional: {}
volumeDefinition Volume Optional: {}

AstartePodPrioritiesSpec #

AstartePodPriorities allows to set different priorityClasses for Astarte pods. Note that enabling this feature might generate some counter-intuitive scheduling beahaviour if not done properly.

Appears in:

Field Description Default Validation
enable boolean Optional: {}
astarteHighPriority integer The value of the highest PriorityClass for Astarte pods.
Once the value is set, updating it will not have effect.
1000 Minimum: 0
Optional: {}
astarteMidPriority integer The value of the medium PriorityClass for Astarte pods.
Once the value is set, updating it will not have effect.
100 Minimum: 0
Optional: {}
astarteLowPriority integer The value of the least PriorityClass for Astarte pods.
Once the value is set, updating it will not have effect.
10 Minimum: 0
Optional: {}

AstarteRabbitMQConnectionSpec #

Appears in:

Field Description Default Validation
host string MinLength: 1
Required: {}
port integer Maximum: 65535
Minimum: 1
Required: {}
sslConfiguration GenericSSLConfigurationSpec Optional: {}
credentialsSecret LoginCredentialsSecret The secret containing Username and Password to login.
Either this field or connectionStringSecret must be set.
Optional: {}
connectionStringSecret ConnectionStringSecret The secret containing a connection string to the service.
Either this field or credentialsSecret must be set.
put as-is in the env. Therefore, setting this field is a no-op.
Not using credentialsSecret WILL break your Astarte instance.
Optional: {}
virtualHost string Optional: {}

AstarteRabbitMQSpec #

Appears in:

Field Description Default Validation
connection AstarteRabbitMQConnectionSpec Required: {}
dataQueuesPrefix string Configures the data queues prefix on RabbitMQ. You should change this setting only
in custom RabbitMQ installations.
Optional: {}
eventsExchangeName string Configures the events exchange name on RabbitMQ. You should change this setting only
in custom RabbitMQ installations.
Optional: {}

AstarteSpec #

AstarteSpec defines the desired state of Astarte

Appears in:

Field Description Default Validation
version string The Astarte Version for this Resource
features AstarteFeatures Optional: {}
imagePullPolicy PullPolicy IfNotPresent Optional: {}
imagePullSecrets LocalObjectReference array Optional: {}
distributionChannel string The distribution channel for astarte images. This setting can be overridden by explicitly
setting the ‘image’ value for each service. Defaults to “astarte”.
astarte Optional: {}
deploymentStrategy DeploymentStrategy Optional: {}
storageClassName string Optional: {}
api AstarteAPISpec
rabbitmq AstarteRabbitMQSpec Optional: {}
cassandra AstarteCassandraSpec Optional: {}
vernemq AstarteVerneMQSpec
cfssl AstarteCFSSLSpec Optional: {}
components AstarteComponentsSpec Optional: {}
astarteInstanceID string AstarteInstanceID is the unique ID that is associated with an Astarte instance. This parameter
is used to let different Astarte instances employ a shared database infrastructure.
Once set, the AstarteInstanceID cannot be changed. Defaults to “”.
Optional: {}
Pattern: ^[a-z]?[a-z0-9]\{0,47\}$
manualMaintenanceMode boolean ManualMaintenanceMode pauses all reconciliation activities but still computes the resource
status. It should be used only when the managed Astarte resources requires manual intervention
and the Operator cannot break out of the problem by itself. Do not set this field unless you
know exactly what you are doing.
false Optional: {}

AstarteStatus #

AstarteStatus defines the observed state of Astarte

Appears in:

Field Description Default Validation
phase ReconciliationPhase
astarteVersion string
operatorVersion string
health AstarteClusterHealth
baseAPIURL string
brokerURL string

AstarteSystemKeyspaceSpec #

AstarteSystemKeyspaceSpec configures the ScyllaDB/Cassandra keyspace for Astarte.

By configuring these fields, you control the replication strategy, replication factor, and (for multi-datacenter deployments) the replica distribution per datacenter. These settings take effect only upon keyspace creation.

Fields:

  • ReplicationStrategy chooses the replication strategy for the keyspace.
  • ReplicationFactor (for SimpleStrategy or for default replication factor with NetworkTopologyStrategy).
  • DataCenterReplication (for flexible NetworkTopologyStrategy configurations).

Appears in:

Field Description Default Validation
replicationStrategy string ReplicationStrategy specifies the Cassandra/ScyllaDB replication strategy for the keyspace.
Must be either “SimpleStrategy” or “NetworkTopologyStrategy” (for production deployments and/or
multi-datacenter deployments).
Defaults to “SimpleStrategy”.
SimpleStrategy Enum: [SimpleStrategy NetworkTopologyStrategy]
replicationFactor integer ReplicationFactor sets the total number of replicas for the keyspace when using SimpleStrategy.
This field is ignored if ReplicationStrategy is set to NetworkTopologyStrategy.
Must be at least 1. Must be odd. Defaults to 1.
1 Minimum: 1
Optional: {}
dataCenterReplication string DataCenterReplication specifies custom replication factors per datacenter when using NetworkTopologyStrategy.
If set, this string must be a comma-separated list of : entries
(e.g., “dc1:3,dc2:5”). must be odd.
This field is ignored if ReplicationStrategy is set to SimpleStrategy.
Optional: {}

AstarteTriggerEngineSpec #

Appears in:

Field Description Default Validation
deploy boolean Optional: {}
replicas integer Optional: {}
antiAffinity boolean Optional: {}
customAffinity Affinity Optional: {}
deploymentStrategy DeploymentStrategy Optional: {}
version string Optional: {}
image string Optional: {}
imagePullPolicy PullPolicy Optional: {}
imagePullSecrets LocalObjectReference array Optional: {}
resources ResourceRequirements Compute Resources for this Component. Optional: {}
additionalEnv EnvVar array Additional environment variables for this Component Optional: {}
podLabels object (keys:string, values:string) Additional labels for this Component’s pod(s).
Label keys can’t be of the form “app”, “component”, “astarte-”, “flow-
Optional: {}
autoscaler AstarteGenericClusteredResourceAutoscalerSpec Autoscaling resources for this deployment/statefulset.
If autoscaling is enabled, this will take precedence over the “Replicas” field.
Optional: {}
priorityClass string The PriorityClass for this component.
Must be one of “high”, “mid”, “low” or unspecified.
Ignored if astartePodPriorities is not enabled.
Enum: [high mid low ]
Optional: {}
livenessProbe Probe Override the default Liveness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
readinessProbe Probe Override the default Readiness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
startupProbe Probe Override the default Startup probe for this component.
If not set, no startup probe is configured by default.
Optional: {}
eventsQueueName string Configures the name of the Events queue. Should be configured only in installations with a highly
customized RabbitMQ. It is advised to leave empty unless you know exactly what you’re doing.
Optional: {}
eventsRoutingKey string Configures the routing key for Trigger Events. Should be configured only in installations
with a highly customized RabbitMQ and a custom Trigger Engine setup. It is advised to leave
empty unless you know exactly what you’re doing, misconfiguring this value can cause heavy
breakage within Trigger Engine.
Optional: {}

AstarteVerneMQSpec #

Appears in:

Field Description Default Validation
deploy boolean Optional: {}
replicas integer Optional: {}
antiAffinity boolean Optional: {}
customAffinity Affinity Optional: {}
deploymentStrategy DeploymentStrategy Optional: {}
version string Optional: {}
image string Optional: {}
imagePullPolicy PullPolicy Optional: {}
imagePullSecrets LocalObjectReference array Optional: {}
resources ResourceRequirements Compute Resources for this Component. Optional: {}
additionalEnv EnvVar array Additional environment variables for this Component Optional: {}
podLabels object (keys:string, values:string) Additional labels for this Component’s pod(s).
Label keys can’t be of the form “app”, “component”, “astarte-”, “flow-
Optional: {}
autoscaler AstarteGenericClusteredResourceAutoscalerSpec Autoscaling resources for this deployment/statefulset.
If autoscaling is enabled, this will take precedence over the “Replicas” field.
Optional: {}
priorityClass string The PriorityClass for this component.
Must be one of “high”, “mid”, “low” or unspecified.
Ignored if astartePodPriorities is not enabled.
Enum: [high mid low ]
Optional: {}
livenessProbe Probe Override the default Liveness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
readinessProbe Probe Override the default Readiness probe for this component.
If not set, a default HTTP GET probe is configured to check the /health endpoint on the http port.
Default settings: InitialDelaySeconds=10, TimeoutSeconds=5, PeriodSeconds=30, FailureThreshold=5 (15 for Housekeeping).
Note: VerneMQ uses different defaults: /metrics endpoint on port 8888, InitialDelaySeconds=60, PeriodSeconds=20, FailureThreshold=3.
Optional: {}
startupProbe Probe Override the default Startup probe for this component.
If not set, no startup probe is configured by default.
Optional: {}
host string MinLength: 1
Required: {}
port integer Maximum: 65535
Minimum: 1
Required: {}
caSecret string Optional: {}
storage AstartePersistentStorageSpec Optional: {}
deviceHeartbeatSeconds integer Controls the device heartbeat from the broker to Astarte. The heartbeat is sent periodically
to prevent Astarte from keeping up stale connections from Devices in case the broker misbehaves
and does not send disconnection events. You should usually not tweak this value. Moreover, keep
in mind that when a lot of devices are connected simultaneously, having a short heartbeat time
might cause performance issues. Defaults to an hour.
Optional: {}
maxOfflineMessages integer The maximum number of QoS 1 or 2 messages to hold in the offline queue.
Defaults to 1000000. Set to -1 for no maximum (not recommended). Set to 0
if no messages should be stored offline.
Optional: {}
persistentClientExpiration string This option allows persistent clients ( = clean session set to
false) to be removed if they do not reconnect within ‘persistent_client_expiration’.
This is a non-standard option. As far as the MQTT specification is concerned,
persistent clients persist forever.
The expiration period should be an integer followed by one of ’d’, ‘w’, ’m’, ‘y’ for
day, week, month, and year.
Default: 1 year
Optional: {}
mirrorQueue string Optional: {}
sslListener boolean This option allows, when true, to handle SSL termination at VerneMQ level.
Default: false
Optional: {}
sslListenerCertSecretName string Reference the name of the secret containing the TLS certificate for VerneMQ.
The secret must be present in the same namespace in which Astarte resides.
The field will be used only if SSLListener is set to true.
Optional: {}

ConnectionStringSecret #

Appears in:

Field Description Default Validation
name string MinLength: 1
key string MinLength: 1

GenericConnectionSpec #

Appears in:

Field Description Default Validation
sslConfiguration GenericSSLConfigurationSpec Optional: {}
credentialsSecret LoginCredentialsSecret The secret containing Username and Password to login.
Either this field or connectionStringSecret must be set.
Optional: {}
connectionStringSecret ConnectionStringSecret The secret containing a connection string to the service.
Either this field or credentialsSecret must be set.
put as-is in the env. Therefore, setting this field is a no-op.
Not using credentialsSecret WILL break your Astarte instance.
Optional: {}

GenericSSLConfigurationSpec #

Appears in:

Field Description Default Validation
enable boolean Optional: {}
customCASecret LocalObjectReference Optional: {}
sni boolean Optional: {}
customSNI string Optional: {}

HostAndPort #

Appears in:

Field Description Default Validation
host string MinLength: 1
Required: {}
port integer Maximum: 65535
Minimum: 1
Required: {}

LoginCredentialsSecret #

Appears in:

Field Description Default Validation
name string MinLength: 1
usernameKey string MinLength: 1
passwordKey string MinLength: 1

ReconciliationPhase #

Underlying type: string

ReconciliationPhase describes the reconciliation phase the Resource is in

Appears in:

Field Description
`` ReconciliationPhaseUnknown represents an Unknown Phase of the Resource. When in this state, it might
have never been reconciled
Reconciling ReconciliationPhaseReconciling means the Resource is currently in the process of being reconciled
Upgrading ReconciliationPhaseUpgrading means the Resource is currently in the process of being upgraded to a new Astarte version.
When successful, the Resource will transition to ReconciliationPhaseReconciling
Reconciled ReconciliationPhaseReconciled means the Resource is currently reconciled and stable. The resource should stay in this
state for most of the time.
Disabled, in Manual Maintenance Mode ReconciliationPhaseManualMaintenanceMode means the Resource is currently not being reconciled as the resource is in
Manual Maintenance Mode. This happens only when the user explicitly requires that.
Failed ReconciliationPhaseFailed means the Resource failed to reconcile. If this state persists, a manual intervention
might be necessary.

flow.astarte-platform.org/v2alpha1 #

Package v2alpha1 contains API Schema definitions for the flow v2alpha1 API group

Resource Types #

BlockWorker #

BlockWorker defines a Worker for a Container Block

Appears in:

Field Description Default Validation
id string
dataProvider DataProvider

ContainerBlockSpec #

ContainerBlockSpec defines a Container Block in a Flow

Appears in:

Field Description Default Validation
id string
image string
imagePullSecrets LocalObjectReference array Optional: {}
environment EnvVar array Optional: {}
resources ResourceRequirements Optional: {}
config string Configuration represents the JSON string carrying the user configuration for this block
workers BlockWorker array MinItems: 1

DataProvider #

DataProvider is a struct which defines which Data Providers (e.g. Brokers) are available for a Worker

Appears in:

Field Description Default Validation
rabbitmq RabbitMQDataProvider Optional: {}

Flow #

Flow is the Schema for the flows API

Appears in:

Field Description Default Validation
apiVersion string flow.astarte-platform.org/v2alpha1
kind string Flow
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec FlowSpec
status FlowStatus

FlowList #

FlowList contains a list of Flow

Field Description Default Validation
apiVersion string flow.astarte-platform.org/v2alpha1
kind string FlowList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Flow array

FlowSpec #

FlowSpec defines the desired state of Flow

Appears in:

Field Description Default Validation
astarte LocalObjectReference
astarteRealm string
nativeBlocks integer Defines the amount of non-container blocks in the Flow
nativeBlocksResources ResourceList Defines the overall resources consumed by Native Blocks
flowPool LocalObjectReference EE Only: Defines the Flow Pool in which the Flow will be allocated.
blocks ContainerBlockSpec array

FlowState #

Underlying type: string

FlowState describes the global state of a Flow

Appears in:

Field Description
`` FlowStateUnknown represents an Unknown State of the Flow. When in this state, it might
have never been reconciled.
Unstable FlowStateUnstable means the Flow is either reconciling or restarting some of its blocks.
It usually transitions to this State before moving to Flowing.
Unhealthy FlowStateUnhealthy means the Flow is currently having some non-transient or unrecoverable errors.
Manual intervention might be required.
Flowing FlowStateFlowing means the Flow is currently active and all of its blocks are stable. A healthy flow should stay
in this state for most of its lifecycle.

FlowStatus #

FlowStatus defines the observed state of Flow

Appears in:

Field Description Default Validation
state FlowState State defines the overall state of the Flow
totalContainerBlocks integer Represents the total number of the Container Blocks in the Flow
readyContainerBlocks integer Represents the total number of Ready Container Blocks in the Flow. In a healthy Flow,
this matches the number of Total Container Blocks.
resources ResourceList The overall resources allocated in the cluster for this Block
failingContainerBlocks integer Represents the total number of Container Blocks with non temporary failures. Present only
if any of the Blocks is in such state. When present, manual intervention is most likely required.
Optional: {}
unrecoverableFailures ContainerState array UnrecoverableFailures lists all the ContainerStates of failing containers, for further inspection. Optional: {}

RabbitMQConfig #

RabbitMQConfig represents configuration for RabbitMQ

Appears in:

Field Description Default Validation
host string
port integer Maximum: 65535
Minimum: 1
Optional: {}
ssl boolean Optional: {}
username string
password string

RabbitMQDataProvider #

RabbitMQDataProvider is a representation of a Data Provider based upon RabbitMQ

Appears in:

Field Description Default Validation
queues string array Optional: {}
exchange RabbitMQExchange Optional: {}
rabbitmq RabbitMQConfig RabbitMQConfig is an optional field which allows to specify configuration for an external RabbitMQ
broker. If not specified, Astarte’s main Broker will be used.
Optional: {}

RabbitMQExchange #

RabbitMQExchange is a representation of a RabbitMQ Exchange

Appears in:

Field Description Default Validation
name string
routingKey string

ingress.astarte-platform.org/v2alpha1 #

Package v2alpha1 contains API Schema definitions for the ingress v2alpha1 API group

Resource Types #

AstarteDefaultIngress #

AstarteDefaultIngress is the Schema for the astartedefaultingresses API

Appears in:

Field Description Default Validation
apiVersion string ingress.astarte-platform.org/v2alpha1
kind string AstarteDefaultIngress
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec AstarteDefaultIngressSpec
status AstarteDefaultIngressStatus

AstarteDefaultIngressAPISpec #

AstarteDefaultIngressAPISpec defines how the Astarte APIs are served.

Appears in:

Field Description Default Validation
deploy boolean When true, deploy the API ingress.
tlsSecret string The secret containing the TLS certificates and keys used to access the Astarte API. The secret
must be present in the namespace in which Astarte resides. If set, this secret overrides the TLSSecret
field contained in AstarteDefaultIngressSpec.
cors boolean When true, enable Cross-Origin Resource Sharing (CORS). Default: false.
exposeHousekeeping boolean When true, the housekeeping endpoint is publicly exposed. Default: true.

AstarteDefaultIngressBrokerSpec #

AstarteDefaultIngressBrokerSpec defines how the Astarte Broker is served.

Appears in:

Field Description Default Validation
deploy boolean When true, expose the Broker.
serviceType ServiceType Set the type of service employed to expose the broker. Supported values are “NodePort” and “LoadBalancer”.
The AstarteDefaultIngress handles TLS termination at VerneMQ level and, as such, no TLSSecret is needed to
configure the broker service.
Default: “LoadBalancer”
kubebuilder:validation:Enum:=LoadBalancer,NodePort
kubebuilder:validation:Default:=LoadBalancer
loadBalancerIP string Set the LoadBalancerIP if and only if the broker service is of type “LoadBalancer”. This feature depends on
whether the cloud provider supports specifying the LoadBalancerIP when a load balancer is created.
serviceAnnotations object (keys:string, values:string) Additional annotations for the service exposing this broker.

AstarteDefaultIngressDashboardSpec #

AstarteDefaultIngressDashboardSpec defines how the Astarte Dashboard is served.

Appears in:

Field Description Default Validation
deploy boolean When true, deploy the Ingress for the Dashboard.
ssl boolean When true, enable TLS authentication for the Dashboard.
host string The host handling requests addressed to the dashboard. When deploy is true and host is not set,
the dashboard will be exposed at the following URL: https:///dashboard.
tlsSecret string The secret containing the TLS certificates and keys used to access the Astarte Dashboard. The secret
must be present in the namespace in which Astarte resides. If set, this secret overrides the TLSSecret
field contained in AstarteDefaultIngressSpec.

AstarteDefaultIngressList #

AstarteDefaultIngressList contains a list of AstarteDefaultIngress

Field Description Default Validation
apiVersion string ingress.astarte-platform.org/v2alpha1
kind string AstarteDefaultIngressList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items AstarteDefaultIngress array

AstarteDefaultIngressSpec #

AstarteDefaultIngressSpec defines the desired state of AstarteDefaultIngress

Appears in:

Field Description Default Validation
astarte string The name of the Astarte instance served by the AstarteDefaultIngress.
ingressClass string In clusters with more than one instance of the Ingress-NGINX controller, all
instances of the controllers must be aware of which Ingress object they must serve.
The ingressClass field of a ingress object is the way to let the controller know about that.
Default: “nginx”.
api AstarteDefaultIngressAPISpec Define the desired state of the AstarteDefaultIngressAPISpec resource.
dashboard AstarteDefaultIngressDashboardSpec Define the desired state of the AstarteDefaultIngressDashboardSpec resource.
broker AstarteDefaultIngressBrokerSpec Define the desired state of the AstarteDefaultIngressBrokerSpec resource.
tlsSecret string The secret containing the TLS certificates and keys used to connect to Astarte. The secret
must be present in the namespace in which Astarte resides and it will be used to authenticate
requests for API and Dashboard. If specific configurations are required,
the TLSSecret can be overridden by setting the secret in any of AstarteDefaultIngressAPISpec
and AstarteDefaultIngressDashboardSpec.

AstarteDefaultIngressStatus #

AstarteDefaultIngressStatus defines the observed state of AstarteDefaultIngress

Appears in:

Field Description Default Validation
api IngressStatus
broker ServiceStatus