Skip to main content

CRD Configuration

The Kronos-Core Custom Resource Definition (CRD) allows users to define resource schedules for their Kubernetes clusters. The CRD manifest includes several fields that users can configure to customize their resource schedules. Here are the different fields in the manifest:

startSleep

type: string

usage: Specifies the start time for the sleep period in a 24-hour format (e.g., "13:02").

endSleep

type: string

usage: Specifies the end time for the sleep period in a 24-hour format (e.g., "22:41").

weekdays

type: string

usage: Specifies the weekdays on which the schedule should be applied using ISO8601 format. This field can contain individual weekdays seperated by "," and ranges (e.g., "2-5").

Using the ISO8601 means Kronos considers Monday as the first day of the week. Consequentially, week days are represented by the following numbers:

MondayTuesdayWednesdayThursdayFridaySundaySaturday
1234567

timezone

type: string

usage: Specifies the timezone for the schedule using the IANA Timezone Database format (e.g., "Africa/Tunis").

holidays

type: array of objects

usage: Specifies any holidays during which the schedule should be adjusted. Each holiday is represented as an object with the following fields:

name

type: string

usage: The name of the holiday.

date

type: string

usage: The date or range of dates for the holiday in the format ISO8601 "YYYY-MM-DD" or "YYYY-MM-DD/DD/DD" if the holiday spans across multiple days.

includedObjects

type: array of objects

usage: Specifies the Kubernetes objects to include in the schedule. Each included object is represented as an object with the following fields:

apiVersion

type: string

usage: The API version of the Kubernetes object (e.g., "apps/v1").

kind

type: string

usage: The kind of Kubernetes object (e.g., "Deployment").

namespace

type: string

usage: The namespace of the Kubernetes object.

includeRef

type: string

usage: Optionally, the name of the specific object to include. If not defined, it will include all objects of the specified kind and ApiVersion.

excludeRef

type: string

usage: Optionally, the name of the specific object to exclude. If not defined, it will exclude no objects.