summaryrefslogtreecommitdiffstats
path: root/roles/openshift_logging_eventrouter/templates/2.x/eventrouter-template.j2
blob: 3bd29163b747c0d1191aded1d718a92cbc3f014a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# this jinja2 template should always match (except nodeSelector) openshift template in
# ../files/eventrouter-template.yaml
kind: Template
apiVersion: v1
metadata:
  name: eventrouter-template
  annotations:
    description: "A pod forwarding kubernetes events to EFK aggregated logging stack."
    tags: "events,EFK,logging"
objects:
  - kind: ServiceAccount
    apiVersion: v1
    metadata:
      name: aggregated-logging-eventrouter
  - kind: ClusterRole
    apiVersion: v1
    metadata:
      name: event-reader
    rules:
    - apiGroups: [""]
      resources: ["events"]
      verbs: ["get", "watch", "list"]
  - kind: ConfigMap
    apiVersion: v1
    metadata:
      name: logging-eventrouter
    data:
      config.json: |-
        {
          "sink": "${SINK}"
        }
  - kind: DeploymentConfig
    apiVersion: v1
    metadata:
      name: logging-eventrouter
      labels:
        component: eventrouter
        logging-infra: eventrouter
        provider: openshift
    spec:
      selector:
        component: eventrouter
        logging-infra: eventrouter
        provider: openshift
      replicas: "${{ '{{' }}REPLICAS{{ '}}' }}"
      template:
        metadata:
          labels:
            component: eventrouter
            logging-infra: eventrouter
            provider: openshift
          name: logging-eventrouter
        spec:
          serviceAccount: aggregated-logging-eventrouter
          serviceAccountName: aggregated-logging-eventrouter
{% if node_selector is iterable and node_selector | length > 0 %}
          nodeSelector:
{% for key, value in node_selector.items() %}
            {{ key }}: "{{ value }}"
{% endfor %}
{% endif %}
          containers:
            - name: kube-eventrouter
              image: ${IMAGE}
              imagePullPolicy: IfNotPresent
              resources:
                limits:
                  memory: ${MEMORY}
                requires:
                  cpu: ${CPU}
                  memory: ${MEMORY}
              volumeMounts:
              - name: config-volume
                mountPath: /etc/eventrouter
          volumes:
            - name: config-volume
              configMap:
                name: logging-eventrouter
  - kind: ClusterRoleBinding
    apiVersion: v1
    metadata:
      name: event-reader-binding
    subjects:
    - kind: ServiceAccount
      name: aggregated-logging-eventrouter
      namespace: ${NAMESPACE}
    roleRef:
      kind: ClusterRole
      name: event-reader

parameters:
  - name: SINK
    displayName: Sink
    value: stdout
  - name: REPLICAS
    displayName: Replicas
    value: "1"
  - name: IMAGE
    displayName: Image
    value: "docker.io/openshift/origin-logging-eventrouter:latest"
  - name: MEMORY
    displayName: Memory
    value: "128Mi"
  - name: CPU
    displayName: CPU
    value: "100m"
  - name: NAMESPACE
    displayName: Namespace
    value: default