Setting up the Astarte Voyager Ingress

IMPORTANT: Due to changes in Voyager policies and to the announcement that, starting from Dec 31st 2021, it will not possible to pull older Voyager docker images the Astarte Voyager Ingress is deprecated and will be dropped in a future release (i.e.: v1.1). Please, consider using the NGINX based drop-in replacement for Astarte called AstarteDefaultIngress.

Once your Cluster is up and running, to expose it to the outer world you need to set up an Ingress. Currently, the only managed and supported Ingress is based upon Voyager, and this guide will cover only this specific case.

Of course, ensure you have installed Voyager Operator before you begin.

Creating an AstarteVoyagerIngress

Most information needed for exposing your Ingress have already been given in your main Astarte resource. If your Kubernetes installation supports LoadBalancer ingresses (most managed ones do), you should be able to get away with the most standard CR:

kind: AstarteVoyagerIngress
  name: example-minimal
  namespace: astarte
  # The Astarte Instance the Ingress will be attached to
  astarte: example-minimal
    exposeHousekeeping: true
    ssl: true
    host: "" # When not specified, dashboard will be deployed in /dashboard in the API host.
    use: true
        provider: digitalocean
        credentialSecretName: voyager-digitalocean

As you might see, there's only one very important thing to be noted: the astarte field must reference the name of an existing Astarte installation in the same namespace, and the Ingress will be configured and attached to that instance.

SSL and Certificates

Astarte heavily requires SSL in a number of interactions, even though this can be bypassed with ssl: false. If you do not have any SSL Certificates for your domains, you can leverage Voyager's Let's Encrypt integration. AstarteVoyagerIngress integrates directly with Voyager's native types, and you can follow along Voyager's Let's Encrypt guide. Simply set letsencrypt.use to true, and fill the challengeProvider with the right parameters.

API Paths

AstarteVoyagerIngress deploys a well-known tree of APIs to the host you specified in the main Astarte resource. In particular, assuming your API host was

Further customization

AstarteVoyagerIngress has a number of advanced options that can be used to accommodate needs of the most diverse deployments. Consult the CRD Documentation to learn more.