Skip to content

Namespace

The Namespace check:

  • Creates a new namespace using the labels/annotations provided
  • Create a new pod in the namespace using the provided PodSpec
  • Expose the pod using the provided ingress URL
  • Test an HTTP connection to the pod.
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
  name: namespace-check
spec:
  interval: 30
  namespace:
    - name: namespace check
      namespaceNamePrefix: "test-foo-"
      podSpec: |
        apiVersion: v1
        kind: Pod
        metadata:
          name: test-namespace
          namespace: default
          labels:
            app: hello-world-golang
        spec:
          containers:
            - name: hello
              image: quay.io/toni0/hello-webserver-golang:latest
      port: 8080
      path: /foo/bar
      ingressName: test-namespace-pod
      ingressHost: "test-namespace-pod.127.0.0.1.nip.io"
      readyTimeout: 5000
      httpTimeout: 15000
      deleteTimeout: 12000
      ingressTimeout: 20000
      deadline: 29000
      httpRetryInterval: 200
      expectedContent: bar
      expectedHttpStatuses: [200, 201, 202]
Field Description Scheme Required
checkName Name for the check string Yes
deadline Overall time before which an HTTP connection to the pod must be established int64
deleteTimeout int64
description Description for the check string
expectedContent Expected content of an HTTP response from the created pod string
expectedHttpStatuses Expected HTTP status code of the response from the created pod []int64
httpRetryInterval Interval in ms to retry HTTP connections to the created pod int64
httpTimeout int64
icon Icon for overwriting default icon on the dashboard string
ingressHost URL to be used by the ingress to expose the created pod string
ingressName Name to use for the ingress object that will expose the created pod string
ingressTimeout Maximum time to wait for an HTTP connection to the created pod int64
name Name of the check string
namespaceAnnotations Metadata annotations to apply to created namespace map[string]string
namespaceLabels Metadata labels to apply to created namespace map[string]string
namespaceNamePrefix Prefix string to identity namespace string
path Path on whcih the created pod will respond to requests string
podSpec Spec of pod to be created in check namespace string Yes
port Port on which the created pod will serve traffic int64
priorityClass Pod priority class string
readyTimeout Specify readiness timeout for namespace int64
scheduleTimeout Maximum time between pod created and pod running int64