forms.go 29 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121
  1. package infra
  2. const testForm = `name: Test
  3. hasSource: false
  4. includeHiddenFields: true
  5. isClusterScoped: true
  6. tabs:
  7. - name: main
  8. label: Configuration
  9. sections:
  10. - name: section_one
  11. contents:
  12. - type: heading
  13. label: String to echo
  14. - type: string-input
  15. variable: echo
  16. settings:
  17. default: hello
  18. `
  19. const s3Form = `name: S3
  20. hasSource: false
  21. includeHiddenFields: true
  22. isClusterScoped: true
  23. tabs:
  24. - name: main
  25. label: Main
  26. sections:
  27. - name: heading
  28. contents:
  29. - type: heading
  30. label: S3 Settings
  31. - name: bucket_name
  32. contents:
  33. - type: string-input
  34. label: Bucket Name
  35. required: true
  36. placeholder: "s3-bucket-name"
  37. variable: bucket_name
  38. `
  39. const rdsForm = `name: RDS
  40. hasSource: false
  41. includeHiddenFields: true
  42. isClusterScoped: true
  43. tabs:
  44. - name: main
  45. label: Main
  46. sections:
  47. - name: heading
  48. contents:
  49. - type: heading
  50. label: Database Settings
  51. - name: user
  52. contents:
  53. - type: string-input
  54. label: Database Master User
  55. required: true
  56. placeholder: "admin"
  57. variable: db_user
  58. - name: password
  59. contents:
  60. - type: string-input
  61. required: true
  62. label: Database Master Password
  63. variable: db_passwd
  64. - name: name
  65. contents:
  66. - type: string-input
  67. label: Database Name
  68. required: true
  69. placeholder: "rds-staging"
  70. variable: db_name
  71. - name: machine-type
  72. contents:
  73. - type: select
  74. label: ⚙️ Database Machine Type
  75. variable: machine_type
  76. settings:
  77. default: db.t3.medium
  78. options:
  79. - label: db.t2.medium
  80. value: db.t2.medium
  81. - label: db.t2.xlarge
  82. value: db.t2.xlarge
  83. - label: db.t2.2xlarge
  84. value: db.t2.2xlarge
  85. - label: db.t3.medium
  86. value: db.t3.medium
  87. - label: db.t3.xlarge
  88. value: db.t3.xlarge
  89. - label: db.t3.2xlarge
  90. value: db.t3.2xlarge
  91. - label: db.r5.large
  92. value: db.r5.large
  93. - label: db.r5.xlarge
  94. value: db.r5.xlarge
  95. - label: db.r5.2xlarge
  96. value: db.r5.2xlarge
  97. - name: family-versions
  98. contents:
  99. - type: select
  100. label: Database Family Version
  101. variable: db_family
  102. settings:
  103. default: postgres13
  104. options:
  105. - label: "Postgres 9"
  106. value: postgres9
  107. - label: "Postgres 10"
  108. value: postgres10
  109. - label: "Postgres 11"
  110. value: postgres11
  111. - label: "Postgres 12"
  112. value: postgres12
  113. - label: "Postgres 13"
  114. value: postgres13
  115. - name: pg-9-versions
  116. show_if:
  117. is: "postgres9"
  118. variable: db_family
  119. contents:
  120. - type: select
  121. label: Database Version
  122. variable: db_engine_version
  123. settings:
  124. default: "9.6.23"
  125. options:
  126. - label: "v9.6.1"
  127. value: "9.6.1"
  128. - label: "v9.6.2"
  129. value: "9.6.2"
  130. - label: "v9.6.3"
  131. value: "9.6.3"
  132. - label: "v9.6.4"
  133. value: "9.6.4"
  134. - label: "v9.6.5"
  135. value: "9.6.5"
  136. - label: "v9.6.6"
  137. value: "9.6.6"
  138. - label: "v9.6.7"
  139. value: "9.6.7"
  140. - label: "v9.6.8"
  141. value: "9.6.8"
  142. - label: "v9.6.10"
  143. value: "9.6.10"
  144. - label: "v9.6.11"
  145. value: "9.6.11"
  146. - label: "v9.6.12"
  147. value: "9.6.12"
  148. - label: "v9.6.13"
  149. value: "9.6.13"
  150. - label: "v9.6.14"
  151. value: "9.6.14"
  152. - label: "v9.6.15"
  153. value: "9.6.15"
  154. - label: "v9.6.16"
  155. value: "9.6.16"
  156. - label: "v9.6.17"
  157. value: "9.6.17"
  158. - label: "v9.6.18"
  159. value: "9.6.18"
  160. - label: "v9.6.19"
  161. value: "9.6.19"
  162. - label: "v9.6.20"
  163. value: "9.6.20"
  164. - label: "v9.6.21"
  165. value: "9.6.21"
  166. - label: "v9.6.22"
  167. value: "9.6.22"
  168. - label: "v9.6.23"
  169. value: "9.6.23"
  170. - name: pg-10-versions
  171. show_if:
  172. is: "postgres10"
  173. variable: db_family
  174. contents:
  175. - type: select
  176. label: Database Version
  177. variable: db_engine_version
  178. settings:
  179. default: "10.18"
  180. options:
  181. - label: "v10.1"
  182. value: "10.1"
  183. - label: "v10.2"
  184. value: "10.2"
  185. - label: "v10.3"
  186. value: "10.3"
  187. - label: "v10.4"
  188. value: "10.4"
  189. - label: "v10.5"
  190. value: "10.5"
  191. - label: "v10.6"
  192. value: "10.6"
  193. - label: "v10.7"
  194. value: "10.7"
  195. - label: "v10.8"
  196. value: "10.8"
  197. - label: "v10.9"
  198. value: "10.9"
  199. - label: "v10.10"
  200. value: "10.10"
  201. - label: "v10.11"
  202. value: "10.11"
  203. - label: "v10.12"
  204. value: "10.12"
  205. - label: "v10.13"
  206. value: "10.13"
  207. - label: "v10.14"
  208. value: "10.14"
  209. - label: "v10.15"
  210. value: "10.15"
  211. - label: "v10.16"
  212. value: "10.16"
  213. - label: "v10.17"
  214. value: "10.17"
  215. - label: "v10.18"
  216. value: "10.18"
  217. - name: pg-11-versions
  218. show_if:
  219. is: "postgres11"
  220. variable: db_family
  221. contents:
  222. - type: select
  223. label: Database Version
  224. variable: db_engine_version
  225. settings:
  226. default: "11.13"
  227. options:
  228. - label: "v11.1"
  229. value: "11.1"
  230. - label: "v11.2"
  231. value: "11.2"
  232. - label: "v11.3"
  233. value: "11.3"
  234. - label: "v11.4"
  235. value: "11.4"
  236. - label: "v11.5"
  237. value: "11.5"
  238. - label: "v11.6"
  239. value: "11.6"
  240. - label: "v11.7"
  241. value: "11.7"
  242. - label: "v11.8"
  243. value: "11.8"
  244. - label: "v11.9"
  245. value: "11.9"
  246. - label: "v11.10"
  247. value: "11.10"
  248. - label: "v11.11"
  249. value: "11.11"
  250. - label: "v11.12"
  251. value: "11.12"
  252. - label: "v11.13"
  253. value: "11.13"
  254. - name: pg-12-versions
  255. show_if:
  256. is: "postgres12"
  257. variable: db_family
  258. contents:
  259. - type: select
  260. label: Database Version
  261. variable: db_engine_version
  262. settings:
  263. default: "12.8"
  264. options:
  265. - label: "v12.2"
  266. value: "12.2"
  267. - label: "v12.3"
  268. value: "12.3"
  269. - label: "v12.4"
  270. value: "12.4"
  271. - label: "v12.5"
  272. value: "12.5"
  273. - label: "v12.6"
  274. value: "12.6"
  275. - label: "v12.7"
  276. value: "12.7"
  277. - label: "v12.8"
  278. value: "12.8"
  279. - label: "v12.10"
  280. value: "12.10"
  281. - name: pg-13-versions
  282. show_if:
  283. is: "postgres13"
  284. variable: db_family
  285. contents:
  286. - type: select
  287. label: Database Version
  288. variable: db_engine_version
  289. settings:
  290. default: "13.4"
  291. options:
  292. - label: "v13.1"
  293. value: "13.1"
  294. - label: "v13.2"
  295. value: "13.2"
  296. - label: "v13.3"
  297. value: "13.3"
  298. - label: "v13.4"
  299. value: "13.4"
  300. - label: "v13.6"
  301. value: "13.6"
  302. - name: additional-settings
  303. contents:
  304. - type: heading
  305. label: Additional Settings
  306. - type: checkbox
  307. variable: db_deletion_protection
  308. label: Enable deletion protection for the database.
  309. settings:
  310. default: false
  311. - name: storage
  312. label: Storage
  313. sections:
  314. - name: storage
  315. contents:
  316. - type: heading
  317. label: Storage Settings
  318. - type: number-input
  319. label: Specify the amount of storage to allocate to this instance in gigabytes.
  320. variable: db_allocated_storage
  321. placeholder: "ex: 10"
  322. settings:
  323. default: 10
  324. - type: number-input
  325. label: Specify the maximum storage that this instance can scale to in gigabytes.
  326. variable: db_max_allocated_storage
  327. placeholder: "ex: 20"
  328. settings:
  329. default: 20
  330. - type: checkbox
  331. variable: db_storage_encrypted
  332. label: Enable storage encryption for the database.
  333. settings:
  334. default: false
  335. - name: advanced
  336. label: Advanced
  337. sections:
  338. - name: replicas
  339. contents:
  340. - type: heading
  341. label: Read Replicas
  342. - type: subtitle
  343. label: Specify the number of read replicas to run alongside your RDS instance.
  344. - type: number-input
  345. label: Replicas
  346. variable: db_replicas
  347. placeholder: "ex: 1"
  348. settings:
  349. default: 0`
  350. const ecrForm = `name: ECR
  351. hasSource: false
  352. includeHiddenFields: true
  353. tabs:
  354. - name: main
  355. label: Configuration
  356. sections:
  357. - name: section_one
  358. contents:
  359. - type: heading
  360. label: ECR Configuration
  361. - type: string-input
  362. label: ECR Name
  363. required: true
  364. placeholder: my-awesome-registry
  365. variable: ecr_name
  366. `
  367. const eksForm = `name: EKS
  368. hasSource: false
  369. includeHiddenFields: true
  370. tabs:
  371. - name: main
  372. label: Configuration
  373. sections:
  374. - name: section_one
  375. contents:
  376. - type: heading
  377. label: EKS Configuration
  378. - type: select
  379. label: ⚙️ AWS Machine Type
  380. variable: machine_type
  381. settings:
  382. default: t2.medium
  383. options:
  384. - label: t2.medium
  385. value: t2.medium
  386. - label: t2.large
  387. value: t2.large
  388. - label: t2.xlarge
  389. value: t2.xlarge
  390. - label: t2.2xlarge
  391. value: t2.2xlarge
  392. - label: t3.medium
  393. value: t3.medium
  394. - label: t3.large
  395. value: t3.large
  396. - label: t3.xlarge
  397. value: t3.xlarge
  398. - label: t3.2xlarge
  399. value: t3.2xlarge
  400. - label: c6i.large
  401. value: c6i.large
  402. - label: c6i.xlarge
  403. value: c6i.xlarge
  404. - label: c6i.2xlarge
  405. value: c6i.2xlarge
  406. - label: r5.large
  407. value: r5.large
  408. - value: r5.xlarge
  409. value: r5.xlarge
  410. - type: string-input
  411. label: 👤 Issuer Email
  412. required: true
  413. placeholder: example@example.com
  414. variable: issuer_email
  415. - type: string-input
  416. label: EKS Cluster Name
  417. required: true
  418. placeholder: my-cluster
  419. variable: cluster_name
  420. - type: select
  421. label: EKS control plane version
  422. variable: cluster_version
  423. settings:
  424. default: "1.20"
  425. options:
  426. - label: "1.20"
  427. value: "1.20"
  428. - label: "1.21"
  429. value: "1.21"
  430. - label: "1.22"
  431. value: "1.22"
  432. - type: number-input
  433. label: Minimum number of EC2 instances to create in the application autoscaling group.
  434. variable: min_instances
  435. placeholder: "ex: 1"
  436. settings:
  437. default: 1
  438. - type: number-input
  439. label: Maximum number of EC2 instances to create in the application autoscaling group.
  440. variable: max_instances
  441. placeholder: "ex: 10"
  442. settings:
  443. default: 10
  444. - name: additional_nodegroup
  445. label: Additional Node Groups
  446. sections:
  447. - name: is_additional_enabled
  448. contents:
  449. - type: heading
  450. label: Additional Node Groups
  451. - type: checkbox
  452. variable: additional_nodegroup_enabled
  453. label: Enable an additional node group for this cluster.
  454. settings:
  455. default: false
  456. - name: additional_settings
  457. show_if: additional_nodegroup_enabled
  458. contents:
  459. - type: string-input
  460. label: Label for this node group.
  461. variable: additional_nodegroup_label
  462. placeholder: "ex: porter.run/workload-kind=job"
  463. settings:
  464. default: porter.run/workload-kind=database
  465. - type: string-input
  466. label: Taint for this node group.
  467. variable: additional_nodegroup_taint
  468. placeholder: "ex: porter.run/workload-kind=job:NoSchedule"
  469. settings:
  470. default: porter.run/workload-kind=database:NoSchedule
  471. - type: checkbox
  472. variable: additional_stateful_nodegroup_enabled
  473. label: Stateful Workload
  474. settings:
  475. default: false
  476. - type: select
  477. label: ⚙️ AWS System Machine Type
  478. variable: additional_nodegroup_machine_type
  479. settings:
  480. default: t2.medium
  481. options:
  482. - label: t2.medium
  483. value: t2.medium
  484. - label: t2.large
  485. value: t2.large
  486. - label: t2.xlarge
  487. value: t2.xlarge
  488. - label: t2.2xlarge
  489. value: t2.2xlarge
  490. - label: t3.medium
  491. value: t3.medium
  492. - label: t3.large
  493. value: t3.large
  494. - label: t3.xlarge
  495. value: t3.xlarge
  496. - label: t3.2xlarge
  497. value: t3.2xlarge
  498. - label: c6i.large
  499. value: c6i.large
  500. - label: c6i.xlarge
  501. value: c6i.xlarge
  502. - label: c6i.2xlarge
  503. value: c6i.2xlarge
  504. - type: number-input
  505. label: Minimum number of EC2 instances to create in the application autoscaling group.
  506. variable: additional_nodegroup_min_instances
  507. placeholder: "ex: 1"
  508. settings:
  509. default: 1
  510. - type: number-input
  511. label: Maximum number of EC2 instances to create in the application autoscaling group.
  512. variable: additional_nodegroup_max_instances
  513. placeholder: "ex: 10"
  514. settings:
  515. default: 10
  516. - name: iam
  517. label: IAM
  518. sections:
  519. - name: toggle_aws_auth
  520. contents:
  521. - type: heading
  522. label: Configure IAM Access
  523. - type: checkbox
  524. variable: manage_aws_auth_configmap
  525. label: Allow Porter to manage AWS authentication for the cluster.
  526. settings:
  527. default: true
  528. - name: aws_auth_warning
  529. show_if:
  530. not: manage_aws_auth_configmap
  531. contents:
  532. - type: subtitle
  533. label: "WARNING - turning this value off will result in the aws-auth configmap getting removed from the cluster, and will take existing AWS nodes offline until the configmap is re-added with the node's IAM role ARN. Make sure you know what you are doing."
  534. - name: arns
  535. show_if: manage_aws_auth_configmap
  536. contents:
  537. - type: heading
  538. label: Users
  539. - type: subtitle
  540. label: "Add AWS users to the cluster. The left input should be a valid AWS user ARN, and the right side should be a group on the cluster. For example, arn:aws:iam::66666666666:user/user1: system:masters."
  541. - type: key-value-array
  542. variable: aws_auth_users
  543. settings:
  544. default: {}
  545. - type: heading
  546. label: Roles
  547. - type: subtitle
  548. label: "Add AWS roles to the cluster. The left input should be a valid AWS role ARN, and the right side should be a group on the cluster. For example, arn:aws:iam::66666666666:role/role1: system:masters."
  549. - type: key-value-array
  550. variable: aws_auth_roles
  551. settings:
  552. default: {}
  553. - name: advanced
  554. label: Advanced
  555. sections:
  556. - name: system_machine_type
  557. contents:
  558. - type: heading
  559. label: System Machine Type Settings
  560. - type: select
  561. label: ⚙️ AWS System Machine Type
  562. variable: system_machine_type
  563. settings:
  564. default: t2.medium
  565. options:
  566. - label: t2.medium
  567. value: t2.medium
  568. - label: t2.large
  569. value: t2.large
  570. - label: t2.xlarge
  571. value: t2.xlarge
  572. - label: t2.2xlarge
  573. value: t2.2xlarge
  574. - label: t3.medium
  575. value: t3.medium
  576. - label: t3.large
  577. value: t3.large
  578. - label: t3.xlarge
  579. value: t3.xlarge
  580. - label: t3.2xlarge
  581. value: t3.2xlarge
  582. - label: c6i.2xlarge
  583. value: c6i.2xlarge
  584. - name: spot_instance_should_enable
  585. contents:
  586. - type: heading
  587. label: Spot Instance Settings
  588. - type: checkbox
  589. variable: spot_instances_enabled
  590. label: Enable spot instances for this cluster.
  591. settings:
  592. default: false
  593. - name: spot_instance_price
  594. show_if: spot_instances_enabled
  595. contents:
  596. - type: string-input
  597. label: Assign a bid price for the spot instance (optional).
  598. variable: spot_price
  599. placeholder: "ex: 0.05"
  600. - name: net_settings
  601. contents:
  602. - type: heading
  603. label: Networking Settings
  604. - type: string-input
  605. label: "Add a different CIDR range prefix (first two octets: for example 10.99 will create a VPC with CIDR range 10.99.0.0/16)."
  606. variable: cluster_vpc_cidr_octets
  607. placeholder: "ex: 10.99"
  608. settings:
  609. default: "10.99"
  610. - type: checkbox
  611. label: "Add additional private subnets to the cluster in each AZ."
  612. variable: additional_private_subnets
  613. settings:
  614. default: false
  615. - name: subnet_multiplicity
  616. show_if: additional_private_subnets
  617. contents:
  618. - type: number-input
  619. label: "Multiplicity of the subnet within each AZ."
  620. variable: additional_private_subnets_multiplicity
  621. settings:
  622. default: 3
  623. - name: net_settings_azs_toggle
  624. contents:
  625. - type: checkbox
  626. label: "Specify the AZs to provision this cluster in."
  627. variable: specify_azs
  628. settings:
  629. default: false
  630. - name: net_settings_azs
  631. show_if: specify_azs
  632. contents:
  633. - type: array-input
  634. variable: azs
  635. label: Availability Zones
  636. - name: nginx_settings
  637. contents:
  638. - type: heading
  639. label: NGINX Settings
  640. - type: checkbox
  641. variable: disable_nginx_load_balancer
  642. label: Disable NGINX load balancer and expose NGINX only on a cluster IP address.
  643. settings:
  644. default: false
  645. - name: prometheus_settings
  646. contents:
  647. - type: heading
  648. label: Prometheus Settings
  649. - type: checkbox
  650. variable: additional_prometheus_node_group
  651. label: Add an additional prometheus node group to ensure monitoring stability.
  652. settings:
  653. default: false
  654. - name: prometheus_machine_settings
  655. show_if: additional_prometheus_node_group
  656. contents:
  657. - type: select
  658. label: ⚙️ AWS Prometheus Machine Type
  659. variable: additional_prometheus_machine_type
  660. settings:
  661. default: t2.medium
  662. options:
  663. - label: t2.medium
  664. value: t2.medium
  665. - label: t2.large
  666. value: t2.large
  667. - label: t2.xlarge
  668. value: t2.xlarge
  669. - label: t3.medium
  670. value: t3.medium
  671. - label: t3.large
  672. value: t3.large
  673. - label: t3.xlarge
  674. value: t3.xlarge
  675. `
  676. const gcrForm = `name: GCR
  677. hasSource: false
  678. includeHiddenFields: true
  679. tabs:
  680. - name: main
  681. label: Configuration
  682. sections:
  683. - name: section_one
  684. contents:
  685. - type: heading
  686. label: GCR Configuration
  687. - type: select
  688. label: 📍 GCP Region
  689. variable: gcp_region
  690. settings:
  691. default: us-central1
  692. options:
  693. - label: asia-east1
  694. value: asia-east1
  695. - label: asia-east2
  696. value: asia-east2
  697. - label: asia-northeast1
  698. value: asia-northeast1
  699. - label: asia-northeast2
  700. value: asia-northeast2
  701. - label: asia-northeast3
  702. value: asia-northeast3
  703. - label: asia-south1
  704. value: asia-south1
  705. - label: asia-south2
  706. value: asia-south2
  707. - label: asia-southeast1
  708. value: asia-southeast1
  709. - label: asia-southeast2
  710. value: asia-southeast2
  711. - label: australia-southeast1
  712. value: australia-southeast1
  713. - label: australia-southeast2
  714. value: australia-southeast2
  715. - label: europe-central2
  716. value: europe-central2
  717. - label: europe-north1
  718. value: europe-north1
  719. - label: europe-west1
  720. value: europe-west1
  721. - label: europe-west2
  722. value: europe-west2
  723. - label: europe-west3
  724. value: europe-west3
  725. - label: europe-west4
  726. value: europe-west4
  727. - label: europe-west6
  728. value: europe-west6
  729. - label: europe-west8
  730. value: europe-west8
  731. - label: europe-west9
  732. value: europe-west9
  733. - label: europe-southwest1
  734. value: europe-southwest1
  735. - label: northamerica-northeast1
  736. value: northamerica-northeast1
  737. - label: northamerica-northeast2
  738. value: northamerica-northeast2
  739. - label: southamerica-east1
  740. value: southamerica-east1
  741. - label: southamerica-west1
  742. value: southamerica-west1
  743. - label: us-central1
  744. value: us-central1
  745. - label: us-east1
  746. value: us-east1
  747. - label: us-east4
  748. value: us-east4
  749. - label: us-east5
  750. value: us-east5
  751. - label: us-south1
  752. value: us-south1
  753. - label: us-west1
  754. value: us-west1
  755. - label: us-west2
  756. value: us-west2
  757. - label: us-west3
  758. value: us-west3
  759. - label: us-west4
  760. value: us-west4
  761. `
  762. const garForm = `name: GAR
  763. hasSource: false
  764. includeHiddenFields: true
  765. tabs:
  766. - name: main
  767. label: Configuration
  768. sections:
  769. - name: section_one
  770. contents:
  771. - type: heading
  772. label: GAR Configuration
  773. - type: select
  774. label: 📍 GCP Region
  775. variable: gcp_region
  776. settings:
  777. default: us-central1
  778. options:
  779. - label: asia-east1
  780. value: asia-east1
  781. - label: asia-east2
  782. value: asia-east2
  783. - label: asia-northeast1
  784. value: asia-northeast1
  785. - label: asia-northeast2
  786. value: asia-northeast2
  787. - label: asia-northeast3
  788. value: asia-northeast3
  789. - label: asia-south1
  790. value: asia-south1
  791. - label: asia-south2
  792. value: asia-south2
  793. - label: asia-southeast1
  794. value: asia-southeast1
  795. - label: asia-southeast2
  796. value: asia-southeast2
  797. - label: australia-southeast1
  798. value: australia-southeast1
  799. - label: australia-southeast2
  800. value: australia-southeast2
  801. - label: europe-central2
  802. value: europe-central2
  803. - label: europe-north1
  804. value: europe-north1
  805. - label: europe-west1
  806. value: europe-west1
  807. - label: europe-west2
  808. value: europe-west2
  809. - label: europe-west3
  810. value: europe-west3
  811. - label: europe-west4
  812. value: europe-west4
  813. - label: europe-west6
  814. value: europe-west6
  815. - label: europe-west8
  816. value: europe-west8
  817. - label: europe-west9
  818. value: europe-west9
  819. - label: europe-southwest1
  820. value: europe-southwest1
  821. - label: northamerica-northeast1
  822. value: northamerica-northeast1
  823. - label: northamerica-northeast2
  824. value: northamerica-northeast2
  825. - label: southamerica-east1
  826. value: southamerica-east1
  827. - label: southamerica-west1
  828. value: southamerica-west1
  829. - label: us-central1
  830. value: us-central1
  831. - label: us-east1
  832. value: us-east1
  833. - label: us-east4
  834. value: us-east4
  835. - label: us-east5
  836. value: us-east5
  837. - label: us-south1
  838. value: us-south1
  839. - label: us-west1
  840. value: us-west1
  841. - label: us-west2
  842. value: us-west2
  843. - label: us-west3
  844. value: us-west3
  845. - label: us-west4
  846. value: us-west4
  847. - label: us (multi-region)
  848. value: us
  849. - label: europe (multi-region)
  850. value: europe
  851. - label: asia (multi-region)
  852. value: asia
  853. `
  854. const gkeForm = `name: GKE
  855. hasSource: false
  856. includeHiddenFields: true
  857. tabs:
  858. - name: main
  859. label: Configuration
  860. sections:
  861. - name: section_one
  862. contents:
  863. - type: heading
  864. label: GKE Configuration
  865. - type: select
  866. label: 📍 GCP Region
  867. variable: gcp_region
  868. settings:
  869. default: us-central1
  870. options:
  871. - label: asia-east1
  872. value: asia-east1
  873. - label: asia-east2
  874. value: asia-east2
  875. - label: asia-northeast1
  876. value: asia-northeast1
  877. - label: asia-northeast2
  878. value: asia-northeast2
  879. - label: asia-northeast3
  880. value: asia-northeast3
  881. - label: asia-south1
  882. value: asia-south1
  883. - label: asia-south2
  884. value: asia-south2
  885. - label: asia-southeast1
  886. value: asia-southeast1
  887. - label: asia-southeast2
  888. value: asia-southeast2
  889. - label: australia-southeast1
  890. value: australia-southeast1
  891. - label: australia-southeast2
  892. value: australia-southeast2
  893. - label: europe-central2
  894. value: europe-central2
  895. - label: europe-north1
  896. value: europe-north1
  897. - label: europe-west1
  898. value: europe-west1
  899. - label: europe-west2
  900. value: europe-west2
  901. - label: europe-west3
  902. value: europe-west3
  903. - label: europe-west4
  904. value: europe-west4
  905. - label: europe-west6
  906. value: europe-west6
  907. - label: europe-west8
  908. value: europe-west8
  909. - label: europe-west9
  910. value: europe-west9
  911. - label: europe-southwest1
  912. value: europe-southwest1
  913. - label: northamerica-northeast1
  914. value: northamerica-northeast1
  915. - label: northamerica-northeast2
  916. value: northamerica-northeast2
  917. - label: southamerica-east1
  918. value: southamerica-east1
  919. - label: southamerica-west1
  920. value: southamerica-west1
  921. - label: us-central1
  922. value: us-central1
  923. - label: us-east1
  924. value: us-east1
  925. - label: us-east4
  926. value: us-east4
  927. - label: us-east5
  928. value: us-east5
  929. - label: us-south1
  930. value: us-south1
  931. - label: us-west1
  932. value: us-west1
  933. - label: us-west2
  934. value: us-west2
  935. - label: us-west3
  936. value: us-west3
  937. - label: us-west4
  938. value: us-west4
  939. - type: string-input
  940. label: 👤 Issuer Email
  941. required: true
  942. placeholder: example@example.com
  943. variable: issuer_email
  944. - type: string-input
  945. label: GKE Cluster Name
  946. required: true
  947. placeholder: my-cluster
  948. variable: cluster_name
  949. `
  950. const docrForm = `name: DOCR
  951. hasSource: false
  952. includeHiddenFields: true
  953. tabs:
  954. - name: main
  955. label: Configuration
  956. sections:
  957. - name: section_one
  958. contents:
  959. - type: heading
  960. label: DOCR Configuration
  961. - type: select
  962. label: DO Subscription Tier
  963. variable: docr_subscription_tier
  964. settings:
  965. default: basic
  966. options:
  967. - label: Basic
  968. value: basic
  969. - label: Professional
  970. value: professional
  971. - type: string-input
  972. label: DOCR Name
  973. required: true
  974. placeholder: my-awesome-registry
  975. variable: docr_name
  976. `
  977. const doksForm = `name: DOKS
  978. hasSource: false
  979. includeHiddenFields: true
  980. tabs:
  981. - name: main
  982. label: Configuration
  983. sections:
  984. - name: section_one
  985. contents:
  986. - type: heading
  987. label: DOKS Configuration
  988. - type: select
  989. label: 📍 DO Region
  990. variable: do_region
  991. settings:
  992. default: nyc1
  993. options:
  994. - label: Amsterdam 3
  995. value: ams3
  996. - label: Bangalore 1
  997. value: blr1
  998. - label: Frankfurt 1
  999. value: fra1
  1000. - label: London 1
  1001. value: lon1
  1002. - label: New York 1
  1003. value: nyc1
  1004. - label: New York 3
  1005. value: nyc3
  1006. - label: San Francisco 2
  1007. value: sfo2
  1008. - label: San Francisco 3
  1009. value: sfo3
  1010. - label: Singapore 1
  1011. value: sgp1
  1012. - label: Toronto 1
  1013. value: tor1
  1014. - type: string-input
  1015. label: 👤 Issuer Email
  1016. required: true
  1017. placeholder: example@example.com
  1018. variable: issuer_email
  1019. - type: string-input
  1020. label: DOKS Cluster Name
  1021. required: true
  1022. placeholder: my-cluster
  1023. variable: cluster_name
  1024. `
  1025. const acrForm = `name: ACR
  1026. hasSource: false
  1027. includeHiddenFields: true
  1028. isClusterScoped: false
  1029. tabs:
  1030. - name: main
  1031. label: Configuration
  1032. sections:
  1033. - name: section_one
  1034. contents:
  1035. - type: heading
  1036. label: ACR Configuration
  1037. - type: select
  1038. label: 📍 Azure Region
  1039. variable: aks_region
  1040. settings:
  1041. default: East US
  1042. options:
  1043. - label: East US
  1044. value: East US
  1045. - label: East US 2
  1046. value: East US 2
  1047. - label: West US 2
  1048. value: West US 2
  1049. - label: West US 3
  1050. value: West US 3
  1051. - label: Norway East
  1052. value: Norway East
  1053. - type: string-input
  1054. label: ACR Name
  1055. required: true
  1056. placeholder: my-registry
  1057. variable: acr_name
  1058. `
  1059. const aksForm = `name: AKS
  1060. hasSource: false
  1061. includeHiddenFields: true
  1062. isClusterScoped: false
  1063. tabs:
  1064. - name: main
  1065. label: Configuration
  1066. sections:
  1067. - name: section_one
  1068. contents:
  1069. - type: heading
  1070. label: AKS Configuration
  1071. - type: select
  1072. label: 📍 Azure Region
  1073. variable: aks_region
  1074. settings:
  1075. default: East US
  1076. options:
  1077. - label: East US
  1078. value: East US
  1079. - label: East US 2
  1080. value: East US 2
  1081. - label: West US 2
  1082. value: West US 2
  1083. - label: West US 3
  1084. value: West US 3
  1085. - label: Norway East
  1086. value: Norway East
  1087. - type: select
  1088. label: ⚙️ Application Machine Type
  1089. variable: app_machine_type
  1090. settings:
  1091. default: Standard_A2_v2
  1092. options:
  1093. - label: Standard A2
  1094. value: Standard_A2_v2
  1095. - label: Standard A4
  1096. value: Standard_A4_v2
  1097. - label: Standard D2
  1098. value: Standard_D2_v3
  1099. - type: string-input
  1100. label: 👤 Issuer Email
  1101. required: true
  1102. placeholder: example@example.com
  1103. variable: issuer_email
  1104. - type: string-input
  1105. label: AKS Cluster Name
  1106. required: true
  1107. placeholder: my-cluster
  1108. variable: cluster_name
  1109. `