---
# Source: goldilocks/templates/controller-serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: goldilocks-controller
  namespace: default
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
---
# Source: goldilocks/templates/dashboard-serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: goldilocks-dashboard
  namespace: default
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: dashboard
---
# Source: goldilocks/templates/controller-clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: goldilocks-controller
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
rules:
  - apiGroups:
      - 'apps'
    resources:
      - '*'
    verbs:
      - 'get'
      - 'list'
      - 'watch'
  - apiGroups:
      - 'batch'
    resources:
      - 'cronjobs'
      - 'jobs'
    verbs:
      - 'get'
      - 'list'
      - 'watch'
  - apiGroups:
      - ''
    resources:
      - 'namespaces'
      - 'pods'
    verbs:
      - 'get'
      - 'list'
      - 'watch'
  - apiGroups:
      - 'autoscaling.k8s.io'
    resources:
      - 'verticalpodautoscalers'
    verbs:
      - 'get'
      - 'list'
      - 'create'
      - 'delete'
      - 'update'
  - apiGroups:
      - 'argoproj.io'
    resources:
      - rollouts
    verbs:
      - 'get'
      - 'list'
      - 'watch'
---
# Source: goldilocks/templates/dashboard-clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: goldilocks-dashboard
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: dashboard
rules:
  - apiGroups:
      - 'autoscaling.k8s.io'
    resources:
      - 'verticalpodautoscalers'
    verbs:
      - 'get'
      - 'list'
  - apiGroups:
      - 'apps'
    resources:
      - '*'
    verbs:
      - 'get'
      - 'list'
  - apiGroups:
      - ''
    resources:
      - 'namespaces'
      - 'pods'
    verbs:
      - 'get'
      - 'list'
  - apiGroups:
      - 'argoproj.io'
    resources:
      - rollouts
    verbs:
      - 'get'
      - 'list'
---
# Source: goldilocks/templates/controller-clusterrolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: goldilocks-controller
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: goldilocks-controller
subjects:
  - kind: ServiceAccount
    name: goldilocks-controller
    namespace: default
---
# Source: goldilocks/templates/dashboard-clusterrolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: goldilocks-dashboard
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: goldilocks-dashboard
subjects:
  - kind: ServiceAccount
    name: goldilocks-dashboard
    namespace: default
---
# Source: goldilocks/templates/dashboard-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: goldilocks-dashboard
  namespace: default
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: dashboard
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
  selector:
    app.kubernetes.io/name: goldilocks
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/component: dashboard
---
# Source: goldilocks/templates/controller-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: goldilocks-controller
  namespace: default
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/name: goldilocks
      app.kubernetes.io/instance: goldilocks
      app.kubernetes.io/component: controller
  template:
    metadata:
      labels:
        app.kubernetes.io/name: goldilocks
        app.kubernetes.io/instance: goldilocks
        app.kubernetes.io/component: controller
    spec:
      serviceAccountName: goldilocks-controller
      securityContext:
        seccompProfile:
          type: RuntimeDefault
      containers:
        - name: goldilocks
          image: "us-docker.pkg.dev/fairwinds-ops/oss/goldilocks:v4.14.1"
          imagePullPolicy: Always
          command:
            - /goldilocks
            - controller
            - -v2
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 10324
          resources:
            limits: {}
            requests:
              cpu: 25m
              memory: 256Mi
---
# Source: goldilocks/templates/dashboard-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: goldilocks-dashboard
  namespace: default
  labels:
    app.kubernetes.io/name: goldilocks
    helm.sh/chart: goldilocks-10.3.0
    app.kubernetes.io/instance: goldilocks
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: dashboard
spec:
  replicas: 2
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/name: goldilocks
      app.kubernetes.io/instance: goldilocks
      app.kubernetes.io/component: dashboard
  template:
    metadata:
      labels:
        app.kubernetes.io/name: goldilocks
        app.kubernetes.io/instance: goldilocks
        app.kubernetes.io/component: dashboard
    spec:
      serviceAccountName: goldilocks-dashboard
      securityContext:
        seccompProfile:
          type: RuntimeDefault
      containers:
        - name: goldilocks
          image: "us-docker.pkg.dev/fairwinds-ops/oss/goldilocks:v4.14.1"
          imagePullPolicy: Always
          command:
            - /goldilocks
            - dashboard
            - --exclude-containers=linkerd-proxy,istio-proxy
            - -v2
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop:
              - ALL
            readOnlyRootFilesystem: true
            runAsNonRoot: true
            runAsUser: 10324
          ports:
            - name: http
              containerPort: 8080
              protocol: TCP
          livenessProbe:
            httpGet:
              path: /health
              port: http
          readinessProbe:
            httpGet:
              path: /health
              port: http
          resources:
            limits: {}
            requests:
              cpu: 25m
              memory: 256Mi
