Skip to content

Ongrid v0.10.1

Choose a tag to compare

@github-actions github-actions released this 16 Jul 07:32
· 311 commits to main since this release
2699fc5

Ongrid v0.10.1

Ongrid v0.10.1 focuses on Kubernetes observability, reliable large-cluster metric collection, safer node access, and reproducible online delivery.

Standard Kubernetes onboarding now installs the components needed for cluster-state metrics and OTLP ingestion by default. The Manager, Web, Kubernetes Edge image, and Helm chart are published as versioned multi-architecture artifacts through CNB, while the server installation package is smaller and Compose-only.

Highlights

Kubernetes observability works out of the box

  • kube-state-metrics is enabled by default and uses the Ongrid CNB mirror.
  • The controller OTLP gateway is enabled by default and exposes OTLP/gRPC on 4317 and OTLP/HTTP on 4318 inside the cluster.
  • Instrumented workloads exported through the gateway receive the Manager-owned cluster_id resource attribute.
  • The Kubernetes metrics drilldown now opens Grafana 11 Explore with the provisioned Prometheus datasource.
  • The default drilldown query shows pod counts by namespace and phase instead of only displaying scrape-target health.
  • Node Edge keeps node.collectorMode: "off" by default, avoiding duplicate node metric ingestion while Kubernetes state metrics are collected centrally.

Both kube-state-metrics and the OTLP gateway can still be explicitly disabled through Helm values.

Large-cluster metric collection no longer drops the entire scrape

The Kubernetes metric path now streams Prometheus text exposition instead of loading the complete response into memory.

  • Per-target sample limit increased to 250,000.
  • Tunnel batches are capped at 10,000 samples or 4 MiB.
  • Every batch has an independent push timeout.
  • Successfully delivered batches remain available when a later batch fails.
  • If a target exceeds the configured limit, Ongrid forwards the accepted bounded subset and reports partial-delivery status instead of discarding the whole scrape.
  • Local scrape and push counters make truncation and partial delivery observable.

Safer Kubernetes node host access

Kubernetes Node Edge now mounts the host filesystem explicitly at /host/root with HostToContainer propagation.

  • Host access no longer depends on entering PID 1's mount namespace with setns.
  • SYS_ADMIN and SYS_PTRACE were removed from the node container capability set.
  • After initialization, the Edge process runs as UID/GID 65532 with the reduced runtime capabilities required by the existing host tools.
  • Legacy /proc/1/root layouts remain compatible.

This improves compatibility with environments where ptrace, AppArmor/SELinux, or user-namespace restrictions block the previous launcher.

Versioned Helm chart from CNB OCI

The Kubernetes chart is now published at:

oci://helm.cnb.cool/ongridio/ongrid-edge

Manager-generated install and upgrade commands pin the Chart version to the running Ongrid version. A source checkout and the old local path ./deploy/kubernetes/ongrid-edge are no longer required.

The Chart now uses Helm's .Release.Namespace as the single namespace source and no longer renders a separate namespace resource. Release packages do not contain a local ongrid-edge.tgz; target clusters must be able to reach helm.cnb.cool.

To inspect this release's Chart:

helm show chart oci://helm.cnb.cool/ongridio/ongrid-edge --version 0.10.1

For installation, create the Kubernetes cluster enrollment in Ongrid and run the generated Helm command. The generated command contains cluster-specific bootstrap credentials and should be handled as a secret.

Multi-architecture cloud images and reliable release reruns

  • Manager, Web, and Kubernetes Edge images are published to docker.cnb.cool as linux/amd64 + linux/arm64 manifests.
  • Compose runtime dependencies use verified CNB mirrors.
  • Release reruns reuse complete immutable image and Helm Chart versions instead of attempting to overwrite them.
  • Missing artifacts are published normally; incomplete manifests or indeterminate registry responses fail safely.

Server package changes

The Manager installation package is now Docker Compose only.

  • Manager systemd installers, native Manager/Frontier binaries, and bundled observability binaries were removed.
  • Linux device Edge installation and upgrade through systemd remain supported.
  • The resulting amd64 server package is about 45% smaller than the previously audited payload.
  • Runtime container images are pulled from docker.cnb.cool; they are not embedded in the tarball.

Requirements:

  • Ubuntu 22.04+, Debian 12+, CentOS Stream 9, RHEL/Rocky 9
  • Docker 24.0+
  • Docker Compose v2 (docker compose)
  • At least 2 GiB RAM and 10 GiB free disk
  • Network access to docker.cnb.cool; Kubernetes onboarding also requires access to helm.cnb.cool

Fresh installation

AMD64

wget https://github.com/ongridio/ongrid/releases/download/v0.10.1/ongrid-v0.10.1-linux-amd64.tar.xz
wget https://github.com/ongridio/ongrid/releases/download/v0.10.1/ongrid-v0.10.1-linux-amd64.tar.xz.sha256
sha256sum -c ongrid-v0.10.1-linux-amd64.tar.xz.sha256
tar -xf ongrid-v0.10.1-linux-amd64.tar.xz
cd ongrid-v0.10.1-linux-amd64
sudo ./install.sh

ARM64

wget https://github.com/ongridio/ongrid/releases/download/v0.10.1/ongrid-v0.10.1-linux-arm64.tar.xz
wget https://github.com/ongridio/ongrid/releases/download/v0.10.1/ongrid-v0.10.1-linux-arm64.tar.xz.sha256
sha256sum -c ongrid-v0.10.1-linux-arm64.tar.xz.sha256
tar -xf ongrid-v0.10.1-linux-arm64.tar.xz
cd ongrid-v0.10.1-linux-arm64
sudo ./install.sh

Upgrade

Download and extract the package matching the target architecture, then run:

cd ongrid-v0.10.1-linux-<arch>
sudo ./upgrade.sh

The upgrade script validates and pulls every required image before stopping the current stack. It preserves /opt/ongrid/.env, TLS certificates, and data under /var/lib/ongrid, then recreates the Compose services and waits for /healthz.

Important

upgrade.sh performs a Compose down/up rather than a rolling update. Plan for a short service interruption. Manager installations that still use the removed pure-systemd deployment path must migrate to Docker Compose instead of using this package as an in-place systemd upgrade.

Validation

The published ARM64 package and OCI Chart were exercised end to end after release:

  • fresh Compose installation completed with all 10 services running;
  • /healthz and /readyz returned HTTP 200;
  • an in-place v0.10.1 -> v0.10.1 upgrade preserved configuration, data, cluster enrollment, and metrics;
  • the OCI Chart installed successfully on a two-node Kubernetes v1.34.9 cluster;
  • Controller, kube-state-metrics, and both Node Edge pods became Ready with zero restarts;
  • both nodes appeared online in Ongrid and Kubernetes state metrics reached Prometheus.

Operational notes

  • A Manager restart or Compose upgrade causes connected Edge agents to reconnect automatically.
  • If a Manager is rebuilt with an empty database while previously enrolled Kubernetes nodes are reused, stale host credentials may need to be removed before the Node Edge can enroll against the new Manager.
  • Self-signed TLS is suitable for initial testing. Replace the generated certificate for production use.

What's Changed

Kubernetes

  • #208 Restore observability drilldowns and collection defaults.
  • #209 Publish the Helm chart through CNB OCI.
  • #210 Mount the host root without mount-namespace setns.
  • #214 Preserve bounded metrics beyond the sample limit and add batched delivery.

Release and packaging

  • #211 Publish cloud images to CNB.
  • #217 Reuse complete immutable images on release reruns.
  • #220 Remove Manager systemd packaging and make Helm publication idempotent.
  • #215 Prepare the v0.10.1 release version.
  • #206 Update multilingual installation documentation.

Full Changelog: v0.10.0...v0.10.1