---
# Source: rollout-operator/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: rollout-operator
  namespace: "default"
  labels:
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
---
# Source: rollout-operator/templates/webhook-clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: rollout-operator-webhook-clusterrole
rules:
  - apiGroups:
      - admissionregistration.k8s.io
    resources:
      - validatingwebhookconfigurations
      - mutatingwebhookconfigurations
    verbs:
      - list
      - patch
      - watch
---
# Source: rollout-operator/templates/webhook-clusterrole-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: rollout-operator-webhook-clusterrolebinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: rollout-operator-webhook-clusterrole
subjects:
  - kind: ServiceAccount
    name: rollout-operator
    namespace: "default"
---
# Source: rollout-operator/templates/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: rollout-operator
  namespace: "default"
  labels:
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - list
  - get
  - watch
  - delete
- apiGroups:
  - apps
  resources:
  - statefulsets
  verbs:
  - list
  - get
  - watch
  - patch
- apiGroups:
  - apps
  resources:
  - statefulsets/status
  verbs:
  - update
- apiGroups:
  - rollout-operator.grafana.com
  resources:
  - zoneawarepoddisruptionbudgets
  verbs:
  - get
  - list
  - watch
- apiGroups:
    - rollout-operator.grafana.com
  resources:
    - replicatemplates/scale
    - replicatemplates/status
  verbs:
    - get
    - patch
---
# Source: rollout-operator/templates/webhook-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: rollout-operator-webhook-role
  namespace: "default"
rules:
  - apiGroups:
      - ""
    resources:
      - secrets
    verbs:
      - update
      - get
    resourceNames:
      - certificate
  - apiGroups:
      - ""
    resources:
      - secrets
    verbs:
      - create
---
# Source: rollout-operator/templates/rolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: rollout-operator
  namespace: "default"
  labels:
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: rollout-operator
subjects:
- kind: ServiceAccount
  name: rollout-operator
---
# Source: rollout-operator/templates/webhook-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: rollout-operator-webhook-rolebinding
  namespace: "default"
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: rollout-operator-webhook-role
subjects:
  - kind: ServiceAccount
    name: rollout-operator
    namespace: "default"
---
# Source: rollout-operator/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: rollout-operator
  namespace: "default"
  labels:
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 443
      protocol: TCP
      targetPort: 8443
      name: https
  selector:
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
---
# Source: rollout-operator/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rollout-operator
  namespace: "default"
  labels:
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  revisionHistoryLimit: 10
  minReadySeconds: 10
  selector:
    matchLabels:
      app.kubernetes.io/name: rollout-operator
      app.kubernetes.io/instance: rollout-operator
  strategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
  template:
    metadata:
      namespace: "default"
      labels:
        app.kubernetes.io/name: rollout-operator
        app.kubernetes.io/instance: rollout-operator
    spec:
      serviceAccountName: rollout-operator
      securityContext:
        {}
      containers:
        - name: rollout-operator
          securityContext:
            {}
          image: docker.io/grafana/rollout-operator:v0.36.2
          imagePullPolicy: IfNotPresent
          args:
          - -kubernetes.namespace=default
          - -server-tls.enabled=true
          - -server-tls.self-signed-cert.secret-name=certificate
          - -server-tls.self-signed-cert.dns-name=rollout-operator.default.svc
          ports:
            - name: http-metrics
              containerPort: 8001
              protocol: TCP
            - name: https
              containerPort: 8443
              protocol: TCP
          readinessProbe:
            httpGet:
              path: /ready
              port: http-metrics
            initialDelaySeconds: 5
            timeoutSeconds: 1
          resources:
            limits:
              memory: 200Mi
            requests:
              cpu: 100m
              memory: 100Mi
---
# Source: rollout-operator/templates/prepare-downscale-webhook.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
  name: prepare-downscale-default
  labels:
    grafana.com/inject-rollout-operator-ca: "true"
    grafana.com/namespace: "default"
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
webhooks:
  - name: prepare-downscale-default.grafana.com
    clientConfig:
      service:
        namespace: "default"
        name: rollout-operator
        path: /admission/prepare-downscale
        port: 443
    rules:
      - operations:
          - UPDATE
        apiGroups:
          - apps
        apiVersions:
          - v1
        resources:
          - statefulsets
          - statefulsets/scale
        scope: Namespaced
    admissionReviewVersions:
      - v1
    namespaceSelector:
      matchLabels:
        kubernetes.io/metadata.name: "default"
    sideEffects: NoneOnDryRun
    matchPolicy: Equivalent
    timeoutSeconds: 10
    failurePolicy: Fail
---
# Source: rollout-operator/templates/no-downscale-webhook.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: no-downscale-default
  labels:
    grafana.com/inject-rollout-operator-ca: "true"
    grafana.com/namespace: "default"
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
webhooks:
  - name: no-downscale-default.grafana.com
    clientConfig:
      service:
        namespace: "default"
        name: rollout-operator
        path: /admission/no-downscale
        port: 443
    rules:
      - operations:
          - UPDATE
        apiGroups:
          - apps
        apiVersions:
          - v1
        resources:
          - statefulsets
          - statefulsets/scale
        scope: Namespaced
    admissionReviewVersions:
      - v1
    namespaceSelector:
      matchLabels:
        kubernetes.io/metadata.name: "default"
    sideEffects: None
    failurePolicy: Fail
---
# Source: rollout-operator/templates/pod-eviction-webhook.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: pod-eviction-default
  labels:
    grafana.com/inject-rollout-operator-ca: "true"
    grafana.com/namespace: "default"
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
webhooks:
  - name: pod-eviction-default.grafana.com
    clientConfig:
      service:
        namespace: "default"
        name: rollout-operator
        path: /admission/pod-eviction
        port: 443
    rules:
      - operations:
          - CREATE
        apiGroups:
          - ""
        apiVersions:
          - v1
        resources:
          - pods/eviction
        scope: Namespaced
    admissionReviewVersions:
      - v1
    namespaceSelector:
      matchLabels:
        kubernetes.io/metadata.name: "default"
    sideEffects: None
    timeoutSeconds: 10
    failurePolicy: Fail
---
# Source: rollout-operator/templates/zone-aware-pod-disruption-budget-validating-webhook.yaml
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: zpdb-validation-default
  labels:
    grafana.com/inject-rollout-operator-ca: "true"
    grafana.com/namespace: "default"
    helm.sh/chart: rollout-operator-0.49.0
    app.kubernetes.io/name: rollout-operator
    app.kubernetes.io/instance: rollout-operator
    app.kubernetes.io/version: "v0.36.2"
    app.kubernetes.io/managed-by: Helm
webhooks:
  - name: zpdb-validation-default.grafana.com
    clientConfig:
      service:
        namespace: "default"
        name: rollout-operator
        path: /admission/zpdb-validation
        port: 443
    rules:
      - operations:
          - CREATE
          - UPDATE
        apiGroups:
          - rollout-operator.grafana.com
        apiVersions:
          - v1
        resources:
          - zoneawarepoddisruptionbudgets
        scope: Namespaced
    admissionReviewVersions: ["v1"]
    namespaceSelector:
      matchLabels:
        kubernetes.io/metadata.name: "default"
    sideEffects: None
    timeoutSeconds: 10
    failurePolicy: Fail
