Skip to content

Commit 5327bf3

Browse files
authored
Add healthcheck service rollup feature (#126)
* Add healthcheck service rollup feature * Add healthcheck rollup documentation
1 parent b76d5eb commit 5327bf3

22 files changed

+290
-40
lines changed

api/v1/chiacommon_types.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,12 @@ type Service struct {
255255
// IPFamilies represents a list of IP families (IPv4 and/or IPv6) required by a Service
256256
// +optional
257257
IPFamilies *[]corev1.IPFamily `json:"ipFamilies,omitempty"`
258+
259+
// RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
260+
// The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
261+
// This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
262+
// +optional
263+
RollIntoPeerService *bool `json:"rollIntoPeerService,omitempty"`
258264
}
259265

260266
// ChiaRootConfig optional config for CHIA_ROOT persistent storage, likely only needed for Chia full_nodes, but may help in startup time for other components.

api/v1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/bases/k8s.chia.net_chiacrawlers.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ spec:
8888
description: Labels is a map of string keys and values to
8989
attach to created objects
9090
type: object
91+
rollIntoPeerService:
92+
description: |-
93+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
94+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
95+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
96+
type: boolean
9197
type:
9298
description: ServiceType is the Type of the Service. Defaults
9399
to ClusterIP
@@ -305,6 +311,12 @@ spec:
305311
description: Labels is a map of string keys and values to
306312
attach to created objects
307313
type: object
314+
rollIntoPeerService:
315+
description: |-
316+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
317+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
318+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
319+
type: boolean
308320
type:
309321
description: ServiceType is the Type of the Service. Defaults
310322
to ClusterIP
@@ -553,6 +565,12 @@ spec:
553565
description: Labels is a map of string keys and values to
554566
attach to created objects
555567
type: object
568+
rollIntoPeerService:
569+
description: |-
570+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
571+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
572+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
573+
type: boolean
556574
type:
557575
description: ServiceType is the Type of the Service. Defaults
558576
to ClusterIP
@@ -967,6 +985,12 @@ spec:
967985
description: Labels is a map of string keys and values to
968986
attach to created objects
969987
type: object
988+
rollIntoPeerService:
989+
description: |-
990+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
991+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
992+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
993+
type: boolean
970994
type:
971995
description: ServiceType is the Type of the Service. Defaults
972996
to ClusterIP

config/crd/bases/k8s.chia.net_chiafarmers.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ spec:
8888
description: Labels is a map of string keys and values to
8989
attach to created objects
9090
type: object
91+
rollIntoPeerService:
92+
description: |-
93+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
94+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
95+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
96+
type: boolean
9197
type:
9298
description: ServiceType is the Type of the Service. Defaults
9399
to ClusterIP
@@ -310,6 +316,12 @@ spec:
310316
description: Labels is a map of string keys and values to
311317
attach to created objects
312318
type: object
319+
rollIntoPeerService:
320+
description: |-
321+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
322+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
323+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
324+
type: boolean
313325
type:
314326
description: ServiceType is the Type of the Service. Defaults
315327
to ClusterIP
@@ -558,6 +570,12 @@ spec:
558570
description: Labels is a map of string keys and values to
559571
attach to created objects
560572
type: object
573+
rollIntoPeerService:
574+
description: |-
575+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
576+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
577+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
578+
type: boolean
561579
type:
562580
description: ServiceType is the Type of the Service. Defaults
563581
to ClusterIP
@@ -991,6 +1009,12 @@ spec:
9911009
description: Labels is a map of string keys and values to
9921010
attach to created objects
9931011
type: object
1012+
rollIntoPeerService:
1013+
description: |-
1014+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
1015+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
1016+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
1017+
type: boolean
9941018
type:
9951019
description: ServiceType is the Type of the Service. Defaults
9961020
to ClusterIP

config/crd/bases/k8s.chia.net_chiaharvesters.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ spec:
8888
description: Labels is a map of string keys and values to
8989
attach to created objects
9090
type: object
91+
rollIntoPeerService:
92+
description: |-
93+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
94+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
95+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
96+
type: boolean
9197
type:
9298
description: ServiceType is the Type of the Service. Defaults
9399
to ClusterIP
@@ -310,6 +316,12 @@ spec:
310316
description: Labels is a map of string keys and values to
311317
attach to created objects
312318
type: object
319+
rollIntoPeerService:
320+
description: |-
321+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
322+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
323+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
324+
type: boolean
313325
type:
314326
description: ServiceType is the Type of the Service. Defaults
315327
to ClusterIP
@@ -558,6 +570,12 @@ spec:
558570
description: Labels is a map of string keys and values to
559571
attach to created objects
560572
type: object
573+
rollIntoPeerService:
574+
description: |-
575+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
576+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
577+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
578+
type: boolean
561579
type:
562580
description: ServiceType is the Type of the Service. Defaults
563581
to ClusterIP
@@ -975,6 +993,12 @@ spec:
975993
description: Labels is a map of string keys and values to
976994
attach to created objects
977995
type: object
996+
rollIntoPeerService:
997+
description: |-
998+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
999+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
1000+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
1001+
type: boolean
9781002
type:
9791003
description: ServiceType is the Type of the Service. Defaults
9801004
to ClusterIP

config/crd/bases/k8s.chia.net_chiaintroducers.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ spec:
8888
description: Labels is a map of string keys and values to
8989
attach to created objects
9090
type: object
91+
rollIntoPeerService:
92+
description: |-
93+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
94+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
95+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
96+
type: boolean
9197
type:
9298
description: ServiceType is the Type of the Service. Defaults
9399
to ClusterIP
@@ -305,6 +311,12 @@ spec:
305311
description: Labels is a map of string keys and values to
306312
attach to created objects
307313
type: object
314+
rollIntoPeerService:
315+
description: |-
316+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
317+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
318+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
319+
type: boolean
308320
type:
309321
description: ServiceType is the Type of the Service. Defaults
310322
to ClusterIP
@@ -553,6 +565,12 @@ spec:
553565
description: Labels is a map of string keys and values to
554566
attach to created objects
555567
type: object
568+
rollIntoPeerService:
569+
description: |-
570+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
571+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
572+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
573+
type: boolean
556574
type:
557575
description: ServiceType is the Type of the Service. Defaults
558576
to ClusterIP
@@ -967,6 +985,12 @@ spec:
967985
description: Labels is a map of string keys and values to
968986
attach to created objects
969987
type: object
988+
rollIntoPeerService:
989+
description: |-
990+
RollIntoPeerService tells the controller to not actually generate this Service, but instead roll the Service ports of this Service into the peer Service.
991+
The peer Service is often considered the primary Service generated for a chia resource, as it is the most likely Service to expose publicly.
992+
This option is default, and only provides its functionality on chia-healthcheck Services. It may be included to other Services someday if a use case arises.
993+
type: boolean
970994
type:
971995
description: ServiceType is the Type of the Service. Defaults
972996
to ClusterIP

0 commit comments

Comments
 (0)