-
Notifications
You must be signed in to change notification settings - Fork 1
/
rules.yaml
36 lines (36 loc) · 1.64 KB
/
rules.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
rules:
# scale down deployment with name go-app-deployment-2 when current time/day not in uptime
- id: rules-downscale-namespace
uptime: Mon-Sat 09:00-17:00 Australia/Sydney
# https://jmespath.org/
jmespath: "metadata.name == 'kuber1' || metadata.name == 'kuber2' || metadata.name == 'kuber3'|| metadata.name == 'kuber4'"
resource:
- Namespace # type of resource
replicas: 0 # either set the replicas:0 or any number during nonuptime
# scale down all statefulset with name web when current time/day not in uptime
- id: rules-downscale-statefulset
uptime: Mon-Fri 09:00-17:00 Australia/Sydney
jmespath: "metadata.name == 'web'"
resource:
- StatefulSet # type of resource
replicas: 0 # either set the replicas:0 or any number during nonuptime
# scale down all deployment, statefulset, cronjob in namespace kuber when current time/day not in uptime
- id: rules-downscale-all-in-namespace
uptime: Mon-Fri 09:00-21:00 Australia/Sydney
jmespath: "metadata.name == 'kube-saver'"
resource:
- Namespace # type of resource
replicas: 1 # either set the replicas:0 or any number during nonuptime
# suspend cronjob1 when current time/day not in uptime
- id: rules-suspend-cronjob
uptime: Mon-Fri 09:00-17:00 Australia/Sydney
jmespath: "metadata.name == 'cronjob1'"
resource:
- cronjob # type of resource
#scale down hpa to > 0 when current time/day not in uptime
- id: rules-downscale-hpa
uptime: Mon-Sun 09:00-23:59 Australia/Sydney
jmespath: "metadata.name == 'php-apache'"
resource:
- hpa # type of resource
replicas: 1 # replicas>0 as minReplicas in Hpa>=1