forms.go 30 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147
  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: c6i.4xlarge
  407. value: c6i.4xlarge
  408. - label: m6i.large
  409. value: m6i.large
  410. - label: m6i.xlarge
  411. value: m6i.xlarge
  412. - label: m6i.2xlarge
  413. value: m6i.2xlarge
  414. - label: m6i.4xlarge
  415. value: m6i.4xlarge
  416. - label: r5.large
  417. value: r5.large
  418. - value: r5.xlarge
  419. value: r5.xlarge
  420. - type: string-input
  421. label: 👤 Issuer Email
  422. required: true
  423. placeholder: example@example.com
  424. variable: issuer_email
  425. - type: string-input
  426. label: EKS Cluster Name
  427. required: true
  428. placeholder: my-cluster
  429. variable: cluster_name
  430. - type: select
  431. label: EKS control plane version
  432. variable: cluster_version
  433. settings:
  434. default: "1.22"
  435. options:
  436. - label: "1.20"
  437. value: "1.20"
  438. - label: "1.21"
  439. value: "1.21"
  440. - label: "1.22"
  441. value: "1.22"
  442. - type: number-input
  443. label: Minimum number of EC2 instances to create in the application autoscaling group.
  444. variable: min_instances
  445. placeholder: "ex: 1"
  446. settings:
  447. default: 1
  448. - type: number-input
  449. label: Maximum number of EC2 instances to create in the application autoscaling group.
  450. variable: max_instances
  451. placeholder: "ex: 10"
  452. settings:
  453. default: 10
  454. - name: additional_nodegroup
  455. label: Additional Node Groups
  456. sections:
  457. - name: is_additional_enabled
  458. contents:
  459. - type: heading
  460. label: Additional Node Groups
  461. - type: checkbox
  462. variable: additional_nodegroup_enabled
  463. label: Enable an additional node group for this cluster.
  464. settings:
  465. default: false
  466. - name: additional_settings
  467. show_if: additional_nodegroup_enabled
  468. contents:
  469. - type: string-input
  470. label: Label for this node group.
  471. variable: additional_nodegroup_label
  472. placeholder: "ex: porter.run/workload-kind=job"
  473. settings:
  474. default: porter.run/workload-kind=database
  475. - type: string-input
  476. label: Taint for this node group.
  477. variable: additional_nodegroup_taint
  478. placeholder: "ex: porter.run/workload-kind=job:NoSchedule"
  479. settings:
  480. default: porter.run/workload-kind=database:NoSchedule
  481. - type: checkbox
  482. variable: additional_stateful_nodegroup_enabled
  483. label: Stateful Workload
  484. settings:
  485. default: false
  486. - type: select
  487. label: ⚙️ AWS System Machine Type
  488. variable: additional_nodegroup_machine_type
  489. settings:
  490. default: t2.medium
  491. options:
  492. - label: t2.medium
  493. value: t2.medium
  494. - label: t2.large
  495. value: t2.large
  496. - label: t2.xlarge
  497. value: t2.xlarge
  498. - label: t2.2xlarge
  499. value: t2.2xlarge
  500. - label: t3.medium
  501. value: t3.medium
  502. - label: t3.large
  503. value: t3.large
  504. - label: t3.xlarge
  505. value: t3.xlarge
  506. - label: t3.2xlarge
  507. value: t3.2xlarge
  508. - label: c6i.large
  509. value: c6i.large
  510. - label: c6i.xlarge
  511. value: c6i.xlarge
  512. - label: c6i.2xlarge
  513. value: c6i.2xlarge
  514. - label: c6i.4xlarge
  515. value: c6i.4xlarge
  516. - label: m6i.large
  517. value: m6i.large
  518. - label: m6i.xlarge
  519. value: m6i.xlarge
  520. - label: m6i.2xlarge
  521. value: m6i.2xlarge
  522. - label: m6i.4xlarge
  523. value: m6i.4xlarge
  524. - type: number-input
  525. label: Minimum number of EC2 instances to create in the application autoscaling group.
  526. variable: additional_nodegroup_min_instances
  527. placeholder: "ex: 1"
  528. settings:
  529. default: 1
  530. - type: number-input
  531. label: Maximum number of EC2 instances to create in the application autoscaling group.
  532. variable: additional_nodegroup_max_instances
  533. placeholder: "ex: 10"
  534. settings:
  535. default: 10
  536. - name: iam
  537. label: IAM
  538. sections:
  539. - name: toggle_aws_auth
  540. contents:
  541. - type: heading
  542. label: Configure IAM Access
  543. - type: checkbox
  544. variable: manage_aws_auth_configmap
  545. label: Allow Porter to manage AWS authentication for the cluster.
  546. settings:
  547. default: true
  548. - name: aws_auth_warning
  549. show_if:
  550. not: manage_aws_auth_configmap
  551. contents:
  552. - type: subtitle
  553. 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."
  554. - name: arns
  555. show_if: manage_aws_auth_configmap
  556. contents:
  557. - type: heading
  558. label: Users
  559. - type: subtitle
  560. 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."
  561. - type: key-value-array
  562. variable: aws_auth_users
  563. settings:
  564. default: {}
  565. - type: heading
  566. label: Roles
  567. - type: subtitle
  568. 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."
  569. - type: key-value-array
  570. variable: aws_auth_roles
  571. settings:
  572. default: {}
  573. - name: advanced
  574. label: Advanced
  575. sections:
  576. - name: system_machine_type
  577. contents:
  578. - type: heading
  579. label: System Machine Type Settings
  580. - type: select
  581. label: ⚙️ AWS System Machine Type
  582. variable: system_machine_type
  583. settings:
  584. default: t2.medium
  585. options:
  586. - label: t2.medium
  587. value: t2.medium
  588. - label: t2.large
  589. value: t2.large
  590. - label: t2.xlarge
  591. value: t2.xlarge
  592. - label: t2.2xlarge
  593. value: t2.2xlarge
  594. - label: t3.medium
  595. value: t3.medium
  596. - label: t3.large
  597. value: t3.large
  598. - label: t3.xlarge
  599. value: t3.xlarge
  600. - label: t3.2xlarge
  601. value: t3.2xlarge
  602. - label: c6i.large
  603. value: c6i.large
  604. - label: c6i.xlarge
  605. value: c6i.xlarge
  606. - label: c6i.2xlarge
  607. value: c6i.2xlarge
  608. - label: c6i.4xlarge
  609. value: c6i.4xlarge
  610. - name: spot_instance_should_enable
  611. contents:
  612. - type: heading
  613. label: Spot Instance Settings
  614. - type: checkbox
  615. variable: spot_instances_enabled
  616. label: Enable spot instances for this cluster.
  617. settings:
  618. default: false
  619. - name: spot_instance_price
  620. show_if: spot_instances_enabled
  621. contents:
  622. - type: string-input
  623. label: Assign a bid price for the spot instance (optional).
  624. variable: spot_price
  625. placeholder: "ex: 0.05"
  626. - name: net_settings
  627. contents:
  628. - type: heading
  629. label: Networking Settings
  630. - type: string-input
  631. 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)."
  632. variable: cluster_vpc_cidr_octets
  633. placeholder: "ex: 10.99"
  634. settings:
  635. default: "10.99"
  636. - type: checkbox
  637. label: "Add additional private subnets to the cluster in each AZ."
  638. variable: additional_private_subnets
  639. settings:
  640. default: false
  641. - name: subnet_multiplicity
  642. show_if: additional_private_subnets
  643. contents:
  644. - type: number-input
  645. label: "Multiplicity of the subnet within each AZ."
  646. variable: additional_private_subnets_multiplicity
  647. settings:
  648. default: 3
  649. - name: net_settings_azs_toggle
  650. contents:
  651. - type: checkbox
  652. label: "Specify the AZs to provision this cluster in."
  653. variable: specify_azs
  654. settings:
  655. default: false
  656. - name: net_settings_azs
  657. show_if: specify_azs
  658. contents:
  659. - type: array-input
  660. variable: azs
  661. label: Availability Zones
  662. - name: nginx_settings
  663. contents:
  664. - type: heading
  665. label: NGINX Settings
  666. - type: checkbox
  667. variable: disable_nginx_load_balancer
  668. label: Disable NGINX load balancer and expose NGINX only on a cluster IP address.
  669. settings:
  670. default: false
  671. - name: prometheus_settings
  672. contents:
  673. - type: heading
  674. label: Prometheus Settings
  675. - type: checkbox
  676. variable: additional_prometheus_node_group
  677. label: Add an additional prometheus node group to ensure monitoring stability.
  678. settings:
  679. default: false
  680. - name: prometheus_machine_settings
  681. show_if: additional_prometheus_node_group
  682. contents:
  683. - type: select
  684. label: ⚙️ AWS Prometheus Machine Type
  685. variable: additional_prometheus_machine_type
  686. settings:
  687. default: t2.medium
  688. options:
  689. - label: t2.medium
  690. value: t2.medium
  691. - label: t2.large
  692. value: t2.large
  693. - label: t2.xlarge
  694. value: t2.xlarge
  695. - label: t3.medium
  696. value: t3.medium
  697. - label: t3.large
  698. value: t3.large
  699. - label: t3.xlarge
  700. value: t3.xlarge
  701. `
  702. const gcrForm = `name: GCR
  703. hasSource: false
  704. includeHiddenFields: true
  705. tabs:
  706. - name: main
  707. label: Configuration
  708. sections:
  709. - name: section_one
  710. contents:
  711. - type: heading
  712. label: GCR Configuration
  713. - type: select
  714. label: 📍 GCP Region
  715. variable: gcp_region
  716. settings:
  717. default: us-central1
  718. options:
  719. - label: asia-east1
  720. value: asia-east1
  721. - label: asia-east2
  722. value: asia-east2
  723. - label: asia-northeast1
  724. value: asia-northeast1
  725. - label: asia-northeast2
  726. value: asia-northeast2
  727. - label: asia-northeast3
  728. value: asia-northeast3
  729. - label: asia-south1
  730. value: asia-south1
  731. - label: asia-south2
  732. value: asia-south2
  733. - label: asia-southeast1
  734. value: asia-southeast1
  735. - label: asia-southeast2
  736. value: asia-southeast2
  737. - label: australia-southeast1
  738. value: australia-southeast1
  739. - label: australia-southeast2
  740. value: australia-southeast2
  741. - label: europe-central2
  742. value: europe-central2
  743. - label: europe-north1
  744. value: europe-north1
  745. - label: europe-west1
  746. value: europe-west1
  747. - label: europe-west2
  748. value: europe-west2
  749. - label: europe-west3
  750. value: europe-west3
  751. - label: europe-west4
  752. value: europe-west4
  753. - label: europe-west6
  754. value: europe-west6
  755. - label: europe-west8
  756. value: europe-west8
  757. - label: europe-west9
  758. value: europe-west9
  759. - label: europe-southwest1
  760. value: europe-southwest1
  761. - label: northamerica-northeast1
  762. value: northamerica-northeast1
  763. - label: northamerica-northeast2
  764. value: northamerica-northeast2
  765. - label: southamerica-east1
  766. value: southamerica-east1
  767. - label: southamerica-west1
  768. value: southamerica-west1
  769. - label: us-central1
  770. value: us-central1
  771. - label: us-east1
  772. value: us-east1
  773. - label: us-east4
  774. value: us-east4
  775. - label: us-east5
  776. value: us-east5
  777. - label: us-south1
  778. value: us-south1
  779. - label: us-west1
  780. value: us-west1
  781. - label: us-west2
  782. value: us-west2
  783. - label: us-west3
  784. value: us-west3
  785. - label: us-west4
  786. value: us-west4
  787. `
  788. const garForm = `name: GAR
  789. hasSource: false
  790. includeHiddenFields: true
  791. tabs:
  792. - name: main
  793. label: Configuration
  794. sections:
  795. - name: section_one
  796. contents:
  797. - type: heading
  798. label: GAR Configuration
  799. - type: select
  800. label: 📍 GCP Region
  801. variable: gcp_region
  802. settings:
  803. default: us-central1
  804. options:
  805. - label: asia-east1
  806. value: asia-east1
  807. - label: asia-east2
  808. value: asia-east2
  809. - label: asia-northeast1
  810. value: asia-northeast1
  811. - label: asia-northeast2
  812. value: asia-northeast2
  813. - label: asia-northeast3
  814. value: asia-northeast3
  815. - label: asia-south1
  816. value: asia-south1
  817. - label: asia-south2
  818. value: asia-south2
  819. - label: asia-southeast1
  820. value: asia-southeast1
  821. - label: asia-southeast2
  822. value: asia-southeast2
  823. - label: australia-southeast1
  824. value: australia-southeast1
  825. - label: australia-southeast2
  826. value: australia-southeast2
  827. - label: europe-central2
  828. value: europe-central2
  829. - label: europe-north1
  830. value: europe-north1
  831. - label: europe-west1
  832. value: europe-west1
  833. - label: europe-west2
  834. value: europe-west2
  835. - label: europe-west3
  836. value: europe-west3
  837. - label: europe-west4
  838. value: europe-west4
  839. - label: europe-west6
  840. value: europe-west6
  841. - label: europe-west8
  842. value: europe-west8
  843. - label: europe-west9
  844. value: europe-west9
  845. - label: europe-southwest1
  846. value: europe-southwest1
  847. - label: northamerica-northeast1
  848. value: northamerica-northeast1
  849. - label: northamerica-northeast2
  850. value: northamerica-northeast2
  851. - label: southamerica-east1
  852. value: southamerica-east1
  853. - label: southamerica-west1
  854. value: southamerica-west1
  855. - label: us-central1
  856. value: us-central1
  857. - label: us-east1
  858. value: us-east1
  859. - label: us-east4
  860. value: us-east4
  861. - label: us-east5
  862. value: us-east5
  863. - label: us-south1
  864. value: us-south1
  865. - label: us-west1
  866. value: us-west1
  867. - label: us-west2
  868. value: us-west2
  869. - label: us-west3
  870. value: us-west3
  871. - label: us-west4
  872. value: us-west4
  873. - label: us (multi-region)
  874. value: us
  875. - label: europe (multi-region)
  876. value: europe
  877. - label: asia (multi-region)
  878. value: asia
  879. `
  880. const gkeForm = `name: GKE
  881. hasSource: false
  882. includeHiddenFields: true
  883. tabs:
  884. - name: main
  885. label: Configuration
  886. sections:
  887. - name: section_one
  888. contents:
  889. - type: heading
  890. label: GKE Configuration
  891. - type: select
  892. label: 📍 GCP Region
  893. variable: gcp_region
  894. settings:
  895. default: us-central1
  896. options:
  897. - label: asia-east1
  898. value: asia-east1
  899. - label: asia-east2
  900. value: asia-east2
  901. - label: asia-northeast1
  902. value: asia-northeast1
  903. - label: asia-northeast2
  904. value: asia-northeast2
  905. - label: asia-northeast3
  906. value: asia-northeast3
  907. - label: asia-south1
  908. value: asia-south1
  909. - label: asia-south2
  910. value: asia-south2
  911. - label: asia-southeast1
  912. value: asia-southeast1
  913. - label: asia-southeast2
  914. value: asia-southeast2
  915. - label: australia-southeast1
  916. value: australia-southeast1
  917. - label: australia-southeast2
  918. value: australia-southeast2
  919. - label: europe-central2
  920. value: europe-central2
  921. - label: europe-north1
  922. value: europe-north1
  923. - label: europe-west1
  924. value: europe-west1
  925. - label: europe-west2
  926. value: europe-west2
  927. - label: europe-west3
  928. value: europe-west3
  929. - label: europe-west4
  930. value: europe-west4
  931. - label: europe-west6
  932. value: europe-west6
  933. - label: europe-west8
  934. value: europe-west8
  935. - label: europe-west9
  936. value: europe-west9
  937. - label: europe-southwest1
  938. value: europe-southwest1
  939. - label: northamerica-northeast1
  940. value: northamerica-northeast1
  941. - label: northamerica-northeast2
  942. value: northamerica-northeast2
  943. - label: southamerica-east1
  944. value: southamerica-east1
  945. - label: southamerica-west1
  946. value: southamerica-west1
  947. - label: us-central1
  948. value: us-central1
  949. - label: us-east1
  950. value: us-east1
  951. - label: us-east4
  952. value: us-east4
  953. - label: us-east5
  954. value: us-east5
  955. - label: us-south1
  956. value: us-south1
  957. - label: us-west1
  958. value: us-west1
  959. - label: us-west2
  960. value: us-west2
  961. - label: us-west3
  962. value: us-west3
  963. - label: us-west4
  964. value: us-west4
  965. - type: string-input
  966. label: 👤 Issuer Email
  967. required: true
  968. placeholder: example@example.com
  969. variable: issuer_email
  970. - type: string-input
  971. label: GKE Cluster Name
  972. required: true
  973. placeholder: my-cluster
  974. variable: cluster_name
  975. `
  976. const docrForm = `name: DOCR
  977. hasSource: false
  978. includeHiddenFields: true
  979. tabs:
  980. - name: main
  981. label: Configuration
  982. sections:
  983. - name: section_one
  984. contents:
  985. - type: heading
  986. label: DOCR Configuration
  987. - type: select
  988. label: DO Subscription Tier
  989. variable: docr_subscription_tier
  990. settings:
  991. default: basic
  992. options:
  993. - label: Basic
  994. value: basic
  995. - label: Professional
  996. value: professional
  997. - type: string-input
  998. label: DOCR Name
  999. required: true
  1000. placeholder: my-awesome-registry
  1001. variable: docr_name
  1002. `
  1003. const doksForm = `name: DOKS
  1004. hasSource: false
  1005. includeHiddenFields: true
  1006. tabs:
  1007. - name: main
  1008. label: Configuration
  1009. sections:
  1010. - name: section_one
  1011. contents:
  1012. - type: heading
  1013. label: DOKS Configuration
  1014. - type: select
  1015. label: 📍 DO Region
  1016. variable: do_region
  1017. settings:
  1018. default: nyc1
  1019. options:
  1020. - label: Amsterdam 3
  1021. value: ams3
  1022. - label: Bangalore 1
  1023. value: blr1
  1024. - label: Frankfurt 1
  1025. value: fra1
  1026. - label: London 1
  1027. value: lon1
  1028. - label: New York 1
  1029. value: nyc1
  1030. - label: New York 3
  1031. value: nyc3
  1032. - label: San Francisco 2
  1033. value: sfo2
  1034. - label: San Francisco 3
  1035. value: sfo3
  1036. - label: Singapore 1
  1037. value: sgp1
  1038. - label: Toronto 1
  1039. value: tor1
  1040. - type: string-input
  1041. label: 👤 Issuer Email
  1042. required: true
  1043. placeholder: example@example.com
  1044. variable: issuer_email
  1045. - type: string-input
  1046. label: DOKS Cluster Name
  1047. required: true
  1048. placeholder: my-cluster
  1049. variable: cluster_name
  1050. `
  1051. const acrForm = `name: ACR
  1052. hasSource: false
  1053. includeHiddenFields: true
  1054. isClusterScoped: false
  1055. tabs:
  1056. - name: main
  1057. label: Configuration
  1058. sections:
  1059. - name: section_one
  1060. contents:
  1061. - type: heading
  1062. label: ACR Configuration
  1063. - type: select
  1064. label: 📍 Azure Region
  1065. variable: aks_region
  1066. settings:
  1067. default: East US
  1068. options:
  1069. - label: East US
  1070. value: East US
  1071. - label: East US 2
  1072. value: East US 2
  1073. - label: West US 2
  1074. value: West US 2
  1075. - label: West US 3
  1076. value: West US 3
  1077. - label: Norway East
  1078. value: Norway East
  1079. - type: string-input
  1080. label: ACR Name
  1081. required: true
  1082. placeholder: my-registry
  1083. variable: acr_name
  1084. `
  1085. const aksForm = `name: AKS
  1086. hasSource: false
  1087. includeHiddenFields: true
  1088. isClusterScoped: false
  1089. tabs:
  1090. - name: main
  1091. label: Configuration
  1092. sections:
  1093. - name: section_one
  1094. contents:
  1095. - type: heading
  1096. label: AKS Configuration
  1097. - type: select
  1098. label: 📍 Azure Region
  1099. variable: aks_region
  1100. settings:
  1101. default: East US
  1102. options:
  1103. - label: East US
  1104. value: East US
  1105. - label: East US 2
  1106. value: East US 2
  1107. - label: West US 2
  1108. value: West US 2
  1109. - label: West US 3
  1110. value: West US 3
  1111. - label: Norway East
  1112. value: Norway East
  1113. - type: select
  1114. label: ⚙️ Application Machine Type
  1115. variable: app_machine_type
  1116. settings:
  1117. default: Standard_A2_v2
  1118. options:
  1119. - label: Standard A2
  1120. value: Standard_A2_v2
  1121. - label: Standard A4
  1122. value: Standard_A4_v2
  1123. - label: Standard D2
  1124. value: Standard_D2_v3
  1125. - type: string-input
  1126. label: 👤 Issuer Email
  1127. required: true
  1128. placeholder: example@example.com
  1129. variable: issuer_email
  1130. - type: string-input
  1131. label: AKS Cluster Name
  1132. required: true
  1133. placeholder: my-cluster
  1134. variable: cluster_name
  1135. `