# Copyright 2017 The Kubernetes Authors All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not 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: apps/v1 kind: Deployment metadata: name: horologium labels: app: horologium spec: replicas: 1 # Do not scale up. strategy: type: Recreate selector: matchLabels: app: horologium template: metadata: labels: app: horologium spec: serviceAccountName: horologium terminationGracePeriodSeconds: 30 containers: - name: horologium image: us-docker.pkg.dev/k8s-infra-prow/images/horologium:v20250927-87810a762 args: - --config-path=/etc/config/config.yaml - --job-config-path=/etc/job-config - --dry-run=false ports: - name: metrics containerPort: 9090 volumeMounts: - name: config mountPath: /etc/config readOnly: true - name: job-config mountPath: /etc/job-config readOnly: true volumes: - name: config configMap: name: config - name: job-config configMap: name: job-config --- apiVersion: v1 kind: Service metadata: labels: app: horologium name: horologium spec: ports: - name: metrics port: 9090 protocol: TCP selector: app: horologium --- apiVersion: v1 kind: ServiceAccount metadata: name: "horologium" --- kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: "horologium" rules: - apiGroups: - "prow.k8s.io" resources: - prowjobs verbs: - create - list - watch --- kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: "horologium" roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: "horologium" subjects: - kind: ServiceAccount name: "horologium"