forms.go 29 KB

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