A declarative host provisioning system.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

361 lines
8.4KB

  1. # Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. # This file provides defaults for drydock
  15. replicas:
  16. drydock: 2
  17. labels:
  18. api:
  19. node_selector_key: ucp-control-plane
  20. node_selector_value: enabled
  21. job:
  22. node_selector_key: ucp-control-plane
  23. node_selector_value: enabled
  24. images:
  25. tags:
  26. drydock: quay.io/airshipit/drydock:master
  27. dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
  28. ks_user: docker.io/openstackhelm/heat:newton
  29. ks_service: docker.io/openstackhelm/heat:newton
  30. ks_endpoints: docker.io/openstackhelm/heat:newton
  31. drydock_db_init: docker.io/postgres:9.5
  32. drydock_db_sync: quay.io/airshipit/drydock:master
  33. pull_policy: "IfNotPresent"
  34. #TODO(mattmceuen): This chart does not yet support local image caching
  35. local_registry:
  36. active: false
  37. exclude:
  38. - dep_check
  39. - image_repo_sync
  40. network:
  41. api:
  42. nodeport:
  43. enabled: false
  44. ingress:
  45. public: true
  46. classes:
  47. namespace: "nginx"
  48. cluster: "nginx-cluster"
  49. annotations:
  50. nginx.ingress.kubernetes.io/rewrite-target: /
  51. pod:
  52. lifecycle:
  53. upgrades:
  54. deployments:
  55. revision_history: 3
  56. pod_replacement_strategy: RollingUpdate
  57. rolling_update:
  58. max_unavailable: 1
  59. max_surge: 3
  60. affinity:
  61. anti:
  62. type:
  63. default: preferredDuringSchedulingIgnoredDuringExecution
  64. topologyKey:
  65. default: kubernetes.io/hostname
  66. resources:
  67. enabled: false
  68. test:
  69. limits:
  70. memory: "128Mi"
  71. cpu: "100m"
  72. requests:
  73. memory: "128Mi"
  74. cpu: "100m"
  75. api:
  76. limits:
  77. memory: "128Mi"
  78. cpu: "100m"
  79. requests:
  80. memory: "128Mi"
  81. cpu: "100m"
  82. jobs:
  83. ks_user:
  84. limits:
  85. memory: "128Mi"
  86. cpu: "100m"
  87. requests:
  88. memory: "128Mi"
  89. cpu: "100m"
  90. ks_service:
  91. limits:
  92. memory: "128Mi"
  93. cpu: "100m"
  94. requests:
  95. memory: "128Mi"
  96. cpu: "100m"
  97. ks_endpoints:
  98. limits:
  99. memory: "128Mi"
  100. cpu: "100m"
  101. requests:
  102. memory: "128Mi"
  103. cpu: "100m"
  104. drydock_db_sync:
  105. limits:
  106. memory: "128Mi"
  107. cpu: "100m"
  108. requests:
  109. memory: "128Mi"
  110. cpu: "100m"
  111. drydock_db_init:
  112. limits:
  113. memory: "128Mi"
  114. cpu: "100m"
  115. requests:
  116. memory: "128Mi"
  117. cpu: "100m"
  118. manifests:
  119. job_ks_service: true
  120. job_ks_user: true
  121. job_ks_endpoints: true
  122. job_drydock_db_init: true
  123. job_drydock_db_sync: true
  124. secret_keystone: true
  125. secret_database: true
  126. secret_ssh_key: true
  127. secret_tls: true
  128. configmap_etc: true
  129. configmap_bin: true
  130. service_drydock: true
  131. ingress_drydock: true
  132. deployment_drydock: true
  133. test_drydock_api: true
  134. test_drydock_auth: true
  135. dependencies:
  136. dynamic:
  137. common:
  138. local_image_registry:
  139. jobs:
  140. - drydock-image-repo-sync
  141. services:
  142. - endpoint: node
  143. service: local_image_registry
  144. static:
  145. db_init:
  146. services:
  147. - service: postgresql
  148. endpoint: internal
  149. db_sync:
  150. services:
  151. - service: postgresql
  152. endpoint: internal
  153. jobs:
  154. - drydock-db-init
  155. ks_user:
  156. services:
  157. - service: identity
  158. endpoint: internal
  159. ks_service:
  160. services:
  161. - service: identity
  162. endpoint: internal
  163. ks_endpoints:
  164. jobs:
  165. - drydock-ks-service
  166. services:
  167. - service: identity
  168. endpoint: internal
  169. api:
  170. jobs:
  171. - drydock-ks-endpoints
  172. - drydock-ks-user
  173. - drydock-ks-service
  174. - drydock-db-init
  175. - drydock-db-sync
  176. services:
  177. - service: identity
  178. endpoint: internal
  179. - service: postgresql
  180. endpoint: internal
  181. endpoints:
  182. cluster_domain_suffix: cluster.local
  183. identity:
  184. name: keystone
  185. auth:
  186. admin:
  187. region_name: RegionOne
  188. project_name: admin
  189. password: password
  190. username: admin
  191. user_domain_name: default
  192. project_domain_name: default
  193. drydock:
  194. region_name: RegionOne
  195. role: admin
  196. project_name: service
  197. project_domain_name: default
  198. user_domain_name: default
  199. username: drydock
  200. password: password
  201. hosts:
  202. default: keystone
  203. internal: keystone-api
  204. host_fqdn_override:
  205. default: null
  206. path:
  207. default: /v3
  208. scheme:
  209. default: http
  210. port:
  211. api:
  212. default: 80
  213. internal: 5000
  214. physicalprovisioner:
  215. name: drydock
  216. hosts:
  217. default: drydock-api
  218. public: drydock
  219. port:
  220. api:
  221. default: 9000
  222. nodeport: 31900
  223. path:
  224. default: /api/v1.0
  225. scheme:
  226. default: http
  227. host_fqdn_override:
  228. default: null
  229. public:
  230. host: drydock.test.local
  231. # tls:
  232. # crt: replace
  233. # ca: replace
  234. # key: replace
  235. postgresql:
  236. name: postgresql
  237. auth:
  238. admin:
  239. username: postgres
  240. password: password
  241. user:
  242. username: drydock
  243. password: password
  244. database: drydock
  245. hosts:
  246. default: postgresql
  247. path: /drydock
  248. scheme: postgresql+psycopg2
  249. port:
  250. postgresql:
  251. default: 5432
  252. host_fqdn_override:
  253. default: null
  254. maas_region:
  255. name: maas-region
  256. auth:
  257. admin:
  258. username: admin
  259. password: admin
  260. email: none@none
  261. hosts:
  262. default: maas-region
  263. public: maas
  264. path:
  265. default: /MAAS
  266. scheme:
  267. default: http
  268. port:
  269. region_api:
  270. default: 80
  271. public: 80
  272. nodeport: 31900
  273. region_proxy:
  274. default: 8000
  275. host_fqdn_override:
  276. default: null
  277. secrets:
  278. identity:
  279. admin: drydock-keystone-admin
  280. drydock: drydock-keystone-user
  281. postgresql:
  282. admin: drydock-postgresql-admin
  283. user: drydock-postgresql-user
  284. ssh_key: ssh-private-key
  285. tls:
  286. physicalprovisioner:
  287. api:
  288. public: drydock-tls-public
  289. # Settings for drydock.conf
  290. conf:
  291. ssh:
  292. # A SSH private key strings to mount
  293. # to allow Drydock access virsh over SSH
  294. # The corresponding public key should be
  295. # added to a authorized_keys file to a user
  296. # in the libvirt group on the hypervisors
  297. private_key: null
  298. config:
  299. UserKnownHostsFile: '/dev/null'
  300. StrictHostKeyChecking: 'no'
  301. uwsgi:
  302. threads: 1
  303. workers: 1
  304. drydock:
  305. logging:
  306. log_level: 'DEBUG'
  307. global_logger_name: 'drydock'
  308. oobdriver_logger_name: '${global_logger_name}.oobdriver'
  309. nodedriver_logger_name: '${global_logger_name}.nodedriver'
  310. control_logger_name: '${global_logger_name}.control'
  311. maasdriver:
  312. maas_api_key: 'override_this'
  313. maas_api_url: null
  314. plugins:
  315. ingester:
  316. - 'drydock_provisioner.ingester.plugins.yaml.YamlIngester'
  317. oob_driver:
  318. - 'drydock_provisioner.drivers.oob.redfish_driver.driver.RedfishDriver'
  319. - 'drydock_provisioner.drivers.oob.pyghmi_driver.driver.PyghmiDriver'
  320. - 'drydock_provisioner.drivers.oob.manual_driver.driver.ManualDriver'
  321. - 'drydock_provisioner.drivers.oob.libvirt_driver.driver.LibvirtDriver'
  322. node_driver: 'drydock_provisioner.drivers.node.maasdriver.driver.MaasNodeDriver'
  323. timeouts:
  324. drydock_timeout: 5
  325. create_network_template: 2
  326. identify_node: 10
  327. configure_hardware: 30
  328. apply_node_networking: 5
  329. apply_node_platform: 5
  330. deploy_node: 45
  331. bootdata:
  332. prom_init: '/etc/drydock/bootdata/join.sh'
  333. keystone_authtoken:
  334. delay_auth_decision: true
  335. auth_type: password
  336. auth_section: keystone_authtoken
  337. database:
  338. database_connect_string: null
  339. # end drydock.conf
  340. # configs for api-paste.ini
  341. paste:
  342. override:
  343. append:
  344. # end api-paste.ini
  345. # configs for policy.yaml
  346. policy:
  347. override:
  348. append:
  349. # end policy.yaml