main.yml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. ---
  2. # Ensures user workload monitoring is enabled.
  3. #
  4. # XXX: Only needed for the TODO items below.
  5. #- name: Load the main configmap if it is there already.
  6. # kubernetes.core.k8s_info:
  7. # kubeconfig: tmp/kubeconfig-ocp4
  8. # validate_certs: no
  9. # api_version: v1
  10. # kind: configmap
  11. # namespace: openshift-monitoring
  12. # name: cluster-monitoring-config
  13. # register: cmc_is_there
  14. #
  15. # TODO
  16. #- name: Extract the contents of config.yaml from cm if it existed.
  17. #
  18. # TODO
  19. #- name: Merge the existing config.yaml and our additions.
  20. #
  21. # TODO: do the same for uwm-alertmanager
  22. #
  23. # TODO: might want to add alert-routing-edit rolebinding to create-ichp-project/templates/project-template.yml
  24. #
  25. # XXX: Exclude projects by adding "openshift.io/user-monitoring=false" label.
  26. # https://docs.redhat.com/en/documentation/openshift_container_platform/4.16/html/monitoring/configuring-user-workload-monitoring
  27. #
  28. # TODO: Wait for components to start up?
  29. # app.kubernetes.io/component=controller (prometheus operator)
  30. # app.kubernetes.io/component=prometheus (prometheus pods)
  31. # app.kubernetes.io/name=thanos-ruler (thanos pods)
  32. # alertmanager=user-workload (alertmanager pods)
  33. #
  34. - name: Ensure that the main configmap is defined.
  35. kubernetes.core.k8s:
  36. kubeconfig: tmp/kubeconfig-ocp4
  37. validate_certs: no
  38. api_version: v1
  39. kind: configmap
  40. namespace: openshift-monitoring
  41. name: cluster-monitoring-config
  42. resource_definition:
  43. data:
  44. config.yaml: |
  45. enableUserWorkload: true
  46. alertmanagerMain:
  47. enableUserAlertmanagerConfig: true
  48. prometheusK8s:
  49. retention: 1w
  50. retentionSize: 4Gi
  51. volumeClaimTemplate:
  52. spec:
  53. storageClassName: nfs-storage
  54. resources:
  55. requests:
  56. storage: 4Gi
  57. - name: Ensure that the uwm alertmanager configmap is defined.
  58. kubernetes.core.k8s:
  59. kubeconfig: tmp/kubeconfig-ocp4
  60. validate_certs: no
  61. api_version: v1
  62. kind: configmap
  63. namespace: openshift-user-workload-monitoring
  64. name: user-workload-monitoring-config
  65. resource_definition:
  66. data:
  67. config.yaml: |
  68. alertmanager:
  69. enabled: true
  70. enableAlertmanagerConfig: true
  71. prometheus:
  72. retention: 1w
  73. retentionSize: 4Gi
  74. volumeClaimTemplate:
  75. spec:
  76. storageClassName: nfs-storage
  77. resources:
  78. requests:
  79. storage: 4Gi
  80. thanosRuler:
  81. retention: 1w
  82. volumeClaimTemplate:
  83. spec:
  84. storageClassName: nfs-storage
  85. resources:
  86. requests:
  87. storage: 4Gi
  88. ...