console-template.yaml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. apiVersion: template.openshift.io/v1
  2. kind: Template
  3. metadata:
  4. name: openshift-web-console
  5. annotations:
  6. openshift.io/display-name: OpenShift Web Console
  7. description: The server for the OpenShift web console.
  8. iconClass: icon-openshift
  9. tags: openshift,infra
  10. openshift.io/documentation-url: https://github.com/openshift/origin-web-console-server
  11. openshift.io/support-url: https://access.redhat.com
  12. openshift.io/provider-display-name: Red Hat, Inc.
  13. parameters:
  14. - name: IMAGE
  15. value: openshift/origin-web-console:latest
  16. - name: NAMESPACE
  17. # This namespace cannot be changed. Only `openshift-web-console` is supported.
  18. value: openshift-web-console
  19. - name: LOGLEVEL
  20. value: "0"
  21. - name: API_SERVER_CONFIG
  22. - name: NODE_SELECTOR
  23. value: "{}"
  24. - name: REPLICA_COUNT
  25. value: "1"
  26. objects:
  27. # to create the web console server
  28. - apiVersion: apps/v1beta1
  29. kind: Deployment
  30. metadata:
  31. namespace: ${NAMESPACE}
  32. name: webconsole
  33. labels:
  34. app: openshift-web-console
  35. webconsole: "true"
  36. spec:
  37. replicas: "${{REPLICA_COUNT}}"
  38. strategy:
  39. type: Recreate
  40. template:
  41. metadata:
  42. name: webconsole
  43. labels:
  44. webconsole: "true"
  45. spec:
  46. serviceAccountName: webconsole
  47. containers:
  48. - name: webconsole
  49. image: ${IMAGE}
  50. imagePullPolicy: IfNotPresent
  51. command:
  52. - "/usr/bin/origin-web-console"
  53. - "--audit-log-path=-"
  54. - "-v=${LOGLEVEL}"
  55. - "--config=/var/webconsole-config/webconsole-config.yaml"
  56. ports:
  57. - containerPort: 8443
  58. volumeMounts:
  59. - mountPath: /var/serving-cert
  60. name: serving-cert
  61. - mountPath: /var/webconsole-config
  62. name: webconsole-config
  63. readinessProbe:
  64. httpGet:
  65. path: /healthz
  66. port: 8443
  67. scheme: HTTPS
  68. livenessProbe:
  69. httpGet:
  70. path: /
  71. port: 8443
  72. scheme: HTTPS
  73. resources:
  74. requests:
  75. cpu: 100m
  76. memory: 100Mi
  77. nodeSelector: "${{NODE_SELECTOR}}"
  78. volumes:
  79. - name: serving-cert
  80. secret:
  81. defaultMode: 400
  82. secretName: webconsole-serving-cert
  83. - name: webconsole-config
  84. configMap:
  85. defaultMode: 440
  86. name: webconsole-config
  87. # to create the config for the web console
  88. - apiVersion: v1
  89. kind: ConfigMap
  90. metadata:
  91. namespace: ${NAMESPACE}
  92. name: webconsole-config
  93. labels:
  94. app: openshift-web-console
  95. data:
  96. webconsole-config.yaml: ${API_SERVER_CONFIG}
  97. # to be able to assign powers to the process
  98. - apiVersion: v1
  99. kind: ServiceAccount
  100. metadata:
  101. namespace: ${NAMESPACE}
  102. name: webconsole
  103. labels:
  104. app: openshift-web-console
  105. # to be able to expose web console inside the cluster
  106. - apiVersion: v1
  107. kind: Service
  108. metadata:
  109. namespace: ${NAMESPACE}
  110. name: webconsole
  111. labels:
  112. app: openshift-web-console
  113. annotations:
  114. service.alpha.openshift.io/serving-cert-secret-name: webconsole-serving-cert
  115. prometheus.io/scrape: "true"
  116. prometheus.io/scheme: https
  117. spec:
  118. selector:
  119. webconsole: "true"
  120. ports:
  121. - name: https
  122. port: 443
  123. targetPort: 8443