astarte-kubernetes-operator

command module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 26, 2022 License: Apache-2.0 Imports: 21 Imported by: 0

README ยถ

Astarte Kubernetes Operator

CI Go Report Card License Docker Pulls

Astarte Kubernetes Operator runs and manages an Astarte Cluster in a Kubernetes Cluster. It is meant to work on any Managed Kubernetes installation, and leverages a number of Kubernetes features to ensure Astarte runs as smooth as possible. It also handles upgrades, monitoring, and more.

Astarte Operator is the foundation of any Astarte installation, and you can find more information about it and how to use it once installed in the Astarte Administration guide.

Getting started

The preferred way to install and manage Astarte Operator leverages its Helm chart.

Astarte Operator requires cert-manager (v1.7+) to be installed in the cluster in its default configuration. If you are using cert-manager in your cluster already you don't need to take any action - otherwise, you will need to install it. A complete overview on prerequisites can be found here.

To install cert-manager simply run:

helm repo add jetstack https://charts.jetstack.io
helm repo update
kubectl create namespace cert-manager
helm install \
  cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --version v1.7.0 \
  --set installCRDs=true

Installing the operator is as simple as:

helm repo add astarte https://helm.astarte-platform.org
helm repo update
helm install astarte-operator astarte/astarte-operator

These instructions will take care of installing all needed components for the Operator to run. This includes all the RBAC roles, Custom Resource Definitions, Webhooks, and the Operator itself.

Moreover, Helm is responsible for upgrading the Astarte Operator. To do so, run:

helm upgrade astarte-operator astarte/astarte-operator

If you are interested in having a deeper understanding on how the Astarte Operator works you should follow the Astarte Administration guide in Astarte's Documentation.

What's next?

Once your Astarte Operator is up and running in your cluster, it will be time to deploy your Astarte instance! All you have to do is Setting up the Cluster as described in Astarte's Documentation.

Kubernetes support

Kubernetes Version Supported Tested by CI
v1.18.x โŒ โŒ
v1.19.x ๐Ÿ”ถ โš  ๐Ÿ”ถ โš 
v1.20.x โœ… โš  โœ… โš 
v1.21.x โœ… โš  โœ… โš 
v1.22.x โœ… โœ…
v1.23.x โœ… โœ…

Key:

  • โœ… : Supported and stable.
  • ๐Ÿ”ถ : Partially supported / known to run in production, but not being targeted by the release.
  • โŒ : Not supported. Run at your own risk.
  • โš  : Kubernetes version supporting AstarteVoyagerIngress. Please, be aware that the AstarteVoyagerIngress is deprecated and the new AstarteDefaultIngress should be used.

Development

Astarte's Operator is written in Go and built upon Operator SDK. It depends on Go 1.15.x, requires Go Modules and Kubernetes v1.20+.

The project is built with kustomize v3.8.7 and controller-gen v0.5.0.

Documentation ยถ

The Go Gopher

There is no documentation for this package.

Directories ยถ

Path Synopsis
apis
api/v1alpha1
Package v1alpha1 contains API Schema definitions for the api v1alpha1 API group +kubebuilder:object:generate=true +groupName=api.astarte-platform.org
Package v1alpha1 contains API Schema definitions for the api v1alpha1 API group +kubebuilder:object:generate=true +groupName=api.astarte-platform.org
api/v1alpha2
Package v1alpha2 contains API Schema definitions for the api v1alpha2 API group +kubebuilder:object:generate=true +groupName=api.astarte-platform.org
Package v1alpha2 contains API Schema definitions for the api v1alpha2 API group +kubebuilder:object:generate=true +groupName=api.astarte-platform.org
ingress/v1alpha1
Package v1alpha1 contains API Schema definitions for the ingress v1alpha1 API group +kubebuilder:object:generate=true +groupName=ingress.astarte-platform.org
Package v1alpha1 contains API Schema definitions for the ingress v1alpha1 API group +kubebuilder:object:generate=true +groupName=ingress.astarte-platform.org
controllers
api
external
lib
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL