############################################################################## # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # # # # Licensed under the Apache License, Version 2.0 (the "License"); # # you maynot use this file except in compliance with the License. # # # # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # # # Unless required by applicable law or agreed to in writing, software # # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # # See the License for the specific language governing permissions and # # limitations under the License. # ############################################################################## --- apiVersion: v1 kind: Namespace metadata: name: heptio-sonobuoy --- apiVersion: v1 kind: ServiceAccount metadata: labels: component: sonobuoy name: sonobuoy-serviceaccount namespace: heptio-sonobuoy --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: component: sonobuoy name: sonobuoy-serviceaccount-heptio-sonobuoy roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: sonobuoy-serviceaccount subjects: - kind: ServiceAccount name: sonobuoy-serviceaccount namespace: heptio-sonobuoy --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: component: sonobuoy name: sonobuoy-serviceaccount rules: - apiGroups: - '*' resources: - '*' verbs: - '*' - nonResourceURLs: - '/metrics' - '/logs' - '/logs/*' verbs: - 'get' --- apiVersion: v1 data: config.json: | {"Description":"DEFAULT","UUID":"376a4ddc-4498-49fc-af2e-999242c4c245","Version":"v0.13.0","ResultsDir":"/tmp/sonobuoy","Resources":["CertificateSigningRequests","ClusterRoleBindings","ClusterRoles","ComponentStatuses","CustomResourceDefinitions","Nodes","PersistentVolumes","PodSecurityPolicies","ServerGroups","ServerVersion","StorageClasses","ConfigMaps","ControllerRevisions","CronJobs","DaemonSets","Deployments","Endpoints","Ingresses","Jobs","LimitRanges","NetworkPolicies","PersistentVolumeClaims","PodDisruptionBudgets","PodTemplates","Pods","ReplicaSets","ReplicationControllers","ResourceQuotas","RoleBindings","Roles","ServiceAccounts","Services","StatefulSets"],"Filters":{"Namespaces":".*","LabelSelector":""},"Limits":{"PodLogs":{"LimitSize":"","LimitTime":""}},"Server":{"bindaddress":"0.0.0.0","bindport":8080,"advertiseaddress":"","timeoutseconds":10800},"Plugins":[{"name":"e2e"},{"name":"systemd-logs"}],"PluginSearchPath":["./plugins.d","/etc/sonobuoy/plugins.d","~/sonobuoy/plugins.d"],"Namespace":"heptio-sonobuoy","LoadedPlugins":null,"WorkerImage":"gcr.io/heptio-images/sonobuoy:latest","ImagePullPolicy":"Always"} kind: ConfigMap metadata: labels: component: sonobuoy name: sonobuoy-config-cm namespace: heptio-sonobuoy --- apiVersion: v1 data: e2e.yaml: | sonobuoy-config: driver: Job plugin-name: e2e result-type: e2e spec: env: - name: E2E_FOCUS value: '\[Conformance\]' - name: E2E_SKIP value: 'Alpha|\[(Disruptive|Feature:[^\]]+|Flaky)\]' - name: E2E_PARALLEL value: '1' command: ["/run_e2e.sh"] image: gcr.io/heptio-images/kube-conformance:v1.11 imagePullPolicy: Always name: e2e volumeMounts: - mountPath: /tmp/results name: results readOnly: false tolerations: - operator: "Exists" systemd-logs.yaml: | sonobuoy-config: driver: DaemonSet plugin-name: systemd-logs result-type: systemd_logs spec: command: ["/bin/sh", "-c", "/get_systemd_logs.sh && sleep 3600"] env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: RESULTS_DIR value: /tmp/results - name: CHROOT_DIR value: /node image: gcr.io/heptio-images/sonobuoy-plugin-systemd-logs:latest imagePullPolicy: Always name: sonobuoy-systemd-logs-config securityContext: privileged: true volumeMounts: - mountPath: /tmp/results name: results readOnly: false - mountPath: /node name: root readOnly: false kind: ConfigMap metadata: labels: component: sonobuoy name: sonobuoy-plugins-cm namespace: heptio-sonobuoy --- apiVersion: v1 kind: Pod metadata: labels: component: sonobuoy run: sonobuoy-master tier: analysis name: sonobuoy namespace: heptio-sonobuoy spec: containers: - command: - /bin/bash - -c - /sonobuoy master --no-exit=true -v 3 --logtostderr env: - name: SONOBUOY_ADVERTISE_IP valueFrom: fieldRef: fieldPath: status.podIP image: gcr.io/heptio-images/sonobuoy:v0.13.0 imagePullPolicy: Always name: kube-sonobuoy volumeMounts: - mountPath: /etc/sonobuoy name: sonobuoy-config-volume - mountPath: /plugins.d name: sonobuoy-plugins-volume - mountPath: /tmp/sonobuoy name: output-volume restartPolicy: Never serviceAccountName: sonobuoy-serviceaccount volumes: - configMap: name: sonobuoy-config-cm name: sonobuoy-config-volume - configMap: name: sonobuoy-plugins-cm name: sonobuoy-plugins-volume - emptyDir: {} name: output-volume --- apiVersion: v1 kind: Service metadata: labels: component: sonobuoy run: sonobuoy-master name: sonobuoy-master namespace: heptio-sonobuoy spec: ports: - port: 8080 protocol: TCP targetPort: 8080 selector: run: sonobuoy-master type: ClusterIP