forms.go 28 KB

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