View Source Upgrade v26.5.x-v26.7.x
This page describes the required steps to upgrade your Astarte cluster from v26.5.x to v26.7.x. The Astarte Operator v26.7.x introduces support for Astarte 1.4.0, which includes mandatory FDO and Vault configuration. See the Astarte CHANGELOG to inspect what's changed in Astarte itself.
[!WARNING] To use Astarte
v1.4.x, you must upgrade your Astarte Operator tov26.7.x.
- Starting from Astarte
v1.4.0, FDO (FIDO Device Onboard) is mandatory and can no longer be disabled. If your Astarte CR explicitly setsspec.fdo.enable: false, you must remove or change it before upgrading. - Starting from Astarte
v1.4.0, a Vault configuration must be provided through thespec.vaultfield in the Astarte CR.
fdo-mandatory-enforcement
FDO mandatory enforcement
In Astarte 1.3, FDO was an opt-in feature controlled via the spec.fdo.enable field. Starting from Astarte 1.4.0, FDO is always enabled and cannot be turned off.
The operator enforces this requirement through multiple layers, ensuring no Astarte 1.4+ instance runs without FDO:
- Defaulting webhook: when
spec.fdois not set at all on an Astarte version >= 1.4.0, the mutating webhook automatically setsspec.fdo.enable: true. If you leave the field unset, the operator handles it for you. - Validating webhook: explicitly setting
spec.fdo.enable: falseon an Astarte version >= 1.4.0 is rejected at admission time. You will see an error like "FDO must be enabled for Astarte version 1.4.0 and above" when applying the CR.
The spec.fdo.enable field is kept for backward compatibility with Astarte 1.3.x, where FDO remains optional. If you are running Astarte 1.4.0 or later, simply ensure the field is either unset or explicitly set to true.
Along with FDO, a spec.fdo.rendezvousServer block is now required. The webhook validates this at admission time and will reject a CR that enables FDO without providing rendezvous server configuration.
[!WARNING] The Rendezvous Servers is now an external prerequisites. Its deployment is NOT handled by the Astarte Operator itself.
vault-configuration-requirement
Vault configuration requirement
Starting from Astarte 1.4.0, the spec.vault field is required in the Astarte CR. The validating webhook rejects any CR with version >= 1.4.0 that does not include a Vault configuration block. Ensure you have a HashiCorp Vault or OpenBao instance running and provide the connection details in your Astarte CR before upgrading to v1.4.x.
[!WARNING] An HashiCorp Vault or OpenBao instance is now an external prerequisites. Its deployment is NOT handled by the Astarte Operator itself.
metrics-configuration-support
Metrics configuration support
Starting from Astarte Operator v26.7.0, the operator can expose Prometheus metrics. Metrics are disabled by default and can be enabled through Helm values:
metrics.enable: set totrueto enable the metrics endpoint (defaultfalse).metrics.port: the port to expose metrics on (default8443).metrics.secure: whether to serve metrics over HTTPS (defaulttrue). Set tofalseto use HTTP.
When metrics are enabled, the operator exposes a /metrics endpoint on the configured port, ready to be scraped by Prometheus.
upgrade-astarte-operator
Upgrade Astarte Operator
The Astarte Operator upgrade procedure is handled by Helm.
The current section assumes that the Operator's chart landing version is v26.7.x. It is your responsibility referencing the proper v26.7.x chart using the --version flag when running helm commands.