master.yaml.v1.j2 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. apiLevels:
  2. {% if not openshift.common.version_greater_than_3_1_or_1_1 | bool %}
  3. - v1beta3
  4. {% endif %}
  5. - v1
  6. apiVersion: v1
  7. assetConfig:
  8. logoutURL: ""
  9. masterPublicURL: {{ openshift.master.public_api_url }}
  10. publicURL: {{ openshift.master.public_console_url }}/
  11. {% if 'logging_public_url' in openshift.master %}
  12. loggingPublicURL: {{ openshift.master.logging_public_url }}
  13. {% endif %}
  14. {% if 'metrics_public_url' in openshift.master %}
  15. metricsPublicURL: {{ openshift.master.metrics_public_url }}
  16. {% endif %}
  17. servingInfo:
  18. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.console_port }}
  19. bindNetwork: tcp4
  20. certFile: master.server.crt
  21. clientCA: ""
  22. keyFile: master.server.key
  23. maxRequestsInFlight: 0
  24. requestTimeoutSeconds: 0
  25. {% if openshift_master_ha | bool %}
  26. controllerLeaseTTL: {{ openshift.master.controller_lease_ttl | default('30') }}
  27. {% endif %}
  28. controllers: '*'
  29. corsAllowedOrigins:
  30. {% for origin in ['127.0.0.1', 'localhost', openshift.common.ip, openshift.common.public_ip] | union(openshift.common.all_hostnames) | unique %}
  31. - {{ origin }}
  32. {% endfor %}
  33. {% for custom_origin in openshift.master.custom_cors_origins | default("") %}
  34. - {{ custom_origin }}
  35. {% endfor %}
  36. {% if 'disabled_features' in openshift.master %}
  37. disabledFeatures: {{ openshift.master.disabled_features | to_json }}
  38. {% endif %}
  39. {% if openshift.master.embedded_dns | bool %}
  40. dnsConfig:
  41. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.dns_port }}
  42. bindNetwork: tcp4
  43. {% endif %}
  44. etcdClientInfo:
  45. ca: {{ "ca.crt" if (openshift.master.embedded_etcd | bool) else "master.etcd-ca.crt" }}
  46. certFile: master.etcd-client.crt
  47. keyFile: master.etcd-client.key
  48. urls:
  49. {% for etcd_url in openshift.master.etcd_urls %}
  50. - {{ etcd_url }}
  51. {% endfor %}
  52. {% if openshift.master.embedded_etcd | bool %}
  53. etcdConfig:
  54. address: {{ openshift.common.hostname }}:{{ openshift.master.etcd_port }}
  55. peerAddress: {{ openshift.common.hostname }}:7001
  56. peerServingInfo:
  57. bindAddress: {{ openshift.master.bind_addr }}:7001
  58. certFile: etcd.server.crt
  59. clientCA: ca.crt
  60. keyFile: etcd.server.key
  61. servingInfo:
  62. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.etcd_port }}
  63. certFile: etcd.server.crt
  64. clientCA: ca.crt
  65. keyFile: etcd.server.key
  66. storageDirectory: {{ openshift.common.data_dir }}/openshift.local.etcd
  67. {% endif %}
  68. etcdStorageConfig:
  69. kubernetesStoragePrefix: kubernetes.io
  70. kubernetesStorageVersion: v1
  71. openShiftStoragePrefix: openshift.io
  72. openShiftStorageVersion: v1
  73. imageConfig:
  74. format: {{ openshift.master.registry_url }}
  75. latest: false
  76. kind: MasterConfig
  77. kubeletClientInfo:
  78. {# TODO: allow user specified kubelet port #}
  79. ca: ca.crt
  80. certFile: master.kubelet-client.crt
  81. keyFile: master.kubelet-client.key
  82. port: 10250
  83. {% if openshift.master.embedded_kube | bool %}
  84. kubernetesMasterConfig:
  85. {% if not openshift.common.version_greater_than_3_1_or_1_1 | bool %}
  86. apiLevels:
  87. - v1beta3
  88. - v1
  89. {% endif %}
  90. apiServerArguments: {{ api_server_args if api_server_args is defined else 'null' }}
  91. controllerArguments: {{ controller_args if controller_args is defined else 'null' }}
  92. masterCount: {{ openshift.master.master_count if openshift.master.cluster_method | default(None) == 'native' else 1 }}
  93. masterIP: {{ openshift.common.ip }}
  94. podEvictionTimeout: ""
  95. proxyClientInfo:
  96. certFile: master.proxy-client.crt
  97. keyFile: master.proxy-client.key
  98. schedulerConfigFile: {{ openshift_master_scheduler_conf }}
  99. servicesNodePortRange: ""
  100. servicesSubnet: {{ openshift.master.portal_net }}
  101. staticNodeNames: {{ openshift_node_ips | default([], true) }}
  102. {% endif %}
  103. masterClients:
  104. {# TODO: allow user to set externalKubernetesKubeConfig #}
  105. externalKubernetesKubeConfig: ""
  106. openshiftLoopbackKubeConfig: openshift-master.kubeconfig
  107. masterPublicURL: {{ openshift.master.public_api_url }}
  108. networkConfig:
  109. clusterNetworkCIDR: {{ openshift.master.sdn_cluster_network_cidr }}
  110. hostSubnetLength: {{ openshift.master.sdn_host_subnet_length }}
  111. {% if openshift.common.use_openshift_sdn %}
  112. networkPluginName: {{ openshift.common.sdn_network_plugin_name }}
  113. {% endif %}
  114. # serviceNetworkCIDR must match kubernetesMasterConfig.servicesSubnet
  115. serviceNetworkCIDR: {{ openshift.master.portal_net }}
  116. oauthConfig:
  117. assetPublicURL: {{ openshift.master.public_console_url }}/
  118. grantConfig:
  119. method: {{ openshift.master.oauth_grant_method }}
  120. identityProviders:
  121. {% for line in translated_identity_providers.splitlines() %}
  122. {{ line }}
  123. {% endfor %}
  124. masterCA: ca.crt
  125. masterPublicURL: {{ openshift.master.public_api_url }}
  126. masterURL: {{ openshift.master.api_url }}
  127. sessionConfig:
  128. sessionMaxAgeSeconds: {{ openshift.master.session_max_seconds }}
  129. sessionName: {{ openshift.master.session_name }}
  130. {% if openshift.master.session_auth_secrets is defined and openshift.master.session_encryption_secrets is defined %}
  131. sessionSecretsFile: {{ openshift.master.session_secrets_file }}
  132. {% endif %}
  133. tokenConfig:
  134. accessTokenMaxAgeSeconds: {{ openshift.master.access_token_max_seconds }}
  135. authorizeTokenMaxAgeSeconds: {{ openshift.master.auth_token_max_seconds }}
  136. pauseControllers: false
  137. policyConfig:
  138. bootstrapPolicyFile: {{ openshift_master_policy }}
  139. openshiftInfrastructureNamespace: openshift-infra
  140. openshiftSharedResourcesNamespace: openshift
  141. projectConfig:
  142. defaultNodeSelector: "{{ openshift.master.default_node_selector }}"
  143. projectRequestMessage: "{{ openshift.master.project_request_message }}"
  144. projectRequestTemplate: "{{ openshift.master.project_request_template }}"
  145. securityAllocator:
  146. mcsAllocatorRange: "{{ openshift.master.mcs_allocator_range }}"
  147. mcsLabelsPerProject: {{ openshift.master.mcs_labels_per_project }}
  148. uidAllocatorRange: "{{ openshift.master.uid_allocator_range }}"
  149. routingConfig:
  150. subdomain: "{{ openshift.master.default_subdomain | default("") }}"
  151. serviceAccountConfig:
  152. limitSecretReferences: false
  153. managedNames:
  154. - default
  155. - builder
  156. - deployer
  157. masterCA: ca.crt
  158. privateKeyFile: serviceaccounts.private.key
  159. publicKeyFiles:
  160. - serviceaccounts.public.key
  161. servingInfo:
  162. bindAddress: {{ openshift.master.bind_addr }}:{{ openshift.master.api_port }}
  163. bindNetwork: tcp4
  164. certFile: master.server.crt
  165. clientCA: ca.crt
  166. keyFile: master.server.key
  167. maxRequestsInFlight: 500
  168. requestTimeoutSeconds: 3600
  169. {% if openshift.master.named_certificates %}
  170. namedCertificates:
  171. {% for named_certificate in openshift.master.named_certificates %}
  172. - certFile: {{ named_certificate['certfile'] }}
  173. keyFile: {{ named_certificate['keyfile'] }}
  174. names:
  175. {% for name in named_certificate['names'] %}
  176. - "{{ name }}"
  177. {% endfor %}
  178. {% endfor %}
  179. {% endif %}