diff --git a/canary-checker/docs/reference/1-http.mdx b/canary-checker/docs/reference/1-http.mdx index 68e07fd..2651fa1 100644 --- a/canary-checker/docs/reference/1-http.mdx +++ b/canary-checker/docs/reference/1-http.mdx @@ -111,7 +111,7 @@ spec:
-```yaml title="http_auth.yaml" file=../../../modules/canary-checker/fixtures/minimal/http_auth.yaml +```yaml title="http_auth.yaml" file=../../../modules/canary-checker/fixtures/minimal/http_auth_static_pass.yaml ```
diff --git a/canary-checker/docs/reference/1-kubernetes-resource.mdx b/canary-checker/docs/reference/1-kubernetes-resource.mdx index 62003ee..3250055 100644 --- a/canary-checker/docs/reference/1-kubernetes-resource.mdx +++ b/canary-checker/docs/reference/1-kubernetes-resource.mdx @@ -123,118 +123,17 @@ Either the kubeconfig itself or the path to the kubeconfig can be provided. #### kubeconfig from kubernetes secret -```yaml title="remote-cluster.yaml" {11-15} -apiVersion: canaries.flanksource.com/v1 -kind: Canary -metadata: - name: pod-creation-test -spec: - schedule: "@every 5m" - kubernetesResource: - - name: pod creation on aws cluster - namespace: default - description: "deploy httpbin" - kubeconfig: - valueFrom: - secretKeyRef: - name: aws-kubeconfig - key: kubeconfig - resources: - - apiVersion: v1 - kind: Pod - metadata: - name: httpbin - namespace: default - labels: - app: httpbin - spec: - containers: - - name: httpbin - image: "kennethreitz/httpbin:latest" - ports: - - containerPort: 80 +```yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/k8s/kubernetes-resource-check-kubeconfig-from-secrets.yaml {12-16} ``` #### Kubeconfig inline -```yaml title="remote-cluster.yaml" {11-32} -apiVersion: canaries.flanksource.com/v1 -kind: Canary -metadata: - name: pod-creation-test -spec: - schedule: "@every 5m" - kubernetesResource: - - name: pod creation on aws cluster - namespace: default - description: "deploy httpbin" - kubeconfig: - value: | - apiVersion: v1 - clusters: - - cluster: - certificate-authority-data: xxxxx - server: https://xxxxx.sk1.eu-west-1.eks.amazonaws.com - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - contexts: - - context: - cluster: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - namespace: mission-control - user: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - current-context: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - kind: Config - preferences: {} - users: - - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - user: - exec: - .... - resources: - - apiVersion: v1 - kind: Pod - metadata: - name: httpbin - namespace: default - labels: - app: httpbin - spec: - containers: - - name: httpbin - image: "kennethreitz/httpbin:latest" - ports: - - containerPort: 80 +```yaml title="remote-cluster.yaml" yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/k8s/kubernetes-resource-check-inline-kubeconfig.yaml {12-33} ``` #### Kubeconfig from local filesystem -```yaml title="remote-cluster.yaml" {11-12} -apiVersion: canaries.flanksource.com/v1 -kind: Canary -metadata: - name: pod-creation-test -spec: - schedule: "@every 5m" - kubernetesResource: - - name: pod creation on aws cluster - namespace: default - description: "deploy httpbin" - kubeconfig: - value: /root/.kube/aws-kubeconfig - resources: - - apiVersion: v1 - kind: Pod - metadata: - name: httpbin - namespace: default - labels: - app: httpbin - spec: - containers: - - name: httpbin - image: "kennethreitz/httpbin:latest" - ports: - - containerPort: 80 +```yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/k8s/kubernetes-resource-check-kubeconfig-from-file.yaml {12-13} ``` ### Templating diff --git a/canary-checker/docs/reference/1-kubernetes.mdx b/canary-checker/docs/reference/1-kubernetes.mdx index 4cad3b4..a7f25ae 100644 --- a/canary-checker/docs/reference/1-kubernetes.mdx +++ b/canary-checker/docs/reference/1-kubernetes.mdx @@ -76,87 +76,18 @@ dyn(results).all(x, k8s.isReady(x)) A single canary-checker instance can connect to any number of remote clusters via custom kubeconfig. Either the kubeconfig itself or the path to the kubeconfig can be provided. - + #### kubeconfig from kubernetes secret -```yaml title="remote-cluster.yaml" {11-15} -apiVersion: canaries.flanksource.com/v1 -kind: Canary -metadata: - name: pod-creation-test -spec: - schedule: "@every 5m" - kubernetes: - - name: pod creation on aws cluster - namespace: default - description: "deploy httpbin" - kubeconfig: - valueFrom: - secretKeyRef: - name: aws-kubeconfig - key: kubeconfig - kind: Pod - ready: true - namespaceSelector: - name: default +```yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/k8s/kubernetes-check-kubeconfig-from-secrets.yaml {12-16} ``` #### Kubeconfig inline -```yaml title="remote-cluster.yaml" {10-31} -apiVersion: canaries.flanksource.com/v1 -kind: Canary -metadata: - name: pod-creation-test -spec: - schedule: "@every 5m" - kubernetes: - - name: pod creation on aws cluster - namespace: default - kubeconfig: - value: | - apiVersion: v1 - clusters: - - cluster: - certificate-authority-data: xxxxx - server: https://xxxxx.sk1.eu-west-1.eks.amazonaws.com - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - contexts: - - context: - cluster: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - namespace: mission-control - user: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - current-context: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - kind: Config - preferences: {} - users: - - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - user: - exec: - .... - kind: Pod - ready: true - namespaceSelector: - name: default +```yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/k8s/kubernetes-check-inline-kubeconfig.yaml {11-32} ``` #### Kubeconfig from local filesystem -```yaml title="remote-cluster.yaml" {10-11} -apiVersion: canaries.flanksource.com/v1 -kind: Canary -metadata: - name: pod-creation-test -spec: - schedule: "@every 5m" - kubernetes: - - name: pod creation on aws cluster - namespace: default - kubeconfig: - value: /root/.kube/aws-kubeconfig - kind: Pod - ready: true - namespaceSelector: - name: default +```yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/k8s/kubernetes-check-kubeconfig-from-file.yaml {11-12} ``` \ No newline at end of file diff --git a/mission-control/docs/topology/lookups/kubernetes.md b/mission-control/docs/topology/lookups/kubernetes.md index 84e0fcf..a13a4fe 100644 --- a/mission-control/docs/topology/lookups/kubernetes.md +++ b/mission-control/docs/topology/lookups/kubernetes.md @@ -6,32 +6,8 @@ title: Kubernetes The Kubernetes component lookup fetches kubernetes resources to be used as components. -```yaml title="kube-configmap-components.yml" ---- -apiVersion: canaries.flanksource.com/v1 -kind: Topology -metadata: - name: kubernetes-configs -spec: - type: Config - icon: kubernetes - schedule: '@every 5m' - components: - - name: configs - icon: server - type: ConfigMap - // highlight-start - lookup: - kubernetes: - - kind: ConfigMap - display: - expr: | - dyn(results).map(c, { - 'name': c.Object.metadata.name, - 'type': 'ConfigMap', - }).toJSON() - - // highlight-end +```yaml title="kube-configmap-components.yaml" file=../../../modules/canary-checker/fixtures/topology/kubernetes-lookup.yaml {14-22} + ``` | Field | Description | Scheme | Required | @@ -64,114 +40,18 @@ Either the kubeconfig itself or the path to the kubeconfig can be provided. ### From kubernetes secret -```yaml title="remote-cluster.yaml" ---- -apiVersion: canaries.flanksource.com/v1 -kind: Topology -metadata: - name: kubernetes-configs -spec: - type: Config - icon: kubernetes - schedule: '@every 5m' - components: - - name: configs - icon: server - type: ConfigMap - lookup: - kubernetes: - - kind: ConfigMap - display: - expr: | - dyn(results).map(c, { - 'name': c.Object.metadata.name, - 'type': 'ConfigMap', - }).toJSON() - // highlight-start - kubeconfig: - valueFrom: - secretKeyRef: - name: aws-kubeconfig - key: kubeconfig - // highlight-end +```yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/topology/kubernetes-lookup-kubeconfig-from-secrets.yaml {23-27} + ``` ### Kubeconfig inline -```yaml title="remote-cluster.yaml" -apiVersion: canaries.flanksource.com/v1 -kind: Topology -metadata: - name: kubernetes-configs -spec: - type: Config - icon: kubernetes - schedule: '@every 5m' - components: - - name: configs - icon: server - type: ConfigMap - lookup: - kubernetes: - - kind: ConfigMap - display: - expr: | - dyn(results).map(c, { - 'name': c.Object.metadata.name, - 'type': 'ConfigMap', - }).toJSON() - // highlight-start - kubeconfig: - value: | - apiVersion: v1 - clusters: - - cluster: - certificate-authority-data: xxxxx - server: https://xxxxx.sk1.eu-west-1.eks.amazonaws.com - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - contexts: - - context: - cluster: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - namespace: mission-control - user: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - current-context: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - kind: Config - preferences: {} - users: - - name: arn:aws:eks:eu-west-1:765618022540:cluster/aws-cluster - user: - exec: - .... - // highlight-end +```yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/topology/kubernetes-lookup-inline-configmap.yaml {22-48} + ``` ### From local filesystem -```yaml title="remote-cluster.yaml" -apiVersion: canaries.flanksource.com/v1 -kind: Topology -metadata: - name: kubernetes-configs -spec: - type: Config - icon: kubernetes - schedule: '@every 5m' - components: - - name: configs - icon: server - type: ConfigMap - lookup: - kubernetes: - - kind: ConfigMap - display: - expr: | - dyn(results).map(c, { - 'name': c.name, - 'type': 'ConfigMap', - }).toJSON() - // highlight-start - kubeconfig: - value: /root/.kube/aws-kubeconfig - // highlight-end +```yaml title="remote-cluster.yaml" file=../../../modules/canary-checker/fixtures/topology/kubernetes-lookup-kubeconfig-from-file.yaml {22-23} + ``` diff --git a/modules/canary-checker b/modules/canary-checker index cd3d9d8..dce7e2b 160000 --- a/modules/canary-checker +++ b/modules/canary-checker @@ -1 +1 @@ -Subproject commit cd3d9d86873c07c6b753b45d3eed83a087269de3 +Subproject commit dce7e2ba39a24d72a34509d616d8dee09073b98e diff --git a/modules/config-db b/modules/config-db index 1d2ac59..490e3d4 160000 --- a/modules/config-db +++ b/modules/config-db @@ -1 +1 @@ -Subproject commit 1d2ac593d364ae2d5712a7df68f95493c3dafa0f +Subproject commit 490e3d4cb1a3434802516ced3e44a557e58cc086 diff --git a/modules/duty b/modules/duty index aa3f89d..d479f3a 160000 --- a/modules/duty +++ b/modules/duty @@ -1 +1 @@ -Subproject commit aa3f89db357eac34b54ef337b92ceadf52ecbd9d +Subproject commit d479f3a31be2186ba075c23853e783c4997df331 diff --git a/modules/mission-control b/modules/mission-control index c8797f6..f9c7e9e 160000 --- a/modules/mission-control +++ b/modules/mission-control @@ -1 +1 @@ -Subproject commit c8797f60d05f18c5100bbfaaa0ae6cb24d93582f +Subproject commit f9c7e9e7fc5d374f92ad17b34a128467a1b46b30