master.yaml.v1.j2 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. admissionConfig:
  2. {% if 'admission_plugin_config' in openshift.master %}
  3. pluginConfig:{{ openshift.master.admission_plugin_config | to_padded_yaml(level=2) }}
  4. {% endif %}
  5. apiLevels:
  6. {% if not openshift.common.version_gte_3_1_or_1_1 | bool %}
  7. - v1beta3
  8. {% endif %}
  9. - v1
  10. apiVersion: v1
  11. assetConfig:
  12. logoutURL: "{{ openshift.master.logout_url | default('') }}"
  13. masterPublicURL: {{ openshift.master.public_api_url }}
  14. publicURL: {{ openshift.master.public_console_url }}/
  15. {% if 'logging_public_url' in openshift.master %}
  16. loggingPublicURL: {{ openshift.master.logging_public_url }}
  17. {% endif %}
  18. {% if openshift_hosted_metrics_deploy | default(false) | bool %}
  19. metricsPublicURL: {{ openshift_hosted_metrics_public_url }}
  20. {% endif %}
  21. {% if 'extension_scripts' in openshift.master %}
  22. extensionScripts: {{ openshift.master.extension_scripts | to_padded_yaml(1, 2) }}
  23. {% endif %}
  24. {% if 'extension_stylesheets' in openshift.master %}
  25. extensionStylesheets: {{ openshift.master.extension_stylesheets | to_padded_yaml(1, 2) }}
  26. {% endif %}
  27. {% if 'extensions' in openshift.master %}
  28. extensions: {{ openshift.master.extensions | to_padded_yaml(1, 2) }}
  29. {% endif %}
  30. servingInfo:
  31. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.console_port }}
  32. bindNetwork: tcp4
  33. certFile: master.server.crt
  34. clientCA: ""
  35. keyFile: master.server.key
  36. maxRequestsInFlight: 0
  37. requestTimeoutSeconds: 0
  38. {% if openshift_master_ha | bool %}
  39. {% if openshift.master.audit_config | default(none) is not none and openshift.common.version_gte_3_2_or_1_2 | bool %}
  40. auditConfig:{{ openshift.master.audit_config | to_padded_yaml(level=1) }}
  41. {% endif %}
  42. controllerLeaseTTL: {{ openshift.master.controller_lease_ttl | default('30') }}
  43. {% endif %}
  44. {% if openshift.common.version_gte_3_3_or_1_3 | bool %}
  45. controllerConfig:
  46. serviceServingCert:
  47. signer:
  48. certFile: service-signer.crt
  49. keyFile: service-signer.key
  50. {% endif %}
  51. controllers: '*'
  52. corsAllowedOrigins:
  53. {% for origin in ['127.0.0.1', 'localhost', openshift.common.ip, openshift.common.public_ip] | union(openshift.common.all_hostnames) | unique %}
  54. - {{ origin }}
  55. {% endfor %}
  56. {% for custom_origin in openshift.master.custom_cors_origins | default("") %}
  57. - {{ custom_origin }}
  58. {% endfor %}
  59. {% if 'disabled_features' in openshift.master %}
  60. disabledFeatures: {{ openshift.master.disabled_features | to_json }}
  61. {% endif %}
  62. {% if openshift.master.embedded_dns | bool %}
  63. dnsConfig:
  64. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.dns_port }}
  65. bindNetwork: tcp4
  66. {% endif %}
  67. etcdClientInfo:
  68. ca: {{ "ca.crt" if (openshift.master.embedded_etcd | bool) else "master.etcd-ca.crt" }}
  69. certFile: master.etcd-client.crt
  70. keyFile: master.etcd-client.key
  71. urls:
  72. {% for etcd_url in openshift.master.etcd_urls %}
  73. - {{ etcd_url }}
  74. {% endfor %}
  75. {% if openshift.master.embedded_etcd | bool %}
  76. etcdConfig:
  77. address: {{ openshift.common.hostname }}:{{ openshift.master.etcd_port }}
  78. peerAddress: {{ openshift.common.hostname }}:7001
  79. peerServingInfo:
  80. bindAddress: {{ openshift.master.bind_addr }}:7001
  81. certFile: etcd.server.crt
  82. clientCA: ca.crt
  83. keyFile: etcd.server.key
  84. servingInfo:
  85. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.etcd_port }}
  86. certFile: etcd.server.crt
  87. clientCA: ca.crt
  88. keyFile: etcd.server.key
  89. storageDirectory: {{ openshift.common.data_dir }}/openshift.local.etcd
  90. {% endif %}
  91. etcdStorageConfig:
  92. kubernetesStoragePrefix: kubernetes.io
  93. kubernetesStorageVersion: v1
  94. openShiftStoragePrefix: openshift.io
  95. openShiftStorageVersion: v1
  96. imageConfig:
  97. format: {{ openshift.master.registry_url }}
  98. latest: false
  99. {% if 'image_policy_config' in openshift.master %}
  100. imagePolicyConfig:{{ openshift.master.image_policy_config | to_padded_yaml(level=1) }}
  101. {% endif %}
  102. kind: MasterConfig
  103. kubeletClientInfo:
  104. {# TODO: allow user specified kubelet port #}
  105. ca: ca.crt
  106. certFile: master.kubelet-client.crt
  107. keyFile: master.kubelet-client.key
  108. port: 10250
  109. {% if openshift.master.embedded_kube | bool %}
  110. kubernetesMasterConfig:
  111. {% if not openshift.common.version_gte_3_1_or_1_1 | bool %}
  112. apiLevels:
  113. - v1beta3
  114. - v1
  115. {% endif %}
  116. apiServerArguments: {{ openshift.master.api_server_args | default(None) | to_padded_yaml( level=2 ) }}
  117. controllerArguments: {{ openshift.master.controller_args | default(None) | to_padded_yaml( level=2 ) }}
  118. masterCount: {{ openshift.master.master_count if openshift.master.cluster_method | default(None) == 'native' else 1 }}
  119. masterIP: {{ openshift.common.ip }}
  120. podEvictionTimeout: {{ openshift.master.pod_eviction_timeout | default("") }}
  121. proxyClientInfo:
  122. certFile: master.proxy-client.crt
  123. keyFile: master.proxy-client.key
  124. schedulerArguments: {{ openshift_master_scheduler_args | default(None) | to_padded_yaml( level=3 ) }}
  125. schedulerConfigFile: {{ openshift_master_scheduler_conf }}
  126. servicesNodePortRange: ""
  127. servicesSubnet: {{ openshift.common.portal_net }}
  128. staticNodeNames: {{ openshift_node_ips | default([], true) }}
  129. {% endif %}
  130. masterClients:
  131. {# TODO: allow user to set externalKubernetesKubeConfig #}
  132. {% if openshift.common.version_gte_3_3_or_1_3 | bool %}
  133. externalKubernetesClientConnectionOverrides:
  134. acceptContentTypes: application/vnd.kubernetes.protobuf,application/json
  135. contentType: application/vnd.kubernetes.protobuf
  136. burst: 400
  137. qps: 200
  138. {% endif %}
  139. externalKubernetesKubeConfig: ""
  140. {% if openshift.common.version_gte_3_3_or_1_3 | bool %}
  141. openshiftLoopbackClientConnectionOverrides:
  142. acceptContentTypes: application/vnd.kubernetes.protobuf,application/json
  143. contentType: application/vnd.kubernetes.protobuf
  144. burst: 600
  145. qps: 300
  146. {% endif %}
  147. openshiftLoopbackKubeConfig: openshift-master.kubeconfig
  148. masterPublicURL: {{ openshift.master.public_api_url }}
  149. networkConfig:
  150. clusterNetworkCIDR: {{ openshift.master.sdn_cluster_network_cidr }}
  151. hostSubnetLength: {{ openshift.master.sdn_host_subnet_length }}
  152. {% if openshift.common.use_openshift_sdn or openshift.common.use_nuage or openshift.common.sdn_network_plugin_name == 'cni' %}
  153. networkPluginName: {{ openshift.common.sdn_network_plugin_name }}
  154. {% endif %}
  155. # serviceNetworkCIDR must match kubernetesMasterConfig.servicesSubnet
  156. serviceNetworkCIDR: {{ openshift.common.portal_net }}
  157. externalIPNetworkCIDRs: {{ openshift_master_external_ip_network_cidrs | default(["0.0.0.0/0"]) | to_padded_yaml(1,2) }}
  158. {% if openshift_master_ingress_ip_network_cidr is defined %}
  159. ingressIPNetworkCIDR: {{ openshift_master_ingress_ip_network_cidr }}
  160. {% endif %}
  161. oauthConfig:
  162. {% if 'oauth_always_show_provider_selection' in openshift.master %}
  163. alwaysShowProviderSelection: {{ openshift.master.oauth_always_show_provider_selection }}
  164. {% endif %}
  165. {% if 'oauth_templates' in openshift.master %}
  166. templates:{{ openshift.master.oauth_templates | to_padded_yaml(level=2) }}
  167. {% endif %}
  168. assetPublicURL: {{ openshift.master.public_console_url }}/
  169. grantConfig:
  170. method: {{ openshift.master.oauth_grant_method }}
  171. identityProviders:
  172. {% for line in translated_identity_providers.splitlines() %}
  173. {{ line }}
  174. {% endfor %}
  175. {% if openshift.common.version_gte_3_2_or_1_2 | bool %}
  176. masterCA: ca-bundle.crt
  177. {% else %}
  178. masterCA: ca.crt
  179. {% endif %}
  180. masterPublicURL: {{ openshift.master.public_api_url }}
  181. masterURL: {{ openshift.master.api_url }}
  182. sessionConfig:
  183. sessionMaxAgeSeconds: {{ openshift.master.session_max_seconds }}
  184. sessionName: {{ openshift.master.session_name }}
  185. {% if openshift.master.session_auth_secrets is defined and openshift.master.session_encryption_secrets is defined %}
  186. sessionSecretsFile: {{ openshift.master.session_secrets_file }}
  187. {% endif %}
  188. tokenConfig:
  189. accessTokenMaxAgeSeconds: {{ openshift.master.access_token_max_seconds }}
  190. authorizeTokenMaxAgeSeconds: {{ openshift.master.auth_token_max_seconds }}
  191. pauseControllers: false
  192. policyConfig:
  193. bootstrapPolicyFile: {{ openshift_master_policy }}
  194. openshiftInfrastructureNamespace: openshift-infra
  195. openshiftSharedResourcesNamespace: openshift
  196. projectConfig:
  197. defaultNodeSelector: "{{ openshift.master.default_node_selector }}"
  198. projectRequestMessage: "{{ openshift.master.project_request_message }}"
  199. projectRequestTemplate: "{{ openshift.master.project_request_template }}"
  200. securityAllocator:
  201. mcsAllocatorRange: "{{ openshift.master.mcs_allocator_range }}"
  202. mcsLabelsPerProject: {{ openshift.master.mcs_labels_per_project }}
  203. uidAllocatorRange: "{{ openshift.master.uid_allocator_range }}"
  204. routingConfig:
  205. subdomain: "{{ openshift_master_default_subdomain | default("") }}"
  206. serviceAccountConfig:
  207. limitSecretReferences: false
  208. managedNames:
  209. - default
  210. - builder
  211. - deployer
  212. {% if openshift.common.version_gte_3_2_or_1_2 | bool %}
  213. masterCA: ca-bundle.crt
  214. {% else %}
  215. masterCA: ca.crt
  216. {% endif %}
  217. privateKeyFile: serviceaccounts.private.key
  218. publicKeyFiles:
  219. - serviceaccounts.public.key
  220. servingInfo:
  221. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.api_port }}
  222. bindNetwork: tcp4
  223. certFile: master.server.crt
  224. clientCA: ca.crt
  225. keyFile: master.server.key
  226. maxRequestsInFlight: {{ openshift.master.max_requests_inflight }}
  227. requestTimeoutSeconds: 3600
  228. {% if openshift.master.named_certificates | default([]) | length > 0 %}
  229. namedCertificates:
  230. {% for named_certificate in openshift.master.named_certificates %}
  231. - certFile: {{ named_certificate['certfile'] }}
  232. keyFile: {{ named_certificate['keyfile'] }}
  233. names:
  234. {% for name in named_certificate['names'] %}
  235. - "{{ name }}"
  236. {% endfor %}
  237. {% endfor %}
  238. {% endif %}
  239. volumeConfig:
  240. dynamicProvisioningEnabled: {{ openshift.master.dynamic_provisioning_enabled }}