apiVersion: v1 kind: ServiceAccount metadata: name: syncedobjectctl --- apiVersion: v1 kind: Service metadata: name: syncedobjectctl labels: platform.edge.ncr.com/component: syncedobjectctl spec: selector: platform.edge.ncr.com/component: syncedobjectctl ports: - name: metrics port: 8080 --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: syncedobjectctl labels: platform.edge.ncr.com/component: syncedobjectctl annotations: monitoring.edge.ncr.com/allowed-metrics: | edge_soctl_reconcile_condition_status edge_soctl_reconcile_duration_seconds_sum edge_soctl_reconcile_duration_seconds_count edge_soctl_reconcile_duration_seconds_bucket spec: selector: matchLabels: platform.edge.ncr.com/component: syncedobjectctl endpoints: - port: metrics --- apiVersion: v1 kind: ConfigMap metadata: name: syncedobjectctl data: CONCURRENCY: "24" GCP_PROJECT_ID: ${foreman_gcp_project_id} METRICS_ADDR: ":8080" PUBSUB_PUBLISH_TOPIC: "chariot-rides" --- apiVersion: apps/v1 kind: Deployment metadata: name: syncedobjectctl labels: platform.edge.ncr.com/component: syncedobjectctl spec: replicas: 1 selector: matchLabels: platform.edge.ncr.com/component: syncedobjectctl template: metadata: labels: platform.edge.ncr.com/component: syncedobjectctl spec: serviceAccountName: syncedobjectctl containers: - name: syncedobjectctl image: bzl://cmd/edge/syncedobjectctl:container_push ports: - name: metrics containerPort: 8080 envFrom: - configMapRef: name: syncedobjectctl resources: limits: cpu: "100m" imagePullPolicy: IfNotPresent imagePullSecrets: - name: edge-docker-pull-secret