From 3ba9e8e1fbcfbd86627477d810a943b5bccd7595 Mon Sep 17 00:00:00 2001 From: Denis Khachyan Date: Mon, 20 Nov 2023 11:28:16 +0200 Subject: [PATCH] release v0.0.32 --- CHANGELOG.md | 3 + helm/charts/vector-operator/Chart.yaml | 4 +- .../observability.kaasops.io_vectors.yaml | 303 ++++++++++++++++++ helm/index.yaml | 69 ++-- helm/packages/vector-operator-0.0.32.tgz | Bin 0 -> 32988 bytes 5 files changed, 349 insertions(+), 30 deletions(-) create mode 100644 helm/packages/vector-operator-0.0.32.tgz diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cd15bd..164c568 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## v0.0.32 +- [[128]](https://github.com/kaasops/vector-operator/pull/128) **Feature** Add probes attribute to vector-agent + ## v0.0.31 - [[127]](https://github.com/kaasops/vector-operator/pull/127) **Fix** Add imagePullSecrets from Vector Agent to ConfigCheck diff --git a/helm/charts/vector-operator/Chart.yaml b/helm/charts/vector-operator/Chart.yaml index c29e30d..b46cea4 100644 --- a/helm/charts/vector-operator/Chart.yaml +++ b/helm/charts/vector-operator/Chart.yaml @@ -15,13 +15,13 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.31 +version: 0.0.32 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "v0.0.31" +appVersion: "v0.0.32" home: https://github.com/kaasops/vector-operator sources: diff --git a/helm/charts/vector-operator/crds/observability.kaasops.io_vectors.yaml b/helm/charts/vector-operator/crds/observability.kaasops.io_vectors.yaml index a153b61..5d45ae4 100644 --- a/helm/charts/vector-operator/crds/observability.kaasops.io_vectors.yaml +++ b/helm/charts/vector-operator/crds/observability.kaasops.io_vectors.yaml @@ -920,6 +920,11 @@ spec: properties: enabled: type: boolean + healthcheck: + description: Enable ReadinessProbe and LivenessProbe via api + /health endpoint. If probe enabled via VectorAgent, this + setting will be ignored for that probe. + type: boolean playground: type: boolean type: object @@ -2270,6 +2275,155 @@ spec: internalMetrics: description: Enable internal metrics exporter type: boolean + livenessProbe: + description: Periodic probe of container liveness. Container will + be restarted if the probe fails. + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: Command is the command line to execute inside + the container, the working directory for the command is + root ('/') in the container's filesystem. The command + is simply exec'd, it is not run inside a shell, so traditional + shell instructions ('|', etc) won't work. To use a shell, + you need to explicitly call out to that shell. Exit + status of 0 is treated as live/healthy and non-zero + is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: Minimum consecutive failures for the probe to + be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + This is a beta field and requires enabling GRPCContainerProbe + feature gate. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: "Service is the name of the service to place + in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + \n If this is not specified, the default behavior is + defined by gRPC." + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: Host name to connect to, defaults to the + pod IP. You probably want to set "Host" in httpHeaders + instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: The header field name + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: Name or number of the port to access on the + container. Number must be in the range 1 to 65535. Name + must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'Number of seconds after the container has started + before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + periodSeconds: + description: How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: Minimum consecutive successes for the probe to + be considered successful after having failed. Defaults to + 1. Must be 1 for liveness and startup. Minimum value is + 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: Number or name of the port to access on the + container. Number must be in the range 1 to 65535. Name + must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: Optional duration in seconds the pod needs to + terminate gracefully upon probe failure. The grace period + is the duration in seconds after the processes running in + the pod are sent a termination signal and the time when + the processes are forcibly halted with a kill signal. Set + this value longer than the expected cleanup time for your + process. If this value is nil, the pod's terminationGracePeriodSeconds + will be used. Otherwise, this value overrides the value + provided by the pod spec. Value must be non-negative integer. + The value zero indicates stop immediately via the kill signal + (no opportunity to shut down). This is a beta field and + requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is + used if unset. + format: int64 + type: integer + timeoutSeconds: + description: 'Number of seconds after which the probe times + out. Defaults to 1 second. Minimum value is 1. More info: + https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + type: object podSecurityContext: description: SecurityContext holds pod-level security attributes and common container settings. This defaults to the default @@ -2449,6 +2603,155 @@ spec: priorityClassName: description: PriorityClassName assigned to the Pods type: string + readinessProbe: + description: Periodic probe of container service readiness. Container + will be removed from service endpoints if the probe fails. + properties: + exec: + description: Exec specifies the action to take. + properties: + command: + description: Command is the command line to execute inside + the container, the working directory for the command is + root ('/') in the container's filesystem. The command + is simply exec'd, it is not run inside a shell, so traditional + shell instructions ('|', etc) won't work. To use a shell, + you need to explicitly call out to that shell. Exit + status of 0 is treated as live/healthy and non-zero + is unhealthy. + items: + type: string + type: array + type: object + failureThreshold: + description: Minimum consecutive failures for the probe to + be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. + format: int32 + type: integer + grpc: + description: GRPC specifies an action involving a GRPC port. + This is a beta field and requires enabling GRPCContainerProbe + feature gate. + properties: + port: + description: Port number of the gRPC service. Number must + be in the range 1 to 65535. + format: int32 + type: integer + service: + description: "Service is the name of the service to place + in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). + \n If this is not specified, the default behavior is + defined by gRPC." + type: string + required: + - port + type: object + httpGet: + description: HTTPGet specifies the http request to perform. + properties: + host: + description: Host name to connect to, defaults to the + pod IP. You probably want to set "Host" in httpHeaders + instead. + type: string + httpHeaders: + description: Custom headers to set in the request. HTTP + allows repeated headers. + items: + description: HTTPHeader describes a custom header to + be used in HTTP probes + properties: + name: + description: The header field name + type: string + value: + description: The header field value + type: string + required: + - name + - value + type: object + type: array + path: + description: Path to access on the HTTP server. + type: string + port: + anyOf: + - type: integer + - type: string + description: Name or number of the port to access on the + container. Number must be in the range 1 to 65535. Name + must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + scheme: + description: Scheme to use for connecting to the host. + Defaults to HTTP. + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'Number of seconds after the container has started + before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + periodSeconds: + description: How often (in seconds) to perform the probe. + Default to 10 seconds. Minimum value is 1. + format: int32 + type: integer + successThreshold: + description: Minimum consecutive successes for the probe to + be considered successful after having failed. Defaults to + 1. Must be 1 for liveness and startup. Minimum value is + 1. + format: int32 + type: integer + tcpSocket: + description: TCPSocket specifies an action involving a TCP + port. + properties: + host: + description: 'Optional: Host name to connect to, defaults + to the pod IP.' + type: string + port: + anyOf: + - type: integer + - type: string + description: Number or name of the port to access on the + container. Number must be in the range 1 to 65535. Name + must be an IANA_SVC_NAME. + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + description: Optional duration in seconds the pod needs to + terminate gracefully upon probe failure. The grace period + is the duration in seconds after the processes running in + the pod are sent a termination signal and the time when + the processes are forcibly halted with a kill signal. Set + this value longer than the expected cleanup time for your + process. If this value is nil, the pod's terminationGracePeriodSeconds + will be used. Otherwise, this value overrides the value + provided by the pod spec. Value must be non-negative integer. + The value zero indicates stop immediately via the kill signal + (no opportunity to shut down). This is a beta field and + requires enabling ProbeTerminationGracePeriod feature gate. + Minimum value is 1. spec.terminationGracePeriodSeconds is + used if unset. + format: int64 + type: integer + timeoutSeconds: + description: 'Number of seconds after which the probe times + out. Defaults to 1 second. Minimum value is 1. More info: + https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' + format: int32 + type: integer + type: object resources: description: Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ diff --git a/helm/index.yaml b/helm/index.yaml index 9396094..c9f3ee3 100644 --- a/helm/index.yaml +++ b/helm/index.yaml @@ -1,9 +1,22 @@ apiVersion: v1 entries: vector-operator: + - apiVersion: v2 + appVersion: v0.0.32 + created: "2023-11-20T11:28:07.27529149+02:00" + description: A Helm chart to install Vector Operator + digest: 26323037ec47f1703ea930a99ab4ec8fb93b44975ce969514ea68d4130017015 + home: https://github.com/kaasops/vector-operator + name: vector-operator + sources: + - https://github.com/kaasops/vector-operator + type: application + urls: + - https://kaasops.github.io/vector-operator/helm/packages/vector-operator-0.0.32.tgz + version: 0.0.32 - apiVersion: v2 appVersion: v0.0.31 - created: "2023-11-09T16:57:22.989212+02:00" + created: "2023-11-20T11:28:07.274406503+02:00" description: A Helm chart to install Vector Operator digest: 45b924c07a825e0f7cd3fb534a6ffd16604790d13be1aff59150c045474754e3 home: https://github.com/kaasops/vector-operator @@ -16,7 +29,7 @@ entries: version: 0.0.31 - apiVersion: v2 appVersion: v0.0.30 - created: "2023-11-09T16:57:22.98808+02:00" + created: "2023-11-20T11:28:07.273000231+02:00" description: A Helm chart to install Vector Operator digest: 03beda549d15f50325028ea29af5f2065ac0b8adf3078bf7dc1312981aa5e7db home: https://github.com/kaasops/vector-operator @@ -29,7 +42,7 @@ entries: version: 0.0.30 - apiVersion: v2 appVersion: v0.0.29 - created: "2023-11-09T16:57:22.987318+02:00" + created: "2023-11-20T11:28:07.272108201+02:00" description: A Helm chart to install Vector Operator digest: 0f025fc3a924b37b8c4131c4d8cfa437d2d4e557ab9476ed3e69a00232c7dca6 home: https://github.com/kaasops/vector-operator @@ -42,7 +55,7 @@ entries: version: 0.0.29 - apiVersion: v2 appVersion: v0.0.28 - created: "2023-11-09T16:57:22.986561+02:00" + created: "2023-11-20T11:28:07.271169582+02:00" description: A Helm chart to install Vector Operator digest: af856d41314313e04f15e7143409a9c564c6ca610b0d2eaec3112add8573e668 home: https://github.com/kaasops/vector-operator @@ -55,7 +68,7 @@ entries: version: 0.0.28 - apiVersion: v2 appVersion: v0.0.27 - created: "2023-11-09T16:57:22.985798+02:00" + created: "2023-11-20T11:28:07.269812986+02:00" description: A Helm chart to install Vector Operator digest: 631e2ff02bbd7f247cb486494fd2af60c57cc551066a6a3858226551bc1745a4 home: https://github.com/kaasops/vector-operator @@ -68,7 +81,7 @@ entries: version: 0.0.27 - apiVersion: v2 appVersion: v0.0.26 - created: "2023-11-09T16:57:22.984377+02:00" + created: "2023-11-20T11:28:07.268711612+02:00" description: A Helm chart to install Vector Operator digest: 760a2833f4c1a33466982419b079ff18d996331ebacc40cf93b0f55229cdb7db home: https://github.com/kaasops/vector-operator @@ -81,7 +94,7 @@ entries: version: 0.0.26 - apiVersion: v2 appVersion: v0.0.25 - created: "2023-11-09T16:57:22.983593+02:00" + created: "2023-11-20T11:28:07.267738585+02:00" description: A Helm chart to install Vector Operator digest: fd22b996b071b6d85740ccf76e85cb640fa717c2620748d206d3f4fdd44cbcc2 home: https://github.com/kaasops/vector-operator @@ -94,7 +107,7 @@ entries: version: 0.0.25 - apiVersion: v2 appVersion: v0.0.24 - created: "2023-11-09T16:57:22.982842+02:00" + created: "2023-11-20T11:28:07.266829797+02:00" description: A Helm chart to install Vector Operator digest: ea257e60ecde063a0d1ed52ce5e3283245b8f0e2daba58ea3a5adb0ba82d7799 home: https://github.com/kaasops/vector-operator @@ -107,7 +120,7 @@ entries: version: 0.0.24 - apiVersion: v2 appVersion: v0.0.23 - created: "2023-11-09T16:57:22.982081+02:00" + created: "2023-11-20T11:28:07.265485653+02:00" description: A Helm chart to install Vector Operator digest: 546d202b3b9263f789b88335263191098dfcabd5d8698105f37cad24d56a8ed0 home: https://github.com/kaasops/vector-operator @@ -120,7 +133,7 @@ entries: version: 0.0.23 - apiVersion: v2 appVersion: v0.0.22 - created: "2023-11-09T16:57:22.980961+02:00" + created: "2023-11-20T11:28:07.264300127+02:00" description: A Helm chart to install Vector Operator digest: bf96ddc8ac61e9d6beb8bc763fbf3fa6025d950b29d70d80de6e8a0ea45e0411 home: https://github.com/kaasops/vector-operator @@ -133,7 +146,7 @@ entries: version: 0.0.22 - apiVersion: v2 appVersion: v0.0.21 - created: "2023-11-09T16:57:22.980161+02:00" + created: "2023-11-20T11:28:07.263238533+02:00" description: A Helm chart to install Vector Operator digest: d37b3064c0374d71e06c0131bcac2bf9e60ec4d62fcbbb20704c5277eabd899d home: https://github.com/kaasops/vector-operator @@ -146,7 +159,7 @@ entries: version: 0.0.21 - apiVersion: v2 appVersion: v0.0.20 - created: "2023-11-09T16:57:22.97932+02:00" + created: "2023-11-20T11:28:07.262189691+02:00" description: A Helm chart to install Vector Operator digest: b95cd9ea8b74fde85175411129f77bf7a7afb4e9324ba2d02d489d0d6ef42d6d home: https://github.com/kaasops/vector-operator @@ -159,7 +172,7 @@ entries: version: 0.0.20 - apiVersion: v2 appVersion: v0.0.19 - created: "2023-11-09T16:57:22.978658+02:00" + created: "2023-11-20T11:28:07.26127816+02:00" description: A Helm chart to install Vector Operator digest: bc1acd8b21a95e373702daa9c4ce4226b28f56b9c9299482d47b200baddbec14 home: https://github.com/kaasops/vector-operator @@ -172,7 +185,7 @@ entries: version: 0.0.19 - apiVersion: v2 appVersion: v0.0.18 - created: "2023-11-09T16:57:22.977939+02:00" + created: "2023-11-20T11:28:07.260589367+02:00" description: A Helm chart to install Vector Operator digest: 2bf9cde6eec7b00bfc70d7ac79b1e9d4bf3a406749c6b2bd816f20efd0cb44c3 home: https://github.com/kaasops/vector-operator @@ -185,7 +198,7 @@ entries: version: 0.0.18 - apiVersion: v2 appVersion: v0.0.17 - created: "2023-11-09T16:57:22.977413+02:00" + created: "2023-11-20T11:28:07.259937731+02:00" description: A Helm chart to install Vector Operator digest: edb51a059b9231f9bc2e2e0dd82c432d0e799a6767a7829ee113054478e098ed home: https://github.com/kaasops/vector-operator @@ -198,7 +211,7 @@ entries: version: 0.0.17 - apiVersion: v2 appVersion: v0.0.16 - created: "2023-11-09T16:57:22.976875+02:00" + created: "2023-11-20T11:28:07.259366886+02:00" description: A Helm chart to install Vector Operator digest: 06e33602d72c44cf6779152df4936133ed87e228dd71cbb6615aa4c2666a1ee1 home: https://github.com/kaasops/vector-operator @@ -211,7 +224,7 @@ entries: version: 0.0.16 - apiVersion: v2 appVersion: v0.0.15 - created: "2023-11-09T16:57:22.976334+02:00" + created: "2023-11-20T11:28:07.258741078+02:00" description: A Helm chart to install Vector Operator digest: 6c9f5ba7a914329caa4f93342d3415fcf4e5fe39f5b7db69173896ea13a47c5b home: https://github.com/kaasops/vector-operator @@ -224,7 +237,7 @@ entries: version: 0.0.15 - apiVersion: v2 appVersion: v0.0.14 - created: "2023-11-09T16:57:22.975771+02:00" + created: "2023-11-20T11:28:07.257702279+02:00" description: A Helm chart to install Vector Operator digest: 9f7a3b66247dea7f826b2b38202b0ddfa72b30ecc0954d75be36e066deda9df9 home: https://github.com/kaasops/vector-operator @@ -237,7 +250,7 @@ entries: version: 0.0.14 - apiVersion: v2 appVersion: v0.0.13 - created: "2023-11-09T16:57:22.975153+02:00" + created: "2023-11-20T11:28:07.256851504+02:00" description: A Helm chart to install Vector Operator digest: c88a1866a20fb2aea4a23886e6e60080eba9ae7ef2706f492d9b329dc9ddf49b home: https://github.com/kaasops/vector-operator @@ -250,7 +263,7 @@ entries: version: 0.0.13 - apiVersion: v2 appVersion: v0.0.12 - created: "2023-11-09T16:57:22.973678+02:00" + created: "2023-11-20T11:28:07.256276081+02:00" description: A Helm chart to install Vector Operator digest: 384e8fd8f8f743036eaf1415d893158256a2ad9daddcb17a3d0701a528d9f0df home: https://github.com/kaasops/vector-operator @@ -263,7 +276,7 @@ entries: version: 0.0.12 - apiVersion: v2 appVersion: v0.0.11 - created: "2023-11-09T16:57:22.973116+02:00" + created: "2023-11-20T11:28:07.255655831+02:00" description: A Helm chart to install Vector Operator digest: 29e1e04c1706b88ef61ed6c91a45847e6069843419515a33046c5929b179e273 home: https://github.com/kaasops/vector-operator @@ -276,7 +289,7 @@ entries: version: 0.0.11 - apiVersion: v2 appVersion: v0.0.10 - created: "2023-11-09T16:57:22.972628+02:00" + created: "2023-11-20T11:28:07.255123529+02:00" description: A Helm chart to install Vector Operator digest: f4398224ce88b852b319c950d0f39bfd5e6181801c1fac1b42b069dd2d358078 home: https://github.com/kaasops/vector-operator @@ -289,7 +302,7 @@ entries: version: 0.0.10 - apiVersion: v2 appVersion: v0.0.9 - created: "2023-11-09T16:57:22.9908+02:00" + created: "2023-11-20T11:28:07.277344543+02:00" description: A Helm chart to install Vector Operator digest: 66c528b6daa9f6fb9a8dd91895b69151f3f0183f4685ba4a2bc026fac27f25a7 home: https://github.com/kaasops/vector-operator @@ -302,7 +315,7 @@ entries: version: 0.0.9 - apiVersion: v2 appVersion: v0.0.8 - created: "2023-11-09T16:57:22.990402+02:00" + created: "2023-11-20T11:28:07.276828286+02:00" description: A Helm chart to install Vector Operator digest: 21c4c214cd0206abb743e82ac757804d644de08d80eb5f2edbb82ff9668cfed3 home: https://github.com/kaasops/vector-operator @@ -315,7 +328,7 @@ entries: version: 0.0.8 - apiVersion: v2 appVersion: v0.0.7 - created: "2023-11-09T16:57:22.989998+02:00" + created: "2023-11-20T11:28:07.276348629+02:00" description: A Helm chart to install Vector Operator digest: 27915a2bf70da3f66d08cf4a1f6c41ad38937759ad52eaf8b19f5a3e348e2f2e home: https://github.com/kaasops/vector-operator @@ -328,7 +341,7 @@ entries: version: 0.0.7 - apiVersion: v2 appVersion: v0.0.6 - created: "2023-11-09T16:57:22.989603+02:00" + created: "2023-11-20T11:28:07.275787866+02:00" description: A Helm chart to install Vector Operator digest: 26760fbc2018336c12e8726307a624970ee994c4ffa021cc216c13669bd82f09 home: https://github.com/kaasops/vector-operator @@ -341,7 +354,7 @@ entries: version: 0.0.6 - apiVersion: v2 appVersion: v0.0.5 - created: "2023-11-09T16:57:22.97211+02:00" + created: "2023-11-20T11:28:07.254493609+02:00" description: A Helm chart to install Vector Operator digest: 1d6034027ae2f08a9dbea4d6ee9a1604117ae44d9daceb3f654b87a99175251f home: https://github.com/kaasops/vector-operator @@ -352,4 +365,4 @@ entries: urls: - https://kaasops.github.io/vector-operator/helm/packages/vector-operator-0.0.1.tgz version: 0.0.1 -generated: "2023-11-09T16:57:22.971209+02:00" +generated: "2023-11-20T11:28:07.24712405+02:00" diff --git a/helm/packages/vector-operator-0.0.32.tgz b/helm/packages/vector-operator-0.0.32.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c027800b3d123b07483deec8bfa3ec5e52c070af GIT binary patch literal 32988 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