Scheduled containers

Levv allows you to configure the uptime of your applications by scheduling a start and end time, reducing their footprint without impacting your use-case. You can scale the number of replicas down to avoid unnecessary consumption of ressources, and even scale them down to 0 to avoid any costs when your application is not running.

To configure the scheduling of your application, you can use the following labels:

LABEL FORMAT DESCRIPTION
io.levv.schedule.start_time hh:mm When your application scales up to # replicas (required)
io.levv.schedule.end_time hh:mm When your application scales down to # min_replicas (required)
io.levv.schedule.day_of_month number, range Which days of the month (default: *)
io.levv.schedule.month number, name, range Which months of the year (default: *)
io.levv.schedule.day_of_week number, name, range Which days of the week (default: *)
io.levv.schedule.timezone timezone name Timezone (default: UTC)
io.levv.schedule.min_replicas number The number of replicas (default: 0)

day_of_month, month and day_of_week labels use the traditional CRON syntax.

Example:

labels:
  io.levv.schedule.start_time: "9:00"               # START AT 9AM
  io.levv.schedule.end_time: "17:00"                # UNTIL 5PM
  io.levv.schedule.day_of_month: "1-7"              # RUN FROM THE 1ST OF THE MONTH UNTIL THE 7TH
  io.levv.schedule.month: "jan,feb"                 # RUN IN JANUARY AND FEBRUARY
  io.levv.schedule.day_of_week: "mon,wed,thu,fri"   # RUN ON MONDAY WEDNESDAY THURSDAY AND FRIDAY
  io.levv.schedule.timezone: "Europe/Brussels"      # TIMEZONE
  io.levv.schedule.min_replicas: 1                  # SCALE DOWN TO 1 REPLICA INSTEAD OF ZERO