Release esb3027-1.8.0

Build date

TBD

Release status

Type: production

Included components

  • ACD Configuration GUI 4.0.4

Compatibility

This release has been tested with the following product versions:

  • AgileTV CDN Director, ESB3024-1.24.0

Breaking changes from 1.6.x release

Version 1.8 cannot be installed over 1.6 or any earlier release. The platform’s Helm charts were rearranged, and the cluster is now built and managed by deploy, so an earlier cluster cannot be upgraded in place. Install 1.8 on a new cluster and move to it: see the Upgrade Guide.

The manual installation procedure has been removed. deploy, on the installation ISO, is the only supported way to install, upgrade and change the cluster.

Change log

  • NEW: deploy installs, upgrades and reconfigures the whole cluster from one configuration folder, including each machine’s network and firewall
  • NEW: Single installation ISO with everything the installation needs, container images included
  • NEW: acd-admin command for day-to-day operations by admin target: status, logs, restart, shell, exec, cordon, uncordon and drain
  • NEW: acd-support-dump writes a redacted diagnostic tarball for AgileTV support
  • NEW: Command line reference for deploy, acd-admin and acd-support-dump
  • NEW: Kafka metrics are attributed to individual brokers
  • NEW: MaxMind GeoIP databases are loaded into a volume the platform owns

Deprecated functionality

None

System requirements

Red Hat Enterprise Linux 9.4 or later 9.x, or a compatible rebuild, is required. See the System Requirements Guide for more information.

Known limitations

This release requires a clean install. Upgrade from version 1.6 or earlier is not possible. Installation of the software is only supported using a self-hosted configuration.

Security

  • The Kafka ports open to clients outside the cluster have no authentication or encryption. Restrict them to your CDN Directors on your network firewall.
  • Zitadel and Grafana are installed with published default administrator passwords. Create your own Zitadel administrator and disable the default one, as Next Steps describes, and change the password of Grafana’s break-glass administrator, as Grafana Authentication describes.
  • Redis, PostgreSQL, the internal Kafka listener and VictoriaMetrics accept connections from any machine of the cluster without authentication. Keep the backplane network limited to the cluster’s machines.
  • Plain HTTP on port 80 serves the GUI without redirecting to HTTPS. Use the HTTPS address.
  • acd-admin copies each command line, arguments included, into the spec of its session pod and into a Kubernetes Event, and support dumps include these Events. Never pass a password or other secret as an argument.
  • acd-admin shell and exec reach more than day-to-day work needs: on node-exporter they can read the machine’s files and see its processes, on vector and geoip-loader they run as root, and on postgresql they open a database superuser session. acd-admin logs records no Event. Give acd-admin only to people you would trust with root on the servers.
  • The two ingress NodePorts, which Kubernetes picks at installation, are not filtered by the host firewall. Block them on your network firewall, as Ingress NodePorts in the Networking Guide describes.

Installation

  • There is no backup and restore procedure for the PostgreSQL databases.
  • There is no tested procedure for carrying on after losing the first server, the only machine that holds the deploy configuration. Keep a copy of the latest backup folder, which holds /etc/acd/deploy except its certs/ and maxmind/ folders, somewhere other than the cluster. It holds every Kubernetes Secret: protect it as Backups in Running deploy describes.
  • deploy rewrites /etc/sysctl.conf on every machine instead of adding a file under /etc/sysctl.d. It also sets fs.inotify.max_user_instances and fs.inotify.max_user_watches.
  • On an agent, acd-support-dump fails with an error about localhost:8080. Run it on a server.
  • The production preset installs an unused example TLS secret, manager-example-com-tls-20260101, next to the certificate deploy sets up. It can be ignored.
  • In Zitadel, a user’s username must match the local part of their email address, the part before the @. Otherwise Zitadel can block sign-in with the full email address.

acd-admin

  • acd-admin status does not show storage health. After returning a drained node to service, check that every storage volume is healthy before draining another node, as the acd-admin reference describes.
  • Run one cordon or drain at a time. Two started together can both pass the check that keeps a node schedulable, and two drains can both pass the check that keeps a CDN Director running.
  • A temporary Kubernetes API error, such as during a server restart, can stop a drain. Run drain again to carry on.
  • restart --node and drain on a node that is not Ready do not say so: restart --node reports the pods as being recreated, and drain keeps waiting for pods that stay until the node comes back. The check that keeps a node schedulable also ignores Ready, so a node that is not Ready but not yet tainted can count as the node that stays schedulable. Check READY in acd-admin status before a cordon or drain.
  • When an acd-admin session cannot start, such as when no node can run it, it fails after about a minute with timed out waiting for the condition and no reason.
  • acd-admin --help and --version need a working cluster, so they too run only on a server or with KUBECONFIG set.
  • Some errors are followed by extra lines, such as pod acd-system/acd-admin-... terminated (Error), which are not a second failure.
  • Output a command writes to standard error can arrive on standard output when the command ends quickly.