Prerequisites & requirements
Check this list before you install.
Cluster
- A conformant Kubernetes cluster: EKS, AKS, GKE, RKE2/Rancher, OpenShift or similar. Docker Desktop and Rancher Desktop are for light testing only.
- A kube context for it. List contexts with
kubectl config get-contexts. - For production: a highly available cluster with several worker nodes, a replicated control plane and redundant persistent storage.
- A default StorageClass. If the cluster has none, set
storageClassinlocal-env.yamlbefore the first install. You cannot change it later. See Storage and S3. - Cluster-admin rights for the installer. It creates cluster-level objects. If the cluster already runs Prometheus, Loki or cert-manager, or another Octostar install, read Shared clusters first.
⚠️ Production requirement — Do not use a single-node or desktop cluster for production or performance evaluation.
Resources
| Resource | Minimum |
|---|---|
| CPU | 24 cores |
| Memory | 96 GB RAM |
| Storage | 1 TB NVMe |
These are minimums. Production clusters must be larger. Too little memory is the most common cause of failed installs.
⚠️ Optional map data needs hundreds of GB — The map tile server (
tileserver.enabled) and the geocoder (photon.enabled) need about 280 GiB and 240 GiB of free node disk while they copy their data. An update with a new geocoding index needs about 330 GiB. Leave them off unless you need them.
bigData: "small" needs about 30 GB more, and "large" about 100 GB.
Install host
- Ubuntu or Debian, or macOS with Homebrew. The download script in
Quick start uses
apt-geton Linux and Homebrew on macOS. -
sudoandcurl. -
helm,helmfile,kubectlandyqcome with the release (v2.0.9 and later;rclonetoo from v2.0.10) for Linux on amd64 and arm64 and for macOS on Apple silicon, and the installer uses those whatever else is installed. On another platform, such as an Intel Mac, install helm 4, helmfile 1.8.2 or later, kubectl and yq yourself (and rclone to restore a backup): the installer refuses helm 3. - Up to v2.0.9 only:
bcandnumfmt(fromcoreutils). Pass--install-toolsand the installer installs them. Without them, the install fails half-way, after it changes the cluster. Later releases do not use them.
The installer puts its bundled tools on PATH only while it runs, so your own shell
does not have them. To run kubectl, helm or helmfile yourself, as other pages
of this guide do, put them on your PATH first. Run this in the directory the
release is in (/opt/octostar by default). From v2.0.10, install.sh and
update-existing.sh end by printing this line for their tree:
export PATH="$PWD/bin/tools/$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/'):$PATH"
Access
- A Docker Hub token from Octostar. Set it as
dockerHub.tokeninlocal-env.yaml. Air-gapped installs do not need it. - A new admin password for
timbrAdminPassword. The default is public. - API keys for the AI/ML and enrichment features that you use (optional).
Network (online installs)
The install host and the cluster need outbound access to:
- Docker Hub (
docker.io), for images and the Octostar charts. - The upstream Helm chart repositories that the installer uses.
geomirror.octostar.com, only if you download map data from a URL.
If you cannot allow this, use the air-gapped installation.
Air-gapped installs also need
- A private container registry that all nodes can reach, with every image of the release.
- An HTTP Helm chart repository with every chart of the release.
- An admission mutator that rewrites the image registry to your registry.
Ask your Octostar contact for the image list and the charts.