-
Notifications
You must be signed in to change notification settings - Fork 5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Added Google PubSub Topic and Subscription health checks (#10229)
* feat: Added Google PubSub Topic and Subscription to health checks Signed-off-by: Patrick Kerwood <patrick@kerwood.dk> * Fixed apiVersion in test files Signed-off-by: Patrick Kerwood <patrick@kerwood.dk>
- Loading branch information
Showing
14 changed files
with
210 additions
and
0 deletions.
There are no files selected for viewing
39 changes: 39 additions & 0 deletions
39
resource_customizations/pubsub.cnrm.cloud.google.com/PubSubSubscription/health.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
hs = { | ||
status = "Progressing", | ||
message = "Update in progress" | ||
} | ||
if obj.status ~= nil then | ||
if obj.status.conditions ~= nil then | ||
for i, condition in ipairs(obj.status.conditions) do | ||
|
||
-- Up To Date | ||
if condition.reason == "UpToDate" and condition.status == "True" then | ||
hs.status = "Healthy" | ||
hs.message = condition.message | ||
return hs | ||
end | ||
|
||
-- Update Failed | ||
if condition.reason == "UpdateFailed" then | ||
hs.status = "Degraded" | ||
hs.message = condition.message | ||
return hs | ||
end | ||
|
||
-- Dependency Not Found | ||
if condition.reason == "DependencyNotFound" then | ||
hs.status = "Degraded" | ||
hs.message = condition.message | ||
return hs | ||
end | ||
|
||
-- Dependency Not Ready | ||
if condition.reason == "DependencyNotReady" then | ||
hs.status = "Suspended" | ||
hs.message = condition.message | ||
return hs | ||
end | ||
end | ||
end | ||
end | ||
return hs |
21 changes: 21 additions & 0 deletions
21
resource_customizations/pubsub.cnrm.cloud.google.com/PubSubSubscription/health_test.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
tests: | ||
- healthStatus: | ||
status: Degraded | ||
message: "Dependency not found" | ||
inputPath: testdata/dependency_not_found.yaml | ||
- healthStatus: | ||
status: Suspended | ||
message: "Dependency not ready" | ||
inputPath: testdata/dependency_not_ready.yaml | ||
- healthStatus: | ||
status: Healthy | ||
message: "The resource is up to date" | ||
inputPath: testdata/up_to_date.yaml | ||
- healthStatus: | ||
status: Degraded | ||
message: "Update failed" | ||
inputPath: testdata/update_failed.yaml | ||
- healthStatus: | ||
status: Progressing | ||
message: "Update in progress" | ||
inputPath: testdata/update_in_progress.yaml |
9 changes: 9 additions & 0 deletions
9
...ations/pubsub.cnrm.cloud.google.com/PubSubSubscription/testdata/dependency_not_found.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubSubscription | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-07-01T12:56:21Z' | ||
message: Dependency not found | ||
reason: DependencyNotFound | ||
status: 'False' | ||
type: Ready |
9 changes: 9 additions & 0 deletions
9
...ations/pubsub.cnrm.cloud.google.com/PubSubSubscription/testdata/dependency_not_ready.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubSubscription | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-07-01T12:56:21Z' | ||
message: Dependency not ready | ||
reason: DependencyNotReady | ||
status: 'False' | ||
type: Ready |
9 changes: 9 additions & 0 deletions
9
...e_customizations/pubsub.cnrm.cloud.google.com/PubSubSubscription/testdata/up_to_date.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubSubscription | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-05-09T08:49:18Z' | ||
message: The resource is up to date | ||
reason: UpToDate | ||
status: 'True' | ||
type: Ready |
9 changes: 9 additions & 0 deletions
9
...ustomizations/pubsub.cnrm.cloud.google.com/PubSubSubscription/testdata/update_failed.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubSubscription | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-07-01T12:56:21Z' | ||
message: Update failed | ||
reason: UpdateFailed | ||
status: 'False' | ||
type: Ready |
9 changes: 9 additions & 0 deletions
9
...izations/pubsub.cnrm.cloud.google.com/PubSubSubscription/testdata/update_in_progress.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubSubscription | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-07-01T12:56:21Z' | ||
message: Update in progress | ||
reason: Updating | ||
status: 'False' | ||
type: Ready |
39 changes: 39 additions & 0 deletions
39
resource_customizations/pubsub.cnrm.cloud.google.com/PubSubTopic/health.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
hs = { | ||
status = "Progressing", | ||
message = "Update in progress" | ||
} | ||
if obj.status ~= nil then | ||
if obj.status.conditions ~= nil then | ||
for i, condition in ipairs(obj.status.conditions) do | ||
|
||
-- Up To Date | ||
if condition.reason == "UpToDate" and condition.status == "True" then | ||
hs.status = "Healthy" | ||
hs.message = condition.message | ||
return hs | ||
end | ||
|
||
-- Update Failed | ||
if condition.reason == "UpdateFailed" then | ||
hs.status = "Degraded" | ||
hs.message = condition.message | ||
return hs | ||
end | ||
|
||
-- Dependency Not Found | ||
if condition.reason == "DependencyNotFound" then | ||
hs.status = "Degraded" | ||
hs.message = condition.message | ||
return hs | ||
end | ||
|
||
-- Dependency Not Ready | ||
if condition.reason == "DependencyNotReady" then | ||
hs.status = "Suspended" | ||
hs.message = condition.message | ||
return hs | ||
end | ||
end | ||
end | ||
end | ||
return hs |
21 changes: 21 additions & 0 deletions
21
resource_customizations/pubsub.cnrm.cloud.google.com/PubSubTopic/health_test.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
tests: | ||
- healthStatus: | ||
status: Degraded | ||
message: "Dependency not found" | ||
inputPath: testdata/dependency_not_found.yaml | ||
- healthStatus: | ||
status: Suspended | ||
message: "Dependency not ready" | ||
inputPath: testdata/dependency_not_ready.yaml | ||
- healthStatus: | ||
status: Healthy | ||
message: "The resource is up to date" | ||
inputPath: testdata/up_to_date.yaml | ||
- healthStatus: | ||
status: Degraded | ||
message: "Update failed" | ||
inputPath: testdata/update_failed.yaml | ||
- healthStatus: | ||
status: Progressing | ||
message: "Update in progress" | ||
inputPath: testdata/update_in_progress.yaml |
9 changes: 9 additions & 0 deletions
9
...ustomizations/pubsub.cnrm.cloud.google.com/PubSubTopic/testdata/dependency_not_found.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubTopic | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-07-01T12:56:21Z' | ||
message: Dependency not found | ||
reason: DependencyNotFound | ||
status: 'False' | ||
type: Ready |
9 changes: 9 additions & 0 deletions
9
...ustomizations/pubsub.cnrm.cloud.google.com/PubSubTopic/testdata/dependency_not_ready.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubTopic | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-07-01T12:56:21Z' | ||
message: Dependency not ready | ||
reason: DependencyNotReady | ||
status: 'False' | ||
type: Ready |
9 changes: 9 additions & 0 deletions
9
resource_customizations/pubsub.cnrm.cloud.google.com/PubSubTopic/testdata/up_to_date.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubTopic | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-05-09T08:49:18Z' | ||
message: The resource is up to date | ||
reason: UpToDate | ||
status: 'True' | ||
type: Ready |
9 changes: 9 additions & 0 deletions
9
resource_customizations/pubsub.cnrm.cloud.google.com/PubSubTopic/testdata/update_failed.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubTopic | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-07-01T12:56:21Z' | ||
message: Update failed | ||
reason: UpdateFailed | ||
status: 'False' | ||
type: Ready |
9 changes: 9 additions & 0 deletions
9
..._customizations/pubsub.cnrm.cloud.google.com/PubSubTopic/testdata/update_in_progress.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 | ||
kind: PubSubTopic | ||
status: | ||
conditions: | ||
- lastTransitionTime: '2022-07-01T12:56:21Z' | ||
message: Update in progress | ||
reason: Updating | ||
status: 'False' | ||
type: Ready |