Skip to content

v1.0.0

Choose a tag to compare

@sk9-devops sk9-devops released this 20 Jul 17:08
· 17 commits to main since this release

v1.0.0

First stable release of app-maintenance-operator, a Kubernetes operator for application maintenance mode on AWS Load Balancer Controller ALB IngressGroups.

This is application traffic maintenance, not node maintenance. The operator creates a temporary higher-priority ALB IngressGroup overlay and leaves the original application Ingress unchanged.

Install

Pinned install from this release tag:

kubectl apply -f https://raw.githubusercontent.com/k8s-operators-devops/app-maintenance-operator/v1.0.0/deploy/install.yaml

Or download the attached release asset:

kubectl apply -f app-maintenance-operator-v1.0.0-install.yaml

Container Image

ghcr.io/k8s-operators-devops/app-maintenance-operator:v1.0.0

The release workflow also publishes the latest convenience tag.

Runtime Names

  • Namespace: alb-maintenance-operator
  • Deployment: alb-maintenance
  • ServiceAccount: alb-maintenance
  • Metrics Service: alb-maintenance-metrics

The operator pod includes:

  • app.kubernetes.io/version: v1.0.0
  • OPERATOR_VERSION=v1.0.0

API Highlights

  • spec.maintenanceMode is the master switch.
  • maintenanceMode: false or omitted disables maintenance and ignores schedule.
  • maintenanceMode: true enables maintenance immediately unless schedule narrows the window.
  • schedule.start and schedule.end use RFC3339 timestamps, including Z or explicit timezone offsets.

Attached Assets

  • app-maintenance-operator-v1.0.0-install.yaml - complete install manifest
  • maintenance-enable.yaml - sample immediate maintenance CR
  • maintenance-disable.yaml - sample disable CR
  • maintenance-scheduled.yaml - sample scheduled maintenance CR
  • SHA256SUMS - checksums for attached YAML assets

Verify

kubectl get pods -n alb-maintenance-operator
kubectl logs -n alb-maintenance-operator deployment/alb-maintenance -c manager
kubectl get crd maintenances.k8smaintenance.io

Notes

The target Ingress must be AWS ALB-managed and must define alb.ingress.kubernetes.io/group.name. The Maintenance resource must be created in the same namespace as the target application Ingress.