forms.go 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  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 rdsForm = `name: RDS
  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: Database Settings
  31. - name: user
  32. contents:
  33. - type: string-input
  34. label: Database Master User
  35. required: true
  36. placeholder: "admin"
  37. variable: db_user
  38. - name: password
  39. contents:
  40. - type: string-input
  41. required: true
  42. label: Database Master Password
  43. variable: db_passwd
  44. - name: name
  45. contents:
  46. - type: string-input
  47. label: Database Name
  48. required: true
  49. placeholder: "rds-staging"
  50. variable: db_name
  51. - name: machine-type
  52. contents:
  53. - type: select
  54. label: ⚙️ Database Machine Type
  55. variable: machine_type
  56. settings:
  57. default: db.t3.medium
  58. options:
  59. - label: db.t2.medium
  60. value: db.t2.medium
  61. - label: db.t2.xlarge
  62. value: db.t2.xlarge
  63. - label: db.t2.2xlarge
  64. value: db.t2.2xlarge
  65. - label: db.t3.medium
  66. value: db.t3.medium
  67. - label: db.t3.xlarge
  68. value: db.t3.xlarge
  69. - label: db.t3.2xlarge
  70. value: db.t3.2xlarge
  71. - name: family-versions
  72. contents:
  73. - type: select
  74. label: Database Family Version
  75. variable: db_family
  76. settings:
  77. default: postgres13
  78. options:
  79. - label: "Postgres 9"
  80. value: postgres9
  81. - label: "Postgres 10"
  82. value: postgres10
  83. - label: "Postgres 11"
  84. value: postgres11
  85. - label: "Postgres 12"
  86. value: postgres12
  87. - label: "Postgres 13"
  88. value: postgres13
  89. - name: pg-9-versions
  90. show_if:
  91. is: "postgres9"
  92. variable: db_family
  93. contents:
  94. - type: select
  95. label: Database Version
  96. variable: db_engine_version
  97. settings:
  98. default: "9.6.23"
  99. options:
  100. - label: "v9.6.1"
  101. value: "9.6.1"
  102. - label: "v9.6.2"
  103. value: "9.6.2"
  104. - label: "v9.6.3"
  105. value: "9.6.3"
  106. - label: "v9.6.4"
  107. value: "9.6.4"
  108. - label: "v9.6.5"
  109. value: "9.6.5"
  110. - label: "v9.6.6"
  111. value: "9.6.6"
  112. - label: "v9.6.7"
  113. value: "9.6.7"
  114. - label: "v9.6.8"
  115. value: "9.6.8"
  116. - label: "v9.6.10"
  117. value: "9.6.10"
  118. - label: "v9.6.11"
  119. value: "9.6.11"
  120. - label: "v9.6.12"
  121. value: "9.6.12"
  122. - label: "v9.6.13"
  123. value: "9.6.13"
  124. - label: "v9.6.14"
  125. value: "9.6.14"
  126. - label: "v9.6.15"
  127. value: "9.6.15"
  128. - label: "v9.6.16"
  129. value: "9.6.16"
  130. - label: "v9.6.17"
  131. value: "9.6.17"
  132. - label: "v9.6.18"
  133. value: "9.6.18"
  134. - label: "v9.6.19"
  135. value: "9.6.19"
  136. - label: "v9.6.20"
  137. value: "9.6.20"
  138. - label: "v9.6.21"
  139. value: "9.6.21"
  140. - label: "v9.6.22"
  141. value: "9.6.22"
  142. - label: "v9.6.23"
  143. value: "9.6.23"
  144. - name: pg-10-versions
  145. show_if:
  146. is: "postgres10"
  147. variable: db_family
  148. contents:
  149. - type: select
  150. label: Database Version
  151. variable: db_engine_version
  152. settings:
  153. default: "10.18"
  154. options:
  155. - label: "v10.1"
  156. value: "10.1"
  157. - label: "v10.2"
  158. value: "10.2"
  159. - label: "v10.3"
  160. value: "10.3"
  161. - label: "v10.4"
  162. value: "10.4"
  163. - label: "v10.5"
  164. value: "10.5"
  165. - label: "v10.6"
  166. value: "10.6"
  167. - label: "v10.7"
  168. value: "10.7"
  169. - label: "v10.8"
  170. value: "10.8"
  171. - label: "v10.9"
  172. value: "10.9"
  173. - label: "v10.10"
  174. value: "10.10"
  175. - label: "v10.11"
  176. value: "10.11"
  177. - label: "v10.12"
  178. value: "10.12"
  179. - label: "v10.13"
  180. value: "10.13"
  181. - label: "v10.14"
  182. value: "10.14"
  183. - label: "v10.15"
  184. value: "10.15"
  185. - label: "v10.16"
  186. value: "10.16"
  187. - label: "v10.17"
  188. value: "10.17"
  189. - label: "v10.18"
  190. value: "10.18"
  191. - name: pg-11-versions
  192. show_if:
  193. is: "postgres11"
  194. variable: db_family
  195. contents:
  196. - type: select
  197. label: Database Version
  198. variable: db_engine_version
  199. settings:
  200. default: "11.13"
  201. options:
  202. - label: "v11.1"
  203. value: "11.1"
  204. - label: "v11.2"
  205. value: "11.2"
  206. - label: "v11.3"
  207. value: "11.3"
  208. - label: "v11.4"
  209. value: "11.4"
  210. - label: "v11.5"
  211. value: "11.5"
  212. - label: "v11.6"
  213. value: "11.6"
  214. - label: "v11.7"
  215. value: "11.7"
  216. - label: "v11.8"
  217. value: "11.8"
  218. - label: "v11.9"
  219. value: "11.9"
  220. - label: "v11.10"
  221. value: "11.10"
  222. - label: "v11.11"
  223. value: "11.11"
  224. - label: "v11.12"
  225. value: "11.12"
  226. - label: "v11.13"
  227. value: "11.13"
  228. - name: pg-12-versions
  229. show_if:
  230. is: "postgres12"
  231. variable: db_family
  232. contents:
  233. - type: select
  234. label: Database Version
  235. variable: db_engine_version
  236. settings:
  237. default: "12.8"
  238. options:
  239. - label: "v12.2"
  240. value: "12.2"
  241. - label: "v12.3"
  242. value: "12.3"
  243. - label: "v12.4"
  244. value: "12.4"
  245. - label: "v12.5"
  246. value: "12.5"
  247. - label: "v12.6"
  248. value: "12.6"
  249. - label: "v12.7"
  250. value: "12.7"
  251. - label: "v12.8"
  252. value: "12.8"
  253. - name: pg-13-versions
  254. show_if:
  255. is: "postgres13"
  256. variable: db_family
  257. contents:
  258. - type: select
  259. label: Database Version
  260. variable: db_engine_version
  261. settings:
  262. default: "13.4"
  263. options:
  264. - label: "v13.1"
  265. value: "13.1"
  266. - label: "v13.2"
  267. value: "13.2"
  268. - label: "v13.3"
  269. value: "13.3"
  270. - label: "v13.4"
  271. value: "13.4"
  272. - name: additional-settings
  273. contents:
  274. - type: heading
  275. label: Additional Settings
  276. - type: checkbox
  277. variable: db_deletion_protection
  278. label: Enable deletion protection for the database.
  279. settings:
  280. default: false
  281. - name: storage
  282. label: Storage
  283. sections:
  284. - name: storage
  285. contents:
  286. - type: heading
  287. label: Storage Settings
  288. - type: number-input
  289. label: Gigabytes
  290. variable: db_allocated_storage
  291. placeholder: "ex: 10"
  292. settings:
  293. default: 10
  294. - type: number-input
  295. label: Gigabytes
  296. variable: db_max_allocated_storage
  297. placeholder: "ex: 20"
  298. settings:
  299. default: 20
  300. - type: checkbox
  301. variable: db_storage_encrypted
  302. label: Enable storage encryption for the database.
  303. settings:
  304. default: false`
  305. const ecrForm = `name: ECR
  306. hasSource: false
  307. includeHiddenFields: true
  308. tabs:
  309. - name: main
  310. label: Configuration
  311. sections:
  312. - name: section_one
  313. contents:
  314. - type: heading
  315. label: ECR Configuration
  316. - type: string-input
  317. label: ECR Name
  318. required: true
  319. placeholder: my-awesome-registry
  320. variable: ecr_name
  321. `
  322. const eksForm = `name: EKS
  323. hasSource: false
  324. includeHiddenFields: true
  325. tabs:
  326. - name: main
  327. label: Configuration
  328. sections:
  329. - name: section_one
  330. contents:
  331. - type: heading
  332. label: EKS Configuration
  333. - type: select
  334. label: ⚙️ AWS Machine Type
  335. variable: machine_type
  336. settings:
  337. default: t2.medium
  338. options:
  339. - label: t2.medium
  340. value: t2.medium
  341. - type: string-input
  342. label: 👤 Issuer Email
  343. required: true
  344. placeholder: example@example.com
  345. variable: issuer_email
  346. - type: string-input
  347. label: EKS Cluster Name
  348. required: true
  349. placeholder: my-cluster
  350. variable: cluster_name
  351. `
  352. const gcrForm = `name: GCR
  353. hasSource: false
  354. includeHiddenFields: true
  355. tabs:
  356. - name: main
  357. label: Configuration
  358. sections:
  359. - name: section_one
  360. contents:
  361. - type: heading
  362. label: GCR Configuration
  363. - type: select
  364. label: 📍 GCP Region
  365. variable: gcp_region
  366. settings:
  367. default: us-central1
  368. options:
  369. - label: asia-east1
  370. value: asia-east1
  371. - label: asia-east2
  372. value: asia-east2
  373. - label: asia-northeast1
  374. value: asia-northeast1
  375. - label: asia-northeast2
  376. value: asia-northeast2
  377. - label: asia-northeast3
  378. value: asia-northeast3
  379. - label: asia-south1
  380. value: asia-south1
  381. - label: asia-southeast1
  382. value: asia-southeast1
  383. - label: asia-southeast2
  384. value: asia-southeast2
  385. - label: australia-southeast1
  386. value: australia-southeast1
  387. - label: europe-north1
  388. value: europe-north1
  389. - label: europe-west1
  390. value: europe-west1
  391. - label: europe-west2
  392. value: europe-west2
  393. - label: europe-west3
  394. value: europe-west3
  395. - label: europe-west4
  396. value: europe-west4
  397. - label: europe-west6
  398. value: europe-west6
  399. - label: northamerica-northeast1
  400. value: northamerica-northeast1
  401. - label: southamerica-east1
  402. value: southamerica-east1
  403. - label: us-central1
  404. value: us-central1
  405. - label: us-east1
  406. value: us-east1
  407. - label: us-east4
  408. value: us-east4
  409. - label: us-east1
  410. value: us-east1
  411. - label: us-east1
  412. value: us-east1
  413. - label: us-west1
  414. value: us-west1
  415. - label: us-east1
  416. value: us-west2
  417. - label: us-west3
  418. value: us-west3
  419. - label: us-west4
  420. value: us-west4
  421. `
  422. const gkeForm = `name: GKE
  423. hasSource: false
  424. includeHiddenFields: true
  425. tabs:
  426. - name: main
  427. label: Configuration
  428. sections:
  429. - name: section_one
  430. contents:
  431. - type: heading
  432. label: GKE Configuration
  433. - type: select
  434. label: 📍 GCP Region
  435. variable: gcp_region
  436. settings:
  437. default: us-central1
  438. options:
  439. - label: asia-east1
  440. value: asia-east1
  441. - label: asia-east2
  442. value: asia-east2
  443. - label: asia-northeast1
  444. value: asia-northeast1
  445. - label: asia-northeast2
  446. value: asia-northeast2
  447. - label: asia-northeast3
  448. value: asia-northeast3
  449. - label: asia-south1
  450. value: asia-south1
  451. - label: asia-southeast1
  452. value: asia-southeast1
  453. - label: asia-southeast2
  454. value: asia-southeast2
  455. - label: australia-southeast1
  456. value: australia-southeast1
  457. - label: europe-north1
  458. value: europe-north1
  459. - label: europe-west1
  460. value: europe-west1
  461. - label: europe-west2
  462. value: europe-west2
  463. - label: europe-west3
  464. value: europe-west3
  465. - label: europe-west4
  466. value: europe-west4
  467. - label: europe-west6
  468. value: europe-west6
  469. - label: northamerica-northeast1
  470. value: northamerica-northeast1
  471. - label: southamerica-east1
  472. value: southamerica-east1
  473. - label: us-central1
  474. value: us-central1
  475. - label: us-east1
  476. value: us-east1
  477. - label: us-east4
  478. value: us-east4
  479. - label: us-east1
  480. value: us-east1
  481. - label: us-east1
  482. value: us-east1
  483. - label: us-west1
  484. value: us-west1
  485. - label: us-east1
  486. value: us-west2
  487. - label: us-west3
  488. value: us-west3
  489. - label: us-west4
  490. value: us-west4
  491. - type: string-input
  492. label: 👤 Issuer Email
  493. required: true
  494. placeholder: example@example.com
  495. variable: issuer_email
  496. - type: string-input
  497. label: GKE Cluster Name
  498. required: true
  499. placeholder: my-cluster
  500. variable: cluster_name
  501. `
  502. const docrForm = `name: DOCR
  503. hasSource: false
  504. includeHiddenFields: true
  505. tabs:
  506. - name: main
  507. label: Configuration
  508. sections:
  509. - name: section_one
  510. contents:
  511. - type: heading
  512. label: DOCR Configuration
  513. - type: select
  514. label: DO Subscription Tier
  515. variable: docr_subscription_tier
  516. settings:
  517. default: basic
  518. options:
  519. - label: Basic
  520. value: basic
  521. - label: Professional
  522. value: professional
  523. - type: string-input
  524. label: DOCR Name
  525. required: true
  526. placeholder: my-awesome-registry
  527. variable: docr_name
  528. `
  529. const doksForm = `name: DOKS
  530. hasSource: false
  531. includeHiddenFields: true
  532. tabs:
  533. - name: main
  534. label: Configuration
  535. sections:
  536. - name: section_one
  537. contents:
  538. - type: heading
  539. label: DOKS Configuration
  540. - type: select
  541. label: 📍 DO Region
  542. variable: do_region
  543. settings:
  544. default: nyc1
  545. options:
  546. - label: Amsterdam 3
  547. value: ams3
  548. - label: Bangalore 1
  549. value: blr1
  550. - label: Frankfurt 1
  551. value: fra1
  552. - label: London 1
  553. value: lon1
  554. - label: New York 1
  555. value: nyc1
  556. - label: New York 3
  557. value: nyc3
  558. - label: San Francisco 2
  559. value: sfo2
  560. - label: San Francisco 3
  561. value: sfo3
  562. - label: Singapore 1
  563. value: sgp1
  564. - label: Toronto 1
  565. value: tor1
  566. - type: string-input
  567. label: 👤 Issuer Email
  568. required: true
  569. placeholder: example@example.com
  570. variable: issuer_email
  571. - type: string-input
  572. label: DOKS Cluster Name
  573. required: true
  574. placeholder: my-cluster
  575. variable: cluster_name
  576. `