snorlax: Schedule Kubernetes Deployment Sleep and Wake

snorlax: Schedule Kubernetes Deployment Sleep and Wake

Summary

Snorlax is a Kubernetes operator that scales selected deployments down and up on a daily schedule. It can route requests for sleeping applications to a wake page, then restore their ingresses when the deployments are ready.

At a glance

Language
Go
License
Apache-2.0
Stars
392
Forks
29
Added to OSRepos
February 24, 2026
Last analyzed
October 3, 2026
View on GitHub

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Overview

Snorlax helps teams reduce the resources used by non-production or otherwise time-limited Kubernetes workloads by scheduling deployments to sleep and wake. It is aimed at environments that do not need to run continuously, such as staging and ephemeral apps.

When configured with ingresses, Snorlax can direct requests to a wake server while deployments are asleep. The server displays a status page, triggers wake-up, and restores the ingress after the required deployments are ready.

Key Features

  • Defines wake and sleep times through a SleepSchedule Kubernetes resource.
  • Scales specified deployments according to the schedule.
  • Supports a timezone for schedule times, defaulting to UTC.
  • Can update selected ingresses to route requests to a wake server while asleep.
  • Can wait for specified deployments to become ready before restoring an ingress.
  • Keeps deployments awake after a request during sleep time until the next sleep cycle.
  • Ignores ELB health checks so they do not trigger wake-ups.
  • Detects the ingress controller to create appropriate sleep-time routes.

Use Cases

  • Staging environments can be stopped overnight and brought back before the workday, reducing resource use while they are idle.
  • Ephemeral review environments can follow a predictable schedule instead of running continuously.
  • Teams can let users request access to a sleeping application through its ingress, rather than requiring them to manually scale workloads.
  • Operators of scheduled development environments can coordinate wake-up with application readiness before sending traffic back to the deployment.

Project Facts

  • Language: Go
  • License: Apache-2.0
  • Stars: 392
  • Forks: 29
  • Topics: kubernetes, operator, sleep
  • Archived: No

Getting Started

Install the Helm chart and controller:

helm repo add moonbeam https://moonbeam-nyc.github.io/helm-charts
helm repo update
helm install snorlax moonbeam/snorlax --create-namespace --namespace snorlax

Then create and apply a SleepSchedule resource for the deployments to manage. See the README for its configuration and local development instructions.

Considerations

Snorlax requires a Kubernetes cluster and Helm, and its scheduling model uses configured wake and sleep times rather than cron-style expressions. The project README lists cron schedules and several other capabilities as future work, so check current project status before relying on them. Ingress-based wake-up is optional and requires configuring the relevant ingress and deployments in the schedule.

Source repository

Open the original repository on GitHub.

17 counted GitHub visits

View on GitHub

Related repositories

Similar repositories that may be relevant next.

OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️