View Source 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. The current page focuses on the deployment of the Voyager based AstarteVoyagerIngress.

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

creating-an-astartevoyageringress

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:

apiVersion: api.astarte-platform.org/v1alpha1
kind: AstarteVoyagerIngress
metadata:
  name: example-minimal
  namespace: astarte
spec:
  # The Astarte Instance the Ingress will be attached to
  astarte: example-minimal
  api:
    exposeHousekeeping: true
  dashboard:
    ssl: true
    host: "dashboard.astarte.yourdomain.com" # When not specified, dashboard will be deployed in /dashboard in the API host.
  letsencrypt:
    use: true
    acmeEmail: info@yourdomain.com
    challengeProvider:
      dns:
        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

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

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 api.astarte.yourdomain.com:

further-customization

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.