From ebc737e027c4bc80ffe864330c18b0fcf453cb22 Mon Sep 17 00:00:00 2001 From: jhu02 Date: Thu, 10 Mar 2022 21:35:50 -0800 Subject: [PATCH 1/9] Changes: make version aligh with arktika Signed-off-by: jhu02 --- config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml | 2 +- config/crd/bases/argoproj_v1alpha1_workflows.yaml | 4 ++-- config/crd/patches/cainjection_in_healthchecks.yaml | 2 +- config/crd/patches/webhook_in_healthchecks.yaml | 2 +- config/default/webhookcainjection_patch.yaml | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml index db75a24..c79a2d3 100644 --- a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml +++ b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml @@ -1,6 +1,6 @@ --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: diff --git a/config/crd/bases/argoproj_v1alpha1_workflows.yaml b/config/crd/bases/argoproj_v1alpha1_workflows.yaml index 87861be..a4f4085 100644 --- a/config/crd/bases/argoproj_v1alpha1_workflows.yaml +++ b/config/crd/bases/argoproj_v1alpha1_workflows.yaml @@ -1,4 +1,4 @@ -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: workflows.argoproj.io @@ -11,4 +11,4 @@ spec: plural: workflows shortNames: - wf ---- \ No newline at end of file +--- diff --git a/config/crd/patches/cainjection_in_healthchecks.yaml b/config/crd/patches/cainjection_in_healthchecks.yaml index cf44719..8256d2a 100644 --- a/config/crd/patches/cainjection_in_healthchecks.yaml +++ b/config/crd/patches/cainjection_in_healthchecks.yaml @@ -1,6 +1,6 @@ # The following patch adds a directive for certmanager to inject CA into the CRD # CRD conversion requires k8s 1.13 or later. -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: diff --git a/config/crd/patches/webhook_in_healthchecks.yaml b/config/crd/patches/webhook_in_healthchecks.yaml index 5cfa908..54ba014 100644 --- a/config/crd/patches/webhook_in_healthchecks.yaml +++ b/config/crd/patches/webhook_in_healthchecks.yaml @@ -1,6 +1,6 @@ # The following patch enables conversion webhook for CRD # CRD conversion requires k8s 1.13 or later. -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: healthchecks.activemonitor.keikoproj.io diff --git a/config/default/webhookcainjection_patch.yaml b/config/default/webhookcainjection_patch.yaml index f6d71cb..3375a9c 100644 --- a/config/default/webhookcainjection_patch.yaml +++ b/config/default/webhookcainjection_patch.yaml @@ -1,13 +1,13 @@ # This patch add annotation to admission webhook config and # the variables $(NAMESPACE) and $(CERTIFICATENAME) will be substituted by kustomize. -apiVersion: admissionregistration.k8s.io/v1beta1 +apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: name: mutating-webhook-configuration annotations: certmanager.k8s.io/inject-ca-from: $(NAMESPACE)/$(CERTIFICATENAME) --- -apiVersion: admissionregistration.k8s.io/v1beta1 +apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: name: validating-webhook-configuration From e9f431bb4c87022d6f6238afad018220251a7b16 Mon Sep 17 00:00:00 2001 From: jhu02 Date: Fri, 11 Mar 2022 05:43:43 -0800 Subject: [PATCH 2/9] Fix: CI failure Signed-off-by: jhu02 --- Makefile | 2 +- .../bases/argoproj_v1alpha1_workflows.yaml | 42 +++++++++++++++++-- deploy/deploy-argo.yaml | 4 +- 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index dc8a469..fdca77f 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ all: manager # Run tests test: generate fmt vet manifests - go test ./api/... ./controllers/... ./metrics/... ./store/... -coverprofile coverage.txt + go test -v ./api/... ./controllers/... ./metrics/... ./store/... -coverprofile coverage.txt # Build manager binary manager: generate fmt vet diff --git a/config/crd/bases/argoproj_v1alpha1_workflows.yaml b/config/crd/bases/argoproj_v1alpha1_workflows.yaml index a4f4085..2cb608c 100644 --- a/config/crd/bases/argoproj_v1alpha1_workflows.yaml +++ b/config/crd/bases/argoproj_v1alpha1_workflows.yaml @@ -4,11 +4,47 @@ metadata: name: workflows.argoproj.io spec: group: argoproj.io - version: v1alpha1 - scope: Namespaced names: kind: Workflow + listKind: WorkflowList plural: workflows shortNames: - wf ---- + singular: workflow + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Status of the workflow + jsonPath: .status.phase + name: Status + type: string + - description: When the workflow was started + format: date-time + jsonPath: .status.startedAt + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-map-type: atomic + x-kubernetes-preserve-unknown-fields: true + status: + type: object + x-kubernetes-map-type: atomic + x-kubernetes-preserve-unknown-fields: true + required: + - metadata + - spec + type: object + served: true + storage: true + subresources: {} diff --git a/deploy/deploy-argo.yaml b/deploy/deploy-argo.yaml index 9f61a34..0ad1dba 100644 --- a/deploy/deploy-argo.yaml +++ b/deploy/deploy-argo.yaml @@ -129,7 +129,8 @@ spec: singular: workflow scope: Namespaced versions: - - additionalPrinterColumns: + - name: v1alpha1 + additionalPrinterColumns: - description: Status of the workflow jsonPath: .status.phase name: Status @@ -139,7 +140,6 @@ spec: jsonPath: .status.startedAt name: Age type: date - name: v1alpha1 schema: openAPIV3Schema: properties: From 42c3d544eda3cec9e77f7f14c50e5e9a14791065 Mon Sep 17 00:00:00 2001 From: jhu02 Date: Fri, 11 Mar 2022 07:21:13 -0800 Subject: [PATCH 3/9] Changes: move versions to sepc top Signed-off-by: jhu02 --- .../bases/activemonitor.keikoproj.io_healthchecks.yaml | 8 ++++---- config/crd/bases/argoproj_v1alpha1_workflows.yaml | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml index c79a2d3..18dab75 100644 --- a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml +++ b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml @@ -8,6 +8,10 @@ metadata: creationTimestamp: null name: healthchecks.activemonitor.keikoproj.io spec: + versions: + - name: v1alpha1 + served: true + storage: true additionalPrinterColumns: - JSONPath: .status.status name: LATEST STATUS @@ -215,10 +219,6 @@ spec: type: object type: object version: v1alpha1 - versions: - - name: v1alpha1 - served: true - storage: true status: acceptedNames: kind: "" diff --git a/config/crd/bases/argoproj_v1alpha1_workflows.yaml b/config/crd/bases/argoproj_v1alpha1_workflows.yaml index 2cb608c..05d73dd 100644 --- a/config/crd/bases/argoproj_v1alpha1_workflows.yaml +++ b/config/crd/bases/argoproj_v1alpha1_workflows.yaml @@ -13,7 +13,8 @@ spec: singular: workflow scope: Namespaced versions: - - additionalPrinterColumns: + - name: v1alpha1 + additionalPrinterColumns: - description: Status of the workflow jsonPath: .status.phase name: Status From 6b382a0fbc1978cfd50d6715da7ec6e0262d8344 Mon Sep 17 00:00:00 2001 From: jhu02 Date: Fri, 11 Mar 2022 12:41:37 -0800 Subject: [PATCH 4/9] Address BDD additionalPrinterColumns failure Signed-off-by: jhu02 --- ...tivemonitor.keikoproj.io_healthchecks.yaml | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml index 18dab75..01370df 100644 --- a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml +++ b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml @@ -8,29 +8,6 @@ metadata: creationTimestamp: null name: healthchecks.activemonitor.keikoproj.io spec: - versions: - - name: v1alpha1 - served: true - storage: true - additionalPrinterColumns: - - JSONPath: .status.status - name: LATEST STATUS - type: string - - JSONPath: .status.successCount - name: 'SUCCESS CNT ' - type: string - - JSONPath: .status.failedCount - name: FAIL CNT - type: string - - JSONPath: .status.remedySuccessCount - name: 'REMEDY SUCCESS CNT ' - type: string - - JSONPath: .status.remedyFailedCount - name: REMEDY FAIL CNT - type: string - - JSONPath: .metadata.creationTimestamp - name: Age - type: date group: activemonitor.keikoproj.io names: kind: HealthCheck @@ -41,6 +18,29 @@ spec: - hcs singular: healthcheck scope: Namespaced + versions: + - name: v1alpha1 + served: true + storage: true + additionalPrinterColumns: + - JSONPath: .status.status + name: LATEST STATUS + type: string + - JSONPath: .status.successCount + name: 'SUCCESS CNT ' + type: string + - JSONPath: .status.failedCount + name: FAIL CNT + type: string + - JSONPath: .status.remedySuccessCount + name: 'REMEDY SUCCESS CNT ' + type: string + - JSONPath: .status.remedyFailedCount + name: REMEDY FAIL CNT + type: string + - JSONPath: .metadata.creationTimestamp + name: Age + type: date subresources: status: {} validation: From afae36722e86044587d205c088199993c428cfbc Mon Sep 17 00:00:00 2001 From: jhu02 Date: Fri, 11 Mar 2022 14:45:09 -0800 Subject: [PATCH 5/9] Address BDD tests failure Signed-off-by: jhu02 --- ...tivemonitor.keikoproj.io_healthchecks.yaml | 190 +----------------- 1 file changed, 6 insertions(+), 184 deletions(-) diff --git a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml index 01370df..16a1cef 100644 --- a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml +++ b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml @@ -23,202 +23,24 @@ spec: served: true storage: true additionalPrinterColumns: - - JSONPath: .status.status + - jsonPath: .status.status name: LATEST STATUS type: string - - JSONPath: .status.successCount + - jsonPath: .status.successCount name: 'SUCCESS CNT ' type: string - - JSONPath: .status.failedCount + - jsonPath: .status.failedCount name: FAIL CNT type: string - - JSONPath: .status.remedySuccessCount + - jsonPath: .status.remedySuccessCount name: 'REMEDY SUCCESS CNT ' type: string - - JSONPath: .status.remedyFailedCount + - jsonPath: .status.remedyFailedCount name: REMEDY FAIL CNT type: string - - JSONPath: .metadata.creationTimestamp + - jsonPath: .metadata.creationTimestamp name: Age type: date - subresources: - status: {} - validation: - openAPIV3Schema: - description: HealthCheck is the Schema for the healthchecks API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HealthCheckSpec defines the desired state of HealthCheck Either - RepeatAfterSec or Schedule must be defined for the health check to run - properties: - description: - type: string - level: - type: string - remedyResetInterval: - type: integer - remedyRunsLimit: - type: integer - remedyworkflow: - description: Workflow struct describes a Remedy workflow - properties: - generateName: - type: string - resource: - description: ResourceObject is the resource object to create on - kubernetes - properties: - namespace: - description: Namespace in which to create this object defaults - to the service account namespace - type: string - serviceAccount: - type: string - source: - description: Source of the K8 resource file(s) - properties: - file: - description: FileArtifact contains information about an - artifact in a filesystem - properties: - path: - type: string - type: object - inline: - type: string - url: - description: URLArtifact contains information about an artifact - at an http endpoint. - properties: - path: - type: string - verifyCert: - type: boolean - type: object - type: object - required: - - namespace - - source - type: object - workflowtimeout: - type: integer - type: object - repeatAfterSec: - type: integer - schedule: - description: ScheduleSpec contains the cron expression - properties: - cron: - description: 'cron expressions can be found here: https://godoc.org/github.com/robfig/cron' - type: string - type: object - workflow: - description: Workflow struct describes an Argo workflow - properties: - generateName: - type: string - resource: - description: ResourceObject is the resource object to create on - kubernetes - properties: - namespace: - description: Namespace in which to create this object defaults - to the service account namespace - type: string - serviceAccount: - type: string - source: - description: Source of the K8 resource file(s) - properties: - file: - description: FileArtifact contains information about an - artifact in a filesystem - properties: - path: - type: string - type: object - inline: - type: string - url: - description: URLArtifact contains information about an artifact - at an http endpoint. - properties: - path: - type: string - verifyCert: - type: boolean - type: object - type: object - required: - - namespace - - source - type: object - workflowtimeout: - type: integer - type: object - required: - - workflow - type: object - status: - description: HealthCheckStatus defines the observed state of HealthCheck - properties: - errorMessage: - type: string - failedCount: - type: integer - finishedAt: - format: date-time - type: string - lastFailedAt: - format: date-time - type: string - lastFailedWorkflow: - type: string - lastSuccessfulWorkflow: - type: string - remedyErrorMessage: - type: string - remedyFailedCount: - type: integer - remedyFinishedAt: - format: date-time - type: string - remedyLastFailedAt: - format: date-time - type: string - remedyStatus: - type: string - remedySuccessCount: - type: integer - remedyTotalRuns: - type: integer - remedyTriggeredAt: - format: date-time - type: string - startedAt: - format: date-time - type: string - status: - type: string - successCount: - type: integer - totalHealthCheckRuns: - type: integer - type: object - type: object - version: v1alpha1 status: acceptedNames: kind: "" From 09e66869131268bd75bc967e1fca525cd33b0633 Mon Sep 17 00:00:00 2001 From: jhu02 Date: Fri, 11 Mar 2022 16:28:18 -0800 Subject: [PATCH 6/9] Fix: add schema back Signed-off-by: jhu02 --- config/crd/bases/.a.yaml.swp | Bin 0 -> 16384 bytes ...tivemonitor.keikoproj.io_healthchecks.yaml | 175 ++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 config/crd/bases/.a.yaml.swp diff --git a/config/crd/bases/.a.yaml.swp b/config/crd/bases/.a.yaml.swp new file mode 100644 index 0000000000000000000000000000000000000000..961312dded7226d0629054c1b9957a40c1541d36 GIT binary patch literal 16384 zcmeI3Ux*|}9mmUD{`e=C6ZJs^W5q1=n` zq^f%FHaR1B2tN4lA(HqK5xqbHCJ#9u5+8yZAs{9oiV(?*`Vdr%2%p*o%AC+{`FJF?hT?Ko)&l7&sjR# zIWFXFTCa6Z7~KuE6k#pPgIU7fME9(by-DDv$*?PR)RS@?*y&nNNEfWDPNd_&Y15NB z9tV@2G^5^7SY>;nyCI^w*;*<7(ktKa#2~L2U!F#|z-_F=?!E@ky;2v-r zxB*-N{`5A+z76gN_kd4;SKrFmQ{by$3J!w<;15?Z_7m`Z&$bD%>fyag zx=IGT3XW~xhUbOnHQO(Zj=4HBgFF^>wOpb~L&e8BiAQ{@41}3FH?vDUd|5Kmva8Lc z{BeoV!|W>(9q(sp`K2FZyE2Hj90;5JvWzzEnCCQjipX?u7#!xWES5{m88pLC5B0<9d z7ehD!*%x`TR?CSAw|ko%$r8k25YG)*<=XGMasQJIQ79QeEG*Z~A#~5IU#D;OVSAvl67BO9wc zvy4pCkIgZ!sbv0*{)Q!pSRDa(>a!-ay0R5wpw1(t@`Wv5wA$xRMBlk zzqIiN@2g0SHa6!bR#w=g&x&cQUh}NhO_N=gub;&B7(Qy9^Rx2M5s&aFv5q1n_$db15h5j%ddF0W&`mi45V=OKZIZH6 zl*{Kw)1)huG7WDsQ<;+?Ax+!}6{%xj$S5V|hw)KwDSoktjmoW*X;q6>BIU$LI5D5F zVLZ3V5DjS4_(56x;&hjD0J(wF2#z0>#iNL z-9Y0z<0wk-$?*n#af}#ynBePU+Z$2)^=vTd2qUL~Lok~d)f2OzgLLaErb*LwqtW&B zTDG$m#3Ne`G4p*<9I1LP{XL#37W z-;NTg?~8nCz~P<=4Fh>`SS_Sx`iBR1Yz+=n-lj>a^p1q5Ze?N-W@UT?VZtbV2csy; z=Sggo)RQ>4AFh#B1Mhl?WiLjsy69tyVKV8r^tMx-gd+-kAiskeo3*8oJQCzdsaPQ# z$hK>~d}8%Zv>(MwmZO?!Sy=wXROOqp#8ensCqOSjZI>9W|9^;e>djc+()z#n`~H(y>whC( z_xEvr1MB_g!FRzIz-Pg&fc5}>1D*jBa1dM#{)n~zbKnth27Cs547`kW|Ks2s5a1SY z4fq|_`#%DYfV1FpUto>gA7r=MGSHKzYA+Qhp9eV&TgCB$Q;AbD~Y;0C9{l!H=}2s_2R0U89gSfJ0h^$z4-DT31a-~ zS-atOb+ZcX&gZh%Ic$tJ$KkMIGPi(lb=MFY5J(6Si0=GUB;=4?5;&rOIyrGW7NspBCe_D#7kZ^<1o(banD&lYMV8Wq-xMzP&1nbGZwi-OWAoS6>8(iN OH-!r&it{Di6#h4u_hC~2 literal 0 HcmV?d00001 diff --git a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml index 16a1cef..abf0528 100644 --- a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml +++ b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml @@ -41,6 +41,181 @@ spec: - jsonPath: .metadata.creationTimestamp name: Age type: date + schema: + openAPIV3Schema: + description: HealthCheck is the Schema for the healthchecks API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: HealthCheckSpec defines the desired state of HealthCheck Either + RepeatAfterSec or Schedule must be defined for the health check to run + properties: + description: + type: string + level: + type: string + remedyResetInterval: + type: integer + remedyRunsLimit: + type: integer + remedyworkflow: + description: Workflow struct describes a Remedy workflow + properties: + generateName: + type: string + resource: + description: ResourceObject is the resource object to create on + kubernetes + properties: + namespace: + description: Namespace in which to create this object defaults + to the service account namespace + type: string + serviceAccount: + type: string + source: + description: Source of the K8 resource file(s) + properties: + file: + description: FileArtifact contains information about an + artifact in a filesystem + properties: + path: + type: string + type: object + inline: + type: string + url: + description: URLArtifact contains information about an artifact + at an http endpoint. + properties: + path: + type: string + verifyCert: + type: boolean + type: object + type: object + required: + - namespace + - source + type: object + workflowtimeout: + type: integer + type: object + repeatAfterSec: + type: integer + schedule: + description: ScheduleSpec contains the cron expression + properties: + cron: + description: 'cron expressions can be found here: https://godoc.org/github.com/robfig/cron' + type: string + type: object + workflow: + description: Workflow struct describes an Argo workflow + properties: + generateName: + type: string + resource: + description: ResourceObject is the resource object to create on + kubernetes + properties: + namespace: + description: Namespace in which to create this object defaults + to the service account namespace + type: string + serviceAccount: + type: string + source: + description: Source of the K8 resource file(s) + properties: + file: + description: FileArtifact contains information about an + artifact in a filesystem + properties: + path: + type: string + type: object + inline: + type: string + url: + description: URLArtifact contains information about an artifact + at an http endpoint. + properties: + path: + type: string + verifyCert: + type: boolean + type: object + type: object + required: + - namespace + - source + type: object + workflowtimeout: + type: integer + type: object + required: + - workflow + type: object + status: + description: HealthCheckStatus defines the observed state of HealthCheck + properties: + errorMessage: + type: string + failedCount: + type: integer + finishedAt: + format: date-time + type: string + lastFailedAt: + format: date-time + type: string + lastFailedWorkflow: + type: string + lastSuccessfulWorkflow: + type: string + remedyErrorMessage: + type: string + remedyFailedCount: + type: integer + remedyFinishedAt: + format: date-time + type: string + remedyLastFailedAt: + format: date-time + type: string + remedyStatus: + type: string + remedySuccessCount: + type: integer + remedyTotalRuns: + type: integer + remedyTriggeredAt: + format: date-time + type: string + startedAt: + format: date-time + type: string + status: + type: string + successCount: + type: integer + totalHealthCheckRuns: + type: integer + type: object + type: object status: acceptedNames: kind: "" From d85f681d5310bc0bf3f17f5ec6f12b667b2f3c82 Mon Sep 17 00:00:00 2001 From: jhu02 Date: Fri, 11 Mar 2022 16:54:33 -0800 Subject: [PATCH 7/9] Remove dirty file Signed-off-by: jhu02 --- config/crd/bases/.a.yaml.swp | Bin 16384 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 config/crd/bases/.a.yaml.swp diff --git a/config/crd/bases/.a.yaml.swp b/config/crd/bases/.a.yaml.swp deleted file mode 100644 index 961312dded7226d0629054c1b9957a40c1541d36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI3Ux*|}9mmUD{`e=C6ZJs^W5q1=n` zq^f%FHaR1B2tN4lA(HqK5xqbHCJ#9u5+8yZAs{9oiV(?*`Vdr%2%p*o%AC+{`FJF?hT?Ko)&l7&sjR# zIWFXFTCa6Z7~KuE6k#pPgIU7fME9(by-DDv$*?PR)RS@?*y&nNNEfWDPNd_&Y15NB z9tV@2G^5^7SY>;nyCI^w*;*<7(ktKa#2~L2U!F#|z-_F=?!E@ky;2v-r zxB*-N{`5A+z76gN_kd4;SKrFmQ{by$3J!w<;15?Z_7m`Z&$bD%>fyag zx=IGT3XW~xhUbOnHQO(Zj=4HBgFF^>wOpb~L&e8BiAQ{@41}3FH?vDUd|5Kmva8Lc z{BeoV!|W>(9q(sp`K2FZyE2Hj90;5JvWzzEnCCQjipX?u7#!xWES5{m88pLC5B0<9d z7ehD!*%x`TR?CSAw|ko%$r8k25YG)*<=XGMasQJIQ79QeEG*Z~A#~5IU#D;OVSAvl67BO9wc zvy4pCkIgZ!sbv0*{)Q!pSRDa(>a!-ay0R5wpw1(t@`Wv5wA$xRMBlk zzqIiN@2g0SHa6!bR#w=g&x&cQUh}NhO_N=gub;&B7(Qy9^Rx2M5s&aFv5q1n_$db15h5j%ddF0W&`mi45V=OKZIZH6 zl*{Kw)1)huG7WDsQ<;+?Ax+!}6{%xj$S5V|hw)KwDSoktjmoW*X;q6>BIU$LI5D5F zVLZ3V5DjS4_(56x;&hjD0J(wF2#z0>#iNL z-9Y0z<0wk-$?*n#af}#ynBePU+Z$2)^=vTd2qUL~Lok~d)f2OzgLLaErb*LwqtW&B zTDG$m#3Ne`G4p*<9I1LP{XL#37W z-;NTg?~8nCz~P<=4Fh>`SS_Sx`iBR1Yz+=n-lj>a^p1q5Ze?N-W@UT?VZtbV2csy; z=Sggo)RQ>4AFh#B1Mhl?WiLjsy69tyVKV8r^tMx-gd+-kAiskeo3*8oJQCzdsaPQ# z$hK>~d}8%Zv>(MwmZO?!Sy=wXROOqp#8ensCqOSjZI>9W|9^;e>djc+()z#n`~H(y>whC( z_xEvr1MB_g!FRzIz-Pg&fc5}>1D*jBa1dM#{)n~zbKnth27Cs547`kW|Ks2s5a1SY z4fq|_`#%DYfV1FpUto>gA7r=MGSHKzYA+Qhp9eV&TgCB$Q;AbD~Y;0C9{l!H=}2s_2R0U89gSfJ0h^$z4-DT31a-~ zS-atOb+ZcX&gZh%Ic$tJ$KkMIGPi(lb=MFY5J(6Si0=GUB;=4?5;&rOIyrGW7NspBCe_D#7kZ^<1o(banD&lYMV8Wq-xMzP&1nbGZwi-OWAoS6>8(iN OH-!r&it{Di6#h4u_hC~2 From 9e1fc000a3799fa16d5bfebc8d6fb059fbd123c3 Mon Sep 17 00:00:00 2001 From: jhu02 Date: Fri, 11 Mar 2022 18:31:40 -0800 Subject: [PATCH 8/9] Fix schema error Signed-off-by: jhu02 --- ...tivemonitor.keikoproj.io_healthchecks.yaml | 295 +++++++++--------- 1 file changed, 148 insertions(+), 147 deletions(-) diff --git a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml index abf0528..26a25c4 100644 --- a/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml +++ b/config/crd/bases/activemonitor.keikoproj.io_healthchecks.yaml @@ -41,184 +41,185 @@ spec: - jsonPath: .metadata.creationTimestamp name: Age type: date - schema: - openAPIV3Schema: - description: HealthCheck is the Schema for the healthchecks API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HealthCheckSpec defines the desired state of HealthCheck Either - RepeatAfterSec or Schedule must be defined for the health check to run + schema: + openAPIV3Schema: + description: HealthCheck is the Schema for the healthchecks API properties: - description: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string - level: + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string - remedyResetInterval: - type: integer - remedyRunsLimit: - type: integer - remedyworkflow: - description: Workflow struct describes a Remedy workflow + metadata: + type: object + spec: + description: HealthCheckSpec defines the desired state of HealthCheck Either + RepeatAfterSec or Schedule must be defined for the health check to run properties: - generateName: + description: type: string - resource: - description: ResourceObject is the resource object to create on - kubernetes + level: + type: string + remedyResetInterval: + type: integer + remedyRunsLimit: + type: integer + remedyworkflow: + description: Workflow struct describes a Remedy workflow properties: - namespace: - description: Namespace in which to create this object defaults - to the service account namespace - type: string - serviceAccount: + generateName: type: string - source: - description: Source of the K8 resource file(s) + resource: + description: ResourceObject is the resource object to create on + kubernetes properties: - file: - description: FileArtifact contains information about an - artifact in a filesystem - properties: - path: - type: string - type: object - inline: + namespace: + description: Namespace in which to create this object defaults + to the service account namespace + type: string + serviceAccount: type: string - url: - description: URLArtifact contains information about an artifact - at an http endpoint. + source: + description: Source of the K8 resource file(s) properties: - path: + file: + description: FileArtifact contains information about an + artifact in a filesystem + properties: + path: + type: string + type: object + inline: type: string - verifyCert: - type: boolean + url: + description: URLArtifact contains information about an artifact + at an http endpoint. + properties: + path: + type: string + verifyCert: + type: boolean + type: object type: object + required: + - namespace + - source type: object - required: - - namespace - - source + workflowtimeout: + type: integer type: object - workflowtimeout: + repeatAfterSec: type: integer - type: object - repeatAfterSec: - type: integer - schedule: - description: ScheduleSpec contains the cron expression - properties: - cron: - description: 'cron expressions can be found here: https://godoc.org/github.com/robfig/cron' - type: string - type: object - workflow: - description: Workflow struct describes an Argo workflow - properties: - generateName: - type: string - resource: - description: ResourceObject is the resource object to create on - kubernetes + schedule: + description: ScheduleSpec contains the cron expression properties: - namespace: - description: Namespace in which to create this object defaults - to the service account namespace + cron: + description: 'cron expressions can be found here: https://godoc.org/github.com/robfig/cron' type: string - serviceAccount: + type: object + workflow: + description: Workflow struct describes an Argo workflow + properties: + generateName: type: string - source: - description: Source of the K8 resource file(s) + resource: + description: ResourceObject is the resource object to create on + kubernetes properties: - file: - description: FileArtifact contains information about an - artifact in a filesystem - properties: - path: - type: string - type: object - inline: + namespace: + description: Namespace in which to create this object defaults + to the service account namespace type: string - url: - description: URLArtifact contains information about an artifact - at an http endpoint. + serviceAccount: + type: string + source: + description: Source of the K8 resource file(s) properties: - path: + file: + description: FileArtifact contains information about an + artifact in a filesystem + properties: + path: + type: string + type: object + inline: type: string - verifyCert: - type: boolean + url: + description: URLArtifact contains information about an artifact + at an http endpoint. + properties: + path: + type: string + verifyCert: + type: boolean + type: object type: object + required: + - namespace + - source type: object - required: - - namespace - - source + workflowtimeout: + type: integer type: object - workflowtimeout: - type: integer + required: + - workflow type: object - required: - - workflow - type: object - status: - description: HealthCheckStatus defines the observed state of HealthCheck - properties: - errorMessage: - type: string - failedCount: - type: integer - finishedAt: - format: date-time - type: string - lastFailedAt: - format: date-time - type: string - lastFailedWorkflow: - type: string - lastSuccessfulWorkflow: - type: string - remedyErrorMessage: - type: string - remedyFailedCount: - type: integer - remedyFinishedAt: - format: date-time - type: string - remedyLastFailedAt: - format: date-time - type: string - remedyStatus: - type: string - remedySuccessCount: - type: integer - remedyTotalRuns: - type: integer - remedyTriggeredAt: - format: date-time - type: string - startedAt: - format: date-time - type: string status: - type: string - successCount: - type: integer - totalHealthCheckRuns: - type: integer + description: HealthCheckStatus defines the observed state of HealthCheck + properties: + errorMessage: + type: string + failedCount: + type: integer + finishedAt: + format: date-time + type: string + lastFailedAt: + format: date-time + type: string + lastFailedWorkflow: + type: string + lastSuccessfulWorkflow: + type: string + remedyErrorMessage: + type: string + remedyFailedCount: + type: integer + remedyFinishedAt: + format: date-time + type: string + remedyLastFailedAt: + format: date-time + type: string + remedyStatus: + type: string + remedySuccessCount: + type: integer + remedyTotalRuns: + type: integer + remedyTriggeredAt: + format: date-time + type: string + startedAt: + format: date-time + type: string + status: + type: string + successCount: + type: integer + totalHealthCheckRuns: + type: integer + type: object type: object - type: object status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: [] + From e465f2e831ef5ebffec330403758c2e0a4dc9d65 Mon Sep 17 00:00:00 2001 From: jhu02 Date: Sat, 12 Mar 2022 07:49:55 -0800 Subject: [PATCH 9/9] Fix: BDD Required value: schemas are required Signed-off-by: jhu02 --- deploy/deploy-argo.yaml | 223 ++++++++++++++++++++-------------------- 1 file changed, 111 insertions(+), 112 deletions(-) diff --git a/deploy/deploy-argo.yaml b/deploy/deploy-argo.yaml index 0ad1dba..d3a6c1e 100644 --- a/deploy/deploy-argo.yaml +++ b/deploy/deploy-argo.yaml @@ -20,25 +20,25 @@ spec: singular: clusterworkflowtemplate scope: Cluster versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - x-kubernetes-preserve-unknown-fields: true - required: - - metadata - - spec - type: object - served: true - storage: true + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + required: + - metadata + - spec + type: object + served: true + storage: true --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -56,28 +56,28 @@ spec: singular: cronworkflow scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - x-kubernetes-preserve-unknown-fields: true - status: - type: object - x-kubernetes-preserve-unknown-fields: true - required: - - metadata - - spec - type: object - served: true - storage: true + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + type: object + x-kubernetes-preserve-unknown-fields: true + required: + - metadata + - spec + type: object + served: true + storage: true --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -94,25 +94,25 @@ spec: singular: workfloweventbinding scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - x-kubernetes-preserve-unknown-fields: true - required: - - metadata - - spec - type: object - served: true - storage: true + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + required: + - metadata + - spec + type: object + served: true + storage: true --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -129,39 +129,38 @@ spec: singular: workflow scope: Namespaced versions: - - name: v1alpha1 - additionalPrinterColumns: - - description: Status of the workflow - jsonPath: .status.phase - name: Status - type: string - - description: When the workflow was started - format: date-time - jsonPath: .status.startedAt - name: Age - type: date - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - x-kubernetes-preserve-unknown-fields: true - status: - type: object - x-kubernetes-preserve-unknown-fields: true - required: - - metadata - - spec - type: object - served: true - storage: true - subresources: {} + - name: v1alpha1 + additionalPrinterColumns: + - description: Status of the workflow + jsonPath: .status.phase + name: Status + type: string + - description: When the workflow was started + format: date-time + jsonPath: .status.startedAt + name: Age + type: date + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + status: + type: object + x-kubernetes-preserve-unknown-fields: true + required: + - metadata + - spec + type: object + served: true + storage: true --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -178,25 +177,25 @@ spec: singular: workflowtemplate scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - type: string - kind: - type: string - metadata: - type: object - spec: - type: object - x-kubernetes-preserve-unknown-fields: true - required: - - metadata - - spec - type: object - served: true - storage: true + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-preserve-unknown-fields: true + required: + - metadata + - spec + type: object + served: true + storage: true --- apiVersion: v1 kind: ServiceAccount