@@ -22,16 +22,22 @@ import {
2222 KubernetesSentinelMonitor ,
2323} from './kubernetesSentinelMonitor' ;
2424
25+ export type ProbeConfig = Input < {
26+ enabled ?: Input < boolean > ;
27+ initialDelaySeconds ?: Input < number > ;
28+ periodSeconds ?: Input < number > ;
29+ timeoutSeconds ?: Input < number > ;
30+ failureThreshold ?: Input < number > ;
31+ successThreshold ?: Input < number > ;
32+ } > ;
33+
2534export type K8sRedisSentinelArgs = CommonK8sRedisArgs & {
2635 spot ?: Spot ;
27- startupProbe ?: Input < {
28- enabled ?: Input < boolean > ;
29- initialDelaySeconds ?: Input < number > ;
30- periodSeconds ?: Input < number > ;
31- timeoutSeconds ?: Input < number > ;
32- failureThreshold ?: Input < number > ;
33- successThreshold ?: Input < number > ;
34- } > ;
36+ probes ?: {
37+ startup ?: ProbeConfig ;
38+ liveness ?: ProbeConfig ;
39+ readiness ?: ProbeConfig ;
40+ } ;
3541 monitor ?: {
3642 enabled ?: boolean ;
3743 image ?: K8sRedisSentinelMonitorArgs [ 'image' ] ;
@@ -73,6 +79,10 @@ export class KubernetesSentinel extends ComponentResource {
7379 priorityClassName : configurePriorityClass ( args ) ,
7480 } ;
7581
82+ const startupProbeArg = args . probes ?. startup ;
83+ const livenessProbeArg = args . probes ?. liveness ;
84+ const readinessProbeArg = args . probes ?. readiness ;
85+
7686 this . chart = new helm . v4 . Chart (
7787 name ,
7888 {
@@ -130,8 +140,20 @@ export class KubernetesSentinel extends ComponentResource {
130140 enabled : ! ! args . authKey ,
131141 password : args . authKey ,
132142 } ,
133- replica : all ( [ args . spot , args . isAdhocEnv , args . startupProbe ] ) . apply (
134- ( [ spot , isAdhocEnv , startupProbe ] ) => {
143+ replica : all ( [
144+ args . spot ,
145+ args . isAdhocEnv ,
146+ startupProbeArg ,
147+ livenessProbeArg ,
148+ readinessProbeArg ,
149+ ] ) . apply (
150+ ( [
151+ spot ,
152+ isAdhocEnv ,
153+ startupProbe ,
154+ livenessProbe ,
155+ readinessProbe ,
156+ ] ) => {
135157 const { tolerations, affinity } = getSpotSettings (
136158 spot ,
137159 isAdhocEnv ,
@@ -142,6 +164,8 @@ export class KubernetesSentinel extends ComponentResource {
142164 tolerations,
143165 affinity,
144166 ...( startupProbe && { startupProbe } ) ,
167+ ...( livenessProbe && { livenessProbe } ) ,
168+ ...( readinessProbe && { readinessProbe } ) ,
145169 topologySpreadConstraints : [
146170 {
147171 maxSkew : 1 ,
0 commit comments