forms.go 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944
  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.2xlarge
  395. value: c6i.2xlarge
  396. - type: string-input
  397. label: 👤 Issuer Email
  398. required: true
  399. placeholder: example@example.com
  400. variable: issuer_email
  401. - type: string-input
  402. label: EKS Cluster Name
  403. required: true
  404. placeholder: my-cluster
  405. variable: cluster_name
  406. - type: select
  407. label: EKS control plane version
  408. variable: cluster_version
  409. settings:
  410. default: "1.20"
  411. options:
  412. - label: "1.20"
  413. value: "1.20"
  414. - label: "1.21"
  415. value: "1.21"
  416. - label: "1.22"
  417. value: "1.22"
  418. - type: number-input
  419. label: Minimum number of EC2 instances to create in the application autoscaling group.
  420. variable: min_instances
  421. placeholder: "ex: 1"
  422. settings:
  423. default: 1
  424. - type: number-input
  425. label: Maximum number of EC2 instances to create in the application autoscaling group.
  426. variable: max_instances
  427. placeholder: "ex: 10"
  428. settings:
  429. default: 10
  430. - name: additional_nodegroup
  431. label: Additional Node Groups
  432. sections:
  433. - name: is_additional_enabled
  434. contents:
  435. - type: heading
  436. label: Additional Node Groups
  437. - type: checkbox
  438. variable: additional_nodegroup_enabled
  439. label: Enable an additional node group for this cluster.
  440. settings:
  441. default: false
  442. - name: additional_settings
  443. show_if: additional_nodegroup_enabled
  444. contents:
  445. - type: string-input
  446. label: Label for this node group.
  447. variable: additional_nodegroup_label
  448. placeholder: "ex: porter.run/workload-kind=job"
  449. settings:
  450. default: porter.run/workload-kind=database
  451. - type: string-input
  452. label: Taint for this node group.
  453. variable: additional_nodegroup_taint
  454. placeholder: "ex: porter.run/workload-kind=job:NoSchedule"
  455. settings:
  456. default: porter.run/workload-kind=database:NoSchedule
  457. - type: checkbox
  458. variable: additional_stateful_nodegroup_enabled
  459. label: Stateful Workload
  460. settings:
  461. default: false
  462. - type: select
  463. label: ⚙️ AWS System Machine Type
  464. variable: additional_nodegroup_machine_type
  465. settings:
  466. default: t2.medium
  467. options:
  468. - label: t2.medium
  469. value: t2.medium
  470. - label: t2.large
  471. value: t2.large
  472. - label: t2.xlarge
  473. value: t2.xlarge
  474. - label: t2.2xlarge
  475. value: t2.2xlarge
  476. - label: t3.medium
  477. value: t3.medium
  478. - label: t3.large
  479. value: t3.large
  480. - label: t3.xlarge
  481. value: t3.xlarge
  482. - label: t3.2xlarge
  483. value: t3.2xlarge
  484. - label: c6i.2xlarge
  485. value: c6i.2xlarge
  486. - type: number-input
  487. label: Minimum number of EC2 instances to create in the application autoscaling group.
  488. variable: additional_nodegroup_min_instances
  489. placeholder: "ex: 1"
  490. settings:
  491. default: 1
  492. - type: number-input
  493. label: Maximum number of EC2 instances to create in the application autoscaling group.
  494. variable: additional_nodegroup_max_instances
  495. placeholder: "ex: 10"
  496. settings:
  497. default: 10
  498. - name: iam
  499. label: IAM
  500. sections:
  501. - name: toggle_aws_auth
  502. contents:
  503. - type: heading
  504. label: Configure IAM Access
  505. - type: checkbox
  506. variable: manage_aws_auth_configmap
  507. label: Allow Porter to manage AWS authentication for the cluster.
  508. settings:
  509. default: true
  510. - name: aws_auth_warning
  511. show_if:
  512. not: manage_aws_auth_configmap
  513. contents:
  514. - type: subtitle
  515. 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."
  516. - name: arns
  517. show_if: manage_aws_auth_configmap
  518. contents:
  519. - type: heading
  520. label: Users
  521. - type: subtitle
  522. 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."
  523. - type: key-value-array
  524. variable: aws_auth_users
  525. settings:
  526. default: {}
  527. - type: heading
  528. label: Roles
  529. - type: subtitle
  530. 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."
  531. - type: key-value-array
  532. variable: aws_auth_roles
  533. settings:
  534. default: {}
  535. - name: advanced
  536. label: Advanced
  537. sections:
  538. - name: system_machine_type
  539. contents:
  540. - type: heading
  541. label: System Machine Type Settings
  542. - type: select
  543. label: ⚙️ AWS System Machine Type
  544. variable: system_machine_type
  545. settings:
  546. default: t2.medium
  547. options:
  548. - label: t2.medium
  549. value: t2.medium
  550. - label: t2.large
  551. value: t2.large
  552. - label: t2.xlarge
  553. value: t2.xlarge
  554. - label: t2.2xlarge
  555. value: t2.2xlarge
  556. - label: t3.medium
  557. value: t3.medium
  558. - label: t3.large
  559. value: t3.large
  560. - label: t3.xlarge
  561. value: t3.xlarge
  562. - label: t3.2xlarge
  563. value: t3.2xlarge
  564. - label: c6i.2xlarge
  565. value: c6i.2xlarge
  566. - name: spot_instance_should_enable
  567. contents:
  568. - type: heading
  569. label: Spot Instance Settings
  570. - type: checkbox
  571. variable: spot_instances_enabled
  572. label: Enable spot instances for this cluster.
  573. settings:
  574. default: false
  575. - name: spot_instance_price
  576. show_if: spot_instances_enabled
  577. contents:
  578. - type: string-input
  579. label: Assign a bid price for the spot instance (optional).
  580. variable: spot_price
  581. placeholder: "ex: 0.05"
  582. - name: net_settings
  583. contents:
  584. - type: heading
  585. label: Networking Settings
  586. - type: string-input
  587. 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)."
  588. variable: cluster_vpc_cidr_octets
  589. placeholder: "ex: 10.99"
  590. settings:
  591. default: "10.99"
  592. - type: checkbox
  593. label: "Add additional private subnets to the cluster in each AZ."
  594. variable: additional_private_subnets
  595. settings:
  596. default: false
  597. - name: subnet_multiplicity
  598. show_if: additional_private_subnets
  599. contents:
  600. - type: number-input
  601. label: "Multiplicity of the subnet within each AZ."
  602. variable: additional_private_subnets_multiplicity
  603. settings:
  604. default: 3
  605. - name: nginx_settings
  606. contents:
  607. - type: heading
  608. label: NGINX Settings
  609. - type: checkbox
  610. variable: disable_nginx_load_balancer
  611. label: Disable NGINX load balancer and expose NGINX only on a cluster IP address.
  612. settings:
  613. default: false
  614. - name: prometheus_settings
  615. contents:
  616. - type: heading
  617. label: Prometheus Settings
  618. - type: checkbox
  619. variable: additional_prometheus_node_group
  620. label: Add an additional prometheus node group to ensure monitoring stability.
  621. settings:
  622. default: false
  623. `
  624. const gcrForm = `name: GCR
  625. hasSource: false
  626. includeHiddenFields: true
  627. tabs:
  628. - name: main
  629. label: Configuration
  630. sections:
  631. - name: section_one
  632. contents:
  633. - type: heading
  634. label: GCR Configuration
  635. - type: select
  636. label: 📍 GCP Region
  637. variable: gcp_region
  638. settings:
  639. default: us-central1
  640. options:
  641. - label: asia-east1
  642. value: asia-east1
  643. - label: asia-east2
  644. value: asia-east2
  645. - label: asia-northeast1
  646. value: asia-northeast1
  647. - label: asia-northeast2
  648. value: asia-northeast2
  649. - label: asia-northeast3
  650. value: asia-northeast3
  651. - label: asia-south1
  652. value: asia-south1
  653. - label: asia-southeast1
  654. value: asia-southeast1
  655. - label: asia-southeast2
  656. value: asia-southeast2
  657. - label: australia-southeast1
  658. value: australia-southeast1
  659. - label: europe-north1
  660. value: europe-north1
  661. - label: europe-west1
  662. value: europe-west1
  663. - label: europe-west2
  664. value: europe-west2
  665. - label: europe-west3
  666. value: europe-west3
  667. - label: europe-west4
  668. value: europe-west4
  669. - label: europe-west6
  670. value: europe-west6
  671. - label: northamerica-northeast1
  672. value: northamerica-northeast1
  673. - label: southamerica-east1
  674. value: southamerica-east1
  675. - label: us-central1
  676. value: us-central1
  677. - label: us-east1
  678. value: us-east1
  679. - label: us-east4
  680. value: us-east4
  681. - label: us-east1
  682. value: us-east1
  683. - label: us-east1
  684. value: us-east1
  685. - label: us-west1
  686. value: us-west1
  687. - label: us-east1
  688. value: us-west2
  689. - label: us-west3
  690. value: us-west3
  691. - label: us-west4
  692. value: us-west4
  693. `
  694. const gkeForm = `name: GKE
  695. hasSource: false
  696. includeHiddenFields: true
  697. tabs:
  698. - name: main
  699. label: Configuration
  700. sections:
  701. - name: section_one
  702. contents:
  703. - type: heading
  704. label: GKE Configuration
  705. - type: select
  706. label: 📍 GCP Region
  707. variable: gcp_region
  708. settings:
  709. default: us-central1
  710. options:
  711. - label: asia-east1
  712. value: asia-east1
  713. - label: asia-east2
  714. value: asia-east2
  715. - label: asia-northeast1
  716. value: asia-northeast1
  717. - label: asia-northeast2
  718. value: asia-northeast2
  719. - label: asia-northeast3
  720. value: asia-northeast3
  721. - label: asia-south1
  722. value: asia-south1
  723. - label: asia-southeast1
  724. value: asia-southeast1
  725. - label: asia-southeast2
  726. value: asia-southeast2
  727. - label: australia-southeast1
  728. value: australia-southeast1
  729. - label: europe-north1
  730. value: europe-north1
  731. - label: europe-west1
  732. value: europe-west1
  733. - label: europe-west2
  734. value: europe-west2
  735. - label: europe-west3
  736. value: europe-west3
  737. - label: europe-west4
  738. value: europe-west4
  739. - label: europe-west6
  740. value: europe-west6
  741. - label: northamerica-northeast1
  742. value: northamerica-northeast1
  743. - label: southamerica-east1
  744. value: southamerica-east1
  745. - label: us-central1
  746. value: us-central1
  747. - label: us-east1
  748. value: us-east1
  749. - label: us-east4
  750. value: us-east4
  751. - label: us-east1
  752. value: us-east1
  753. - label: us-east1
  754. value: us-east1
  755. - label: us-west1
  756. value: us-west1
  757. - label: us-east1
  758. value: us-west2
  759. - label: us-west3
  760. value: us-west3
  761. - label: us-west4
  762. value: us-west4
  763. - type: string-input
  764. label: 👤 Issuer Email
  765. required: true
  766. placeholder: example@example.com
  767. variable: issuer_email
  768. - type: string-input
  769. label: GKE Cluster Name
  770. required: true
  771. placeholder: my-cluster
  772. variable: cluster_name
  773. `
  774. const docrForm = `name: DOCR
  775. hasSource: false
  776. includeHiddenFields: true
  777. tabs:
  778. - name: main
  779. label: Configuration
  780. sections:
  781. - name: section_one
  782. contents:
  783. - type: heading
  784. label: DOCR Configuration
  785. - type: select
  786. label: DO Subscription Tier
  787. variable: docr_subscription_tier
  788. settings:
  789. default: basic
  790. options:
  791. - label: Basic
  792. value: basic
  793. - label: Professional
  794. value: professional
  795. - type: string-input
  796. label: DOCR Name
  797. required: true
  798. placeholder: my-awesome-registry
  799. variable: docr_name
  800. `
  801. const doksForm = `name: DOKS
  802. hasSource: false
  803. includeHiddenFields: true
  804. tabs:
  805. - name: main
  806. label: Configuration
  807. sections:
  808. - name: section_one
  809. contents:
  810. - type: heading
  811. label: DOKS Configuration
  812. - type: select
  813. label: 📍 DO Region
  814. variable: do_region
  815. settings:
  816. default: nyc1
  817. options:
  818. - label: Amsterdam 3
  819. value: ams3
  820. - label: Bangalore 1
  821. value: blr1
  822. - label: Frankfurt 1
  823. value: fra1
  824. - label: London 1
  825. value: lon1
  826. - label: New York 1
  827. value: nyc1
  828. - label: New York 3
  829. value: nyc3
  830. - label: San Francisco 2
  831. value: sfo2
  832. - label: San Francisco 3
  833. value: sfo3
  834. - label: Singapore 1
  835. value: sgp1
  836. - label: Toronto 1
  837. value: tor1
  838. - type: string-input
  839. label: 👤 Issuer Email
  840. required: true
  841. placeholder: example@example.com
  842. variable: issuer_email
  843. - type: string-input
  844. label: DOKS Cluster Name
  845. required: true
  846. placeholder: my-cluster
  847. variable: cluster_name
  848. `
  849. const acrForm = `name: ACR
  850. hasSource: false
  851. includeHiddenFields: true
  852. isClusterScoped: false
  853. tabs:
  854. - name: main
  855. label: Configuration
  856. sections:
  857. - name: section_one
  858. contents:
  859. - type: heading
  860. label: ACR Configuration
  861. - type: select
  862. label: 📍 Azure Region
  863. variable: aks_region
  864. settings:
  865. default: East US
  866. options:
  867. - label: East US
  868. value: East US
  869. - label: East US 2
  870. value: East US 2
  871. - label: West US 2
  872. value: West US 2
  873. - label: West US 3
  874. value: West US 3
  875. - label: Norway East
  876. value: Norway East
  877. - type: string-input
  878. label: ACR Name
  879. required: true
  880. placeholder: my-registry
  881. variable: acr_name
  882. `
  883. const aksForm = `name: AKS
  884. hasSource: false
  885. includeHiddenFields: true
  886. isClusterScoped: false
  887. tabs:
  888. - name: main
  889. label: Configuration
  890. sections:
  891. - name: section_one
  892. contents:
  893. - type: heading
  894. label: AKS Configuration
  895. - type: select
  896. label: 📍 Azure Region
  897. variable: aks_region
  898. settings:
  899. default: East US
  900. options:
  901. - label: East US
  902. value: East US
  903. - label: East US 2
  904. value: East US 2
  905. - label: West US 2
  906. value: West US 2
  907. - label: West US 3
  908. value: West US 3
  909. - label: Norway East
  910. value: Norway East
  911. - type: select
  912. label: ⚙️ Application Machine Type
  913. variable: app_machine_type
  914. settings:
  915. default: Standard_A2_v2
  916. options:
  917. - label: Standard A2
  918. value: Standard_A2_v2
  919. - label: Standard A4
  920. value: Standard_A4_v2
  921. - label: Standard D2
  922. value: Standard_D2_v3
  923. - type: string-input
  924. label: 👤 Issuer Email
  925. required: true
  926. placeholder: example@example.com
  927. variable: issuer_email
  928. - type: string-input
  929. label: AKS Cluster Name
  930. required: true
  931. placeholder: my-cluster
  932. variable: cluster_name
  933. `