eventrouter-template.j2 3.0 KB

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