### postStart.exec Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/cass-operator-releases/cass-operator-crds-1.27.x/_index.md Configuration for executing a command inside the container during the postStart lifecycle phase. ```APIDOC ## CassandraDatacenter.spec.podTemplateSpec.spec.containers[index].lifecycle.postStart.exec ### Description Exec specifies a command to execute in the container. ### Parameters #### Request Body - **command** ([]string) - Optional - Command line to execute inside the container. ``` -------------------------------- ### Ephemeral Container Post-Start HTTP GET Hook Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/cass-operator-crds-latest/_index.md Configuration for performing an HTTP GET request within an ephemeral container after it starts. ```APIDOC ## POST /api/k8ssandra/datacenter/ephemeralContainers/postStart/httpGet ### Description HTTPGet specifies an HTTP GET request to perform in the container after it starts. ### Method POST ### Endpoint /api/k8ssandra/datacenter/ephemeralContainers/postStart/httpGet ### Parameters #### Request Body - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** ([]object) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **name** (string) - Required - The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. - **value** (string) - Required - The header field value. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ### Request Example { "port": 8080, "path": "/healthz", "httpHeaders": [ { "name": "Content-Type", "value": "application/json" } ] } ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation. #### Response Example { "status": "success" } ``` -------------------------------- ### Cert Manager Helm Installation Output Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/install/gke/_index.md Example output from a successful Cert Manager Helm installation. It confirms the deployment and provides links to further documentation for configuring issuers and certificates. ```text NAME: cert-manager LAST DEPLOYED: Mon Jan 31 12:29:43 2022 NAMESPACE: cert-manager STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: cert-manager v1.7.0 has been deployed successfully! In order to begin issuing certificates, you will need to set up a ClusterIssuer or Issuer resource (for example, by creating a 'letsencrypt-staging' issuer). More information on the different types of issuers and how to configure them can be found in our documentation: https://cert-manager.io/docs/configuration/ For information on how to configure cert-manager to automatically provision Certificates for Ingress resources, take a look at the `ingress-shim` documentation: https://cert-manager.io/docs/usage/ingress/ ``` -------------------------------- ### CassandraBackup StartupProbe Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.0/_index.md Configuration for the startupProbe within a CassandraBackup's pod template. This probe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. ```APIDOC ## CassandraBackup StartupProbe Configuration ### Description StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. ### Endpoint N/A (Configuration within a resource definition) ### Parameters #### Request Body (within CassandraBackup resource definition) - **exec** (object) - Optional - One and only one of the following should be specified. Exec specifies the action to take. - **failureThreshold** (integer) - Optional - Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. - **httpGet** (object) - Optional - HTTPGet specifies the http request to perform. - **initialDelaySeconds** (integer) - Optional - Number of seconds after the container has started before liveness probes are initiated. Defaults to 0. - **periodSeconds** (integer) - Optional - How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. - **successThreshold** (integer) - Optional - 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. - **tcpSocket** (object) - Optional - TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported. - **terminationGracePeriodSeconds** (integer) - Optional - 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. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). Minimum value is 1. - **timeoutSeconds** (integer) - Optional - Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. ### Request Example ```json { "spec": { "podTemplateSpec": { "spec": { "containers": [ { "name": "cassandra", "startupProbe": { "httpGet": { "path": "/health", "port": 8080 }, "initialDelaySeconds": 15, "periodSeconds": 20 } } ] } } } } ``` ### Response N/A (This describes configuration, not a direct API response) ### Error Handling N/A ``` -------------------------------- ### CassandraBackup PostStart Hook Details Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-0.4/_index.md Details the available actions for the postStart lifecycle hook. ```APIDOC ## CassandraBackup PostStart Hook Details ### Description PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks ### Endpoint `/k8ssandra/k8ssandra-operator/CassandraBackup.status.cassdcTemplateSpec.spec.podTemplateSpec.spec.initContainers[index].lifecycle.postStart` ### Fields - **exec** (object) - Optional - One and only one of the following should be specified. Exec specifies the action to take. - **httpGet** (object) - Optional - HTTPGet specifies the http request to perform. - **tcpSocket** (object) - Optional - TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported TODO: implement a realistic TCP lifecycle hook ``` -------------------------------- ### HTTP GET Lifecycle Hook Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-0.4/_index.md Configure an HTTP GET request to be performed when a container starts. This includes specifying the port, host, path, scheme, and custom headers. ```APIDOC ## HTTP GET Lifecycle Hook ### Description Configures an HTTP GET request to be performed when a container starts. This is useful for health checks or initiating services. ### Method N/A (Configuration within resource definition) ### Endpoint N/A (Configuration within resource definition) ### Parameters #### Request Body (within `containers[index].lifecycle.postStart`) - **httpGet** (object) - Required - Specifies the HTTP GET action. - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** (array of objects) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **name** (string) - Required - The header field name. - **value** (string) - Required - The header field value. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ``` -------------------------------- ### CassandraBackup StartupProbe Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.11/_index.md Configuration details for the startupProbe within a CassandraBackup resource. This probe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted. ```APIDOC ## CassandraBackup StartupProbe Configuration ### Description StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. ### Endpoint N/A (Configuration within a resource definition) ### Parameters #### Request Body (StartupProbe Object) - **exec** (object) - Optional - Exec specifies the action to take. - **failureThreshold** (integer) - Optional - Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. - **grpc** (object) - Optional - GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. - **httpGet** (object) - Optional - HTTPGet specifies the http request to perform. - **initialDelaySeconds** (integer) - Optional - Number of seconds after the container has started before liveness probes are initiated. - **periodSeconds** (integer) - Optional - How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. - **successThreshold** (integer) - Optional - 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. - **tcpSocket** (object) - Optional - TCPSocket specifies an action involving a TCP port. - **terminationGracePeriodSeconds** (integer) - Optional - 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. - **timeoutSeconds** (integer) - Optional - Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. ### Request Example ```json { "exec": { "command": [ "cat", "/app/live.txt" ] }, "failureThreshold": 3, "initialDelaySeconds": 5, "periodSeconds": 10, "successThreshold": 1, "timeoutSeconds": 1 } ``` ### Response N/A (This is a configuration object, not an endpoint returning data) ``` -------------------------------- ### CassandraBackup Lifecycle HTTPGet Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.5/_index.md Configures an HTTP GET request to be performed when a container starts. ```APIDOC ## CassandraBackup Lifecycle HTTPGet ### Description HTTPGet specifies the http request to perform. ### Method N/A (Configuration within a resource definition) ### Endpoint N/A ### Parameters #### Request Body - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** ([]object) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ### Request Example ```json { "port": 8080, "path": "/healthz", "scheme": "HTTP", "host": "localhost", "httpHeaders": [ { "name": "Content-Type", "value": "application/json" } ] } ``` ### Response N/A (This is a configuration object, not an API endpoint response) #### Success Response (200) N/A #### Response Example N/A ``` -------------------------------- ### CassandraBackup StartupProbe Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.16/_index.md Configuration for the startupProbe within a CassandraBackup resource's pod template. This probe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted. ```APIDOC ## CassandraBackup StartupProbe Configuration ### Description StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. ### Endpoint N/A (Configuration within a resource definition) ### Parameters #### Request Body (within CassandraBackup resource definition) - **exec** (object) - Required: false - Exec specifies the action to take. - **failureThreshold** (integer) - Required: false - Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Format: int32. - **grpc** (object) - Required: false - GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. - **httpGet** (object) - Required: false - HTTPGet specifies the http request to perform. - **initialDelaySeconds** (integer) - Required: false - 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. - **periodSeconds** (integer) - Required: false - How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Format: int32. - **successThreshold** (integer) - Required: false - 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. - **tcpSocket** (object) - Required: false - TCPSocket specifies an action involving a TCP port. - **terminationGracePeriodSeconds** (integer) - Required: false - 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. - **timeoutSeconds** (integer) - Required: false - 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. ### Request Example ```json { "spec": { "podTemplateSpec": { "spec": { "containers": [ { "name": "cassandra", "startupProbe": { "httpGet": { "path": "/healthz", "port": 8080 }, "initialDelaySeconds": 15, "periodSeconds": 10, "timeoutSeconds": 1, "failureThreshold": 3 } } ] } } } } ``` ### Response N/A (This describes configuration, not a direct API response) ``` -------------------------------- ### K8ssandraCluster.spec.cassandra.containers[index].lifecycle.postStart.httpGet Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.22/_index.md Configure an HTTP GET request to perform after a container starts. ```APIDOC ## POST /k8ssandra/k8ssandra-operator/api/v1/k8ssandraclusters ### Description Configure an HTTP GET request to perform after a container starts. This is useful for health checks or initiating services. ### Method POST ### Endpoint /k8ssandra/k8ssandra-operator/api/v1/k8ssandraclusters ### Parameters #### Request Body - **spec.cassandra.containers[index].lifecycle.postStart.httpGet.port** (int or string) - Required - Name or number of the port to access on the container. Must be in the range 1 to 65535 for numbers, or an IANA_SVC_NAME for names. - **spec.cassandra.containers[index].lifecycle.postStart.httpGet.host** (string) - Optional - Host name to connect to. Defaults to the pod IP. Consider setting 'Host' in httpHeaders instead. - **spec.cassandra.containers[index].lifecycle.postStart.httpGet.path** (string) - Optional - Path to access on the HTTP server. - **spec.cassandra.containers[index].lifecycle.postStart.httpGet.scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. - **spec.cassandra.containers[index].lifecycle.postStart.httpGet.httpHeaders** ([]object) - Optional - Custom headers to set in the request. HTTP allows repeated headers. ``` -------------------------------- ### HTTPGet Action Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-0.5/_index.md Configures an HTTP GET request to be performed when a container starts. ```APIDOC ## HTTP GET Action Configuration ### Description Specifies the HTTP request to perform for a lifecycle hook. ### Endpoint N/A (Configuration within a resource definition) ### Parameters #### Request Body Fields - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** ([]object) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ### Request Example ```json { "port": 8080, "path": "/healthz", "scheme": "HTTP" } ``` ### Response N/A (This is a configuration, not an API endpoint response) ``` -------------------------------- ### K8ssandraCluster.spec.cassandra.containers[index].startupProbe Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.14/_index.md Configuration for the startupProbe, which indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. ```APIDOC ## K8ssandraCluster.spec.cassandra.containers[index].startupProbe ### Description StartupProbe indicates that the Pod has successfully initialized. If this probe fails, the Pod will be restarted. This is used to provide probe parameters during the initial lifecycle phase. ### Parameters #### Request Body - **exec** (object) - Optional - Exec specifies the action to take. - **failureThreshold** (integer) - Optional - Minimum consecutive failures for the probe to be considered failed. Defaults to 3. - **grpc** (object) - Optional - GRPC specifies an action involving a GRPC port. - **httpGet** (object) - Optional - HTTPGet specifies the http request to perform. - **initialDelaySeconds** (integer) - Optional - Number of seconds after the container has started before probes are initiated. - **periodSeconds** (integer) - Optional - How often (in seconds) to perform the probe. Default to 10 seconds. - **successThreshold** (integer) - Optional - Minimum consecutive successes for the probe to be considered successful. Defaults to 1. - **tcpSocket** (object) - Optional - TCPSocket specifies an action involving a TCP port. - **terminationGracePeriodSeconds** (integer) - Optional - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - **timeoutSeconds** (integer) - Optional - Number of seconds after which the probe times out. Defaults to 1 second. ``` -------------------------------- ### K8ssandraCluster Cassandra Datacenter Init Container PostStart Exec Action Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.13/_index.md Configuration for executing a command as part of the PostStart lifecycle hook. ```APIDOC ## K8ssandraCluster.spec.cassandra.datacenters[index].initContainers[index].lifecycle.postStart.exec ### Description Exec specifies the action to take. ### Parameters #### Query Parameters - **command** ([]string) - Optional - 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. ### Response #### Success Response (200) - **exec** (object) - Description of the exec configuration. #### Response Example ```json { "command": ["string"] } ``` ``` -------------------------------- ### K8ssandraCluster.spec.cassandra.datacenters[index].initContainers[index].lifecycle.postStart.httpGet Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.4/_index.md Configures an HTTP GET request to be performed after a container starts. ```APIDOC ## K8ssandraCluster.spec.cassandra.datacenters[index].initContainers[index].lifecycle.postStart.httpGet ### Description HTTPGet specifies the http request to perform. ### Method N/A (Configuration Schema) ### Endpoint N/A (Configuration Schema) ### Parameters #### Query Parameters - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** ([object]) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ### Request Example ```json { "port": 8080, "path": "/healthz" } ``` ### Response #### Success Response (200) N/A (Configuration Schema) #### Response Example N/A (Configuration Schema) ``` -------------------------------- ### Startup Probe Exec Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.22/_index.md Defines the command execution action for a startup probe. ```APIDOC ## Exec Action ### Description Specifies the command line to execute inside the container for a startup probe. ### Request Body - **command** ([]string) - Optional - Command line to execute inside the container. ``` -------------------------------- ### Container Lifecycle Post-Start HTTPGet Hook Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.22/_index.md Configure an HTTP GET request to perform after a container starts. ```APIDOC ## POST /k8ssandra/k8ssandra-operator/lifecycle/postStart/httpGet ### Description HTTPGet specifies the HTTP request to perform after a container starts. This is useful for health checks or initial setup. ### Method POST ### Endpoint /k8ssandra/k8ssandra-operator/lifecycle/postStart/httpGet ### Parameters #### Request Body - **port** (int or string) - Required - The name or number of the port to access on the container. Must be in the range 1 to 65535 for numbers, or an IANA_SVC_NAME for strings. - **host** (string) - Optional - The host name to connect to. Defaults to the pod IP. Consider setting 'Host' in httpHeaders instead. - **httpHeaders** (array of objects) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **name** (string) - Required - The header field name. This will be canonicalized upon output. - **value** (string) - Required - The header field value. - **path** (string) - Optional - The path to access on the HTTP server. - **scheme** (string) - Optional - The scheme to use for connecting to the host. Defaults to HTTP. ``` -------------------------------- ### Startup Probe Exec Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.14/_index.md Defines the command-line execution action for a startup probe. ```APIDOC ## Exec Action ### Description Specifies the command to execute inside the container for a startup probe. ### Parameters #### Request Body - **command** ([]string) - Optional - Command line to execute inside the container. Exit status 0 is healthy. ``` -------------------------------- ### K8ssandraCluster.spec.cassandra.datacenters[index].initContainers[index].lifecycle.postStart.httpGet Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.13/_index.md Configures an HTTP GET request to be performed when a container starts. ```APIDOC ## K8ssandraCluster.spec.cassandra.datacenters[index].initContainers[index].lifecycle.postStart.httpGet ### Description HTTPGet specifies the http request to perform. ### Method N/A (Configuration Schema) ### Endpoint N/A (Configuration Schema) ### Parameters #### Request Body - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** ([]object) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ### Request Example ```json { "port": 8080, "path": "/healthz" } ``` ### Response #### Success Response (200) N/A (Configuration Schema) #### Response Example N/A (Configuration Schema) ``` -------------------------------- ### Exec Startup Probe Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/cass-operator-releases/cass-operator-crds-1.18.x/_index.md Defines the command-line execution action for a startup probe. ```APIDOC ## Exec Startup Probe ### Description Specifies the command line to execute inside the container for a startup probe. ### Request Body - **command** ([]string) - Optional - Command line to execute. Exit status of 0 is healthy, non-zero is unhealthy. ``` -------------------------------- ### K8ssandraCluster.spec.cassandra.datacenters[index].containers[index].lifecycle.postStart.httpGet Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.16/_index.md Configures an HTTP GET request to be performed when a container starts. ```APIDOC ## K8ssandraCluster.spec.cassandra.datacenters[index].containers[index].lifecycle.postStart.httpGet ### Description HTTPGet specifies the http request to perform. ### Method N/A (Configuration Schema) ### Endpoint N/A (Configuration Schema) ### Parameters #### Query Parameters - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** (array of objects) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ### Request Example ```json { "port": 8080, "host": "localhost", "path": "/healthz", "scheme": "HTTP", "httpHeaders": [ { "name": "Content-Type", "value": "application/json" } ] } ``` ### Response #### Success Response (200) N/A (Configuration Schema) #### Response Example N/A (Configuration Schema) ``` -------------------------------- ### Container Lifecycle Post-Start HTTPGet Action Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.19/_index.md Configure an HTTP GET request to perform after a container starts. ```APIDOC ## POST /k8ssandra/k8ssandra-operator/lifecycle/postStart/httpGet ### Description HTTPGet specifies the HTTP request to perform after a container starts. This is useful for health checks or initial setup tasks. ### Method POST ### Endpoint /k8ssandra/k8ssandra-operator/lifecycle/postStart/httpGet ### Parameters #### Request Body - **port** (integer or string) - Required - The name or number of the port to access on the container. Must be in the range 1 to 65535 for numbers, or an IANA_SVC_NAME for strings. - **host** (string) - Optional - The host name to connect to. Defaults to the pod IP. It is recommended to set the 'Host' header instead. - **path** (string) - Optional - The path to access on the HTTP server. - **scheme** (string) - Optional - The scheme to use for connecting to the host. Defaults to 'HTTP'. - **httpHeaders** (array of objects) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **name** (string) - Required - The header field name. This will be canonicalized upon output. - **value** (string) - Required - The header field value. ### Request Example ```json { "port": 8080, "path": "/healthz", "httpHeaders": [ { "name": "Authorization", "value": "Bearer token" } ] } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the operation was successful. #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### StartupProbe Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-0.4/_index.md Defines the startupProbe settings for initContainers in the CassandraBackup status pod template. ```APIDOC ## StartupProbe Configuration ### Description StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted. ### Parameters #### Request Body - **exec** (object) - Optional - One and only one of the following should be specified. Exec specifies the action to take. - **failureThreshold** (integer) - Optional - Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. - **httpGet** (object) - Optional - HTTPGet specifies the http request to perform. - **initialDelaySeconds** (integer) - Optional - Number of seconds after the container has started before liveness probes are initiated. - **periodSeconds** (integer) - Optional - How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. - **successThreshold** (integer) - Optional - 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. - **tcpSocket** (object) - Optional - TCPSocket specifies an action involving a TCP port. - **terminationGracePeriodSeconds** (integer) - Optional - Optional duration in seconds the pod needs to terminate gracefully upon probe failure. - **timeoutSeconds** (integer) - Optional - Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. ``` -------------------------------- ### Deploy CRDs and Update Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/contribute/_index.md Installs and updates CRDs in the Kubernetes cluster. Use this for multi-cluster setups by switching contexts. ```shell make install ``` ```shell $ kubectx kind-k8ssandra-0 $ make install $ kubectx kind-k8ssandra-1 $ make install ``` -------------------------------- ### CassandraBackup initContainer StartupProbe Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/k8ssandra-operator-crds-latest/_index.md Configuration details for the startupProbe within the initContainers of a CassandraBackup's podTemplateSpec. ```APIDOC ## StartupProbe Configuration for CassandraBackup initContainers ### Description StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. ### Endpoint N/A (Configuration within a Kubernetes resource definition) ### Parameters #### Request Body (within `spec.podTemplateSpec.spec.initContainers[index].startupProbe`) - **exec** (object) - Optional - Exec specifies the action to take. - **failureThreshold** (integer) - Optional - Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. - **grpc** (object) - Optional - GRPC specifies an action involving a GRPC port. This is a beta field and requires enabling GRPCContainerProbe feature gate. - **httpGet** (object) - Optional - HTTPGet specifies the http request to perform. - **initialDelaySeconds** (integer) - Optional - Number of seconds after the container has started before liveness probes are initiated. Defaults to 0. Minimum value is 0. - **periodSeconds** (integer) - Optional - How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. - **successThreshold** (integer) - Optional - 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. - **tcpSocket** (object) - Optional - TCPSocket specifies an action involving a TCP port. - **terminationGracePeriodSeconds** (integer) - Optional - 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. - **timeoutSeconds** (integer) - Optional - Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. ### Request Example ```json { "exec": { "command": [ "cqlsh", "-e", "SELECT 1;" ] }, "initialDelaySeconds": 5, "periodSeconds": 10, "timeoutSeconds": 1, "failureThreshold": 3, "successThreshold": 1 } ``` ### Response N/A (This describes configuration, not an API response) ``` -------------------------------- ### K8ssandraCluster Cassandra Init Container Lifecycle PostStart HttpGet Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.17/_index.md Configuration for performing an HTTP GET request within a Cassandra init container after it starts. ```APIDOC ## POST /k8ssandra/k8ssandra-operator/api/v1/k8ssandraclusters/{name}/spec/cassandra/initContainers/{index}/lifecycle/postStart/httpGet ### Description HTTPGet specifies the http request to perform when the init container starts. ### Method POST ### Endpoint /k8ssandra/k8ssandra-operator/api/v1/k8ssandraclusters/{name}/spec/cassandra/initContainers/{index}/lifecycle/postStart/httpGet ### Parameters #### Request Body - **port** (integer or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** (array of objects) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ### Request Example { "port": 8080, "path": "/healthz", "scheme": "HTTP" } ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation. #### Response Example { "status": "success" } ``` -------------------------------- ### Startup Probe HTTPGet Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.22/_index.md Defines the HTTP GET request action for a startup probe. ```APIDOC ## HTTPGet Action ### Description Specifies the HTTP request to perform for a startup probe. ### Request Body - **port** (int or string) - Required - Name or number of the port to access. - **host** (string) - Optional - Host name to connect to. - **httpHeaders** ([]object) - Optional - Custom headers to set in the request. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. ``` -------------------------------- ### Multi-Cluster Setup for E2E Tests Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/contribute/_index.md Automates the creation and configuration of kind clusters for multi-cluster end-to-end tests. This includes installing Cert Manager and Traefik. ```shell # - Create kind clusters (deleting any existing ones first) # - Install Cert Manager and Traefik (used for ingress in e2e tests) make multi-create ``` ```shell # - Build the project # - Generate the CRDs, then load them into the Kind cluster make multi-build ``` -------------------------------- ### K8ssandraCluster.spec.cassandra.containers.lifecycle.postStart.exec Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.18/_index.md Defines the command to execute inside the container upon startup. ```APIDOC ## Exec Configuration ### Description Specifies the action to take using a command line execution inside the container. ### Parameters #### Request Body - **command** ([]string) - Optional - The command line to execute inside the container. The working directory is root ('/'). ``` -------------------------------- ### CassandraBackup PostStart Exec Action Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.1/_index.md Configuration for executing a command within the container as part of the PostStart hook. ```APIDOC ## CassandraBackup PostStart Exec Action ### Description Exec specifies the action to take. ### Method N/A (Configuration Schema) ### Endpoint N/A (Configuration Schema) ### Parameters #### Request Body - **command** ([]string) - Optional - 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. ### Request Example ```json { "command": ["echo", "hello"] } ``` ### Response #### Success Response (200) - **N/A** (N/A) - N/A #### Response Example ```json { "message": "Configuration details" } ``` ``` -------------------------------- ### Install K8ssandra-operator using Helm Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/tasks/migrate/_index.md Install k8ssandra-operator and cass-operator using Helm. Ensure you add the k8ssandra Helm repository and update it before installing. ```bash helm repo add k8ssandra https://helm.k8ssandra.io/stable helm repo update helm install k8ssandra-operator k8ssandra/k8ssandra-operator -n k8ssandra-operator --create-namespace ``` -------------------------------- ### Stargate Readiness Probe HTTP GET Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.18/_index.md Configures an HTTP GET readiness probe for Stargate. This probe performs an HTTP GET request to a specified path and port. ```APIDOC ## Stargate.spec.readinessProbe.httpGet ### Description HTTPGet specifies the http request to perform. ### Parameters #### Request Body - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** (array) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ``` -------------------------------- ### Startup Probe Exec Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/cass-operator-releases/cass-operator-crds-1.9.x/_index.md Defines the command-line execution probe for container startup. ```APIDOC ## Exec Probe Configuration ### Description Specifies the command line to execute inside the container for startup health checks. ### Request Body - **command** ([]string) - Optional - Command line to execute inside the container. ``` -------------------------------- ### Reaper Readiness Probe - HTTP GET Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/k8ssandra-operator-releases/k8ssandra-operator-crds-1.1/_index.md Configures an HTTP GET readiness probe for the Reaper. This probe performs an HTTP GET request to a specified path and port on the Reaper. ```APIDOC ## Reaper Readiness Probe - HTTP GET ### Description Configures an HTTP GET readiness probe for the Reaper. This probe performs an HTTP GET request to a specified path and port on the Reaper. ### Method Not Applicable (Configuration within a Kubernetes resource definition) ### Endpoint Not Applicable (Configuration within a Kubernetes resource definition) ### Parameters #### Request Body (within Reaper.spec.readinessProbe) - **httpGet** (object) - Required - Specifies the HTTP GET probe configuration. - **port** (int or string) - Required - 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. - **host** (string) - Optional - Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead. - **httpHeaders** (array of objects) - Optional - Custom headers to set in the request. HTTP allows repeated headers. - **name** (string) - Required - The header field name. - **value** (string) - Required - The header field value. - **path** (string) - Optional - Path to access on the HTTP server. - **scheme** (string) - Optional - Scheme to use for connecting to the host. Defaults to HTTP. ### Request Example ```json { "readinessProbe": { "httpGet": { "path": "/health", "port": 8080, "scheme": "HTTP", "httpHeaders": [ { "name": "Custom-Header", "value": "Header-Value" } ] } } } ``` ### Response Not Applicable (This describes configuration, not an API response) ``` -------------------------------- ### Startup Probe Exec Configuration Source: https://github.com/k8ssandra/k8ssandra-operator/blob/main/docs/content/en/reference/crd/releases/cass-operator-releases/cass-operator-crds-1.8.x/_index.md Defines the command-line execution probe for container startup. ```APIDOC ## Exec Probe Configuration ### Description Specifies the command line to execute inside the container for a startup probe. ### Request Body - **command** ([]string) - Optional - Command line to execute inside the container. Exit status of 0 is healthy. ```