ZopNight for DevOps Engineers: Schedules, Overrides and Fixes
You are the person who gets messaged when staging is off at 9 AM. Cost tooling has to make that message rarer, not more frequent.
A DevOps engineer is accountable for environments being there when people need them, pipelines that work, and changes that do not surprise anyone. When cost work arrives as “turn things off when nobody is using them” plus a list of recommendations, it lands on the same person. The risk is plain: every stop is a potential outage for a colleague in another time zone. The features below are the ones that deal with that risk directly.
Schedules you can read at a glance
A schedule has a name, an IANA time zone and cron expressions for start and stop, shown back to you in plain English (“Every weekday at 8 AM”) and on a weekly 24-hour grid so gaps and overlaps are visible before you save. The editor estimates active and inactive hours before you commit. Attach resources one by one, or bundle an environment into a resource group so it follows one cadence. Within a group, start runs by tier (storage, then databases, then compute, then apps) and stop runs in reverse, apps first, with a delay per resource.
Overrides for the late night
When a release runs late or a test needs a box overnight, an override forces a resource or group on (or off) for a set window. It takes a reason, expires by itself, shows “expires in 5h” in the list, and only one can be active per resource. It acts as soon as you set it. There is no maximum duration, so the end time you pick is what stops an override becoming permanent.
Kubernetes without stopping the cluster
For EKS, GKE and AKS you can schedule a namespace instead of a cluster: Deployments and StatefulSets scale to zero, CronJobs are suspended, and HPA and PDB settings are removed on stop and restored on start. System namespaces such as kube-* and default are skipped. When a workload misbehaves after start, live pod logs stream in the app, including the previous container’s logs for crash loops. See scheduling a namespace, not a cluster.
Alerts where the team already talks
Starts, stops, failures, exhausted retries and overrides can post to Slack, Microsoft Teams, Google Chat or a webhook, with a default channel and per-resource overrides. Scheduled and manual actions are separate event types, so you can subscribe to one without the other. See Slack notifications.
Fixing, not just finding
Recommendations that support it get a Remediate button that runs a precondition check, an admin approval where the action is destructive, the cloud action and a validation step. Errors are sorted into permission or quota problems (with a fix hint), transient failures (with retry) and unsupported calls. Schedule-type recommendations open the schedule editor with the resource already attached. From an editor or terminal, the MCP server exposes the same data to Claude Code, Cursor or Codex. See one-click remediation.
Questions we get a lot.
If yours isn't here, email us and we'll answer directly.
Can I stop and start resources by hand without editing a schedule?
Yes. Manual start and stop run immediately with a confirmation and do not change the attached schedule. They need a read + write cloud account.
What happens if a scheduled stop fails?
The failure is surfaced in the action status and raised as a failure event, and a separate event fires if retries are exhausted. Both can be routed to Slack, Teams, Google Chat or a webhook.