@flightctl/types 1.0.1 → 1.1.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/imagebuilder/index.d.ts +28 -0
  2. package/dist/imagebuilder/index.d.ts.map +1 -0
  3. package/dist/imagebuilder/index.js +14 -0
  4. package/dist/imagebuilder/index.js.map +1 -0
  5. package/dist/imagebuilder/models/BindingType.d.ts +8 -0
  6. package/dist/imagebuilder/models/BindingType.d.ts.map +1 -0
  7. package/dist/imagebuilder/models/BindingType.js +13 -0
  8. package/dist/imagebuilder/models/BindingType.js.map +1 -0
  9. package/dist/imagebuilder/models/EarlyBinding.d.ts +10 -0
  10. package/dist/imagebuilder/models/EarlyBinding.d.ts.map +1 -0
  11. package/dist/imagebuilder/models/EarlyBinding.js +2 -0
  12. package/dist/imagebuilder/models/EarlyBinding.js.map +1 -0
  13. package/dist/imagebuilder/models/ExportFormatType.d.ts +10 -0
  14. package/dist/imagebuilder/models/ExportFormatType.d.ts.map +1 -0
  15. package/dist/imagebuilder/models/ExportFormatType.js +15 -0
  16. package/dist/imagebuilder/models/ExportFormatType.js.map +1 -0
  17. package/dist/imagebuilder/models/ImageBuild.d.ts +25 -0
  18. package/dist/imagebuilder/models/ImageBuild.d.ts.map +1 -0
  19. package/dist/imagebuilder/models/ImageBuild.js +2 -0
  20. package/dist/imagebuilder/models/ImageBuild.js.map +1 -0
  21. package/dist/imagebuilder/models/ImageBuildBinding.d.ts +7 -0
  22. package/dist/imagebuilder/models/ImageBuildBinding.d.ts.map +1 -0
  23. package/dist/imagebuilder/models/ImageBuildBinding.js +2 -0
  24. package/dist/imagebuilder/models/ImageBuildBinding.js.map +1 -0
  25. package/dist/imagebuilder/models/ImageBuildCondition.d.ts +9 -0
  26. package/dist/imagebuilder/models/ImageBuildCondition.d.ts.map +1 -0
  27. package/dist/imagebuilder/models/ImageBuildCondition.js +2 -0
  28. package/dist/imagebuilder/models/ImageBuildCondition.js.map +1 -0
  29. package/dist/imagebuilder/models/ImageBuildConditionReason.d.ts +13 -0
  30. package/dist/imagebuilder/models/ImageBuildConditionReason.d.ts.map +1 -0
  31. package/dist/imagebuilder/models/ImageBuildConditionReason.js +18 -0
  32. package/dist/imagebuilder/models/ImageBuildConditionReason.js.map +1 -0
  33. package/dist/imagebuilder/models/ImageBuildConditionType.d.ts +7 -0
  34. package/dist/imagebuilder/models/ImageBuildConditionType.d.ts.map +1 -0
  35. package/dist/imagebuilder/models/ImageBuildConditionType.js +12 -0
  36. package/dist/imagebuilder/models/ImageBuildConditionType.js.map +1 -0
  37. package/dist/imagebuilder/models/ImageBuildDestination.d.ts +18 -0
  38. package/dist/imagebuilder/models/ImageBuildDestination.d.ts.map +1 -0
  39. package/dist/imagebuilder/models/ImageBuildDestination.js +2 -0
  40. package/dist/imagebuilder/models/ImageBuildDestination.js.map +1 -0
  41. package/dist/imagebuilder/models/ImageBuildList.d.ts +21 -0
  42. package/dist/imagebuilder/models/ImageBuildList.d.ts.map +1 -0
  43. package/dist/imagebuilder/models/ImageBuildList.js +2 -0
  44. package/dist/imagebuilder/models/ImageBuildList.js.map +1 -0
  45. package/dist/imagebuilder/models/ImageBuildRefSource.d.ts +14 -0
  46. package/dist/imagebuilder/models/ImageBuildRefSource.d.ts.map +1 -0
  47. package/dist/imagebuilder/models/ImageBuildRefSource.js +2 -0
  48. package/dist/imagebuilder/models/ImageBuildRefSource.js.map +1 -0
  49. package/dist/imagebuilder/models/ImageBuildSource.d.ts +18 -0
  50. package/dist/imagebuilder/models/ImageBuildSource.d.ts.map +1 -0
  51. package/dist/imagebuilder/models/ImageBuildSource.js +2 -0
  52. package/dist/imagebuilder/models/ImageBuildSource.js.map +1 -0
  53. package/dist/imagebuilder/models/ImageBuildSpec.d.ts +14 -0
  54. package/dist/imagebuilder/models/ImageBuildSpec.d.ts.map +1 -0
  55. package/dist/imagebuilder/models/ImageBuildSpec.js +2 -0
  56. package/dist/imagebuilder/models/ImageBuildSpec.js.map +1 -0
  57. package/dist/imagebuilder/models/ImageBuildStatus.d.ts +27 -0
  58. package/dist/imagebuilder/models/ImageBuildStatus.d.ts.map +1 -0
  59. package/dist/imagebuilder/models/ImageBuildStatus.js +2 -0
  60. package/dist/imagebuilder/models/ImageBuildStatus.js.map +1 -0
  61. package/dist/imagebuilder/models/ImageBuildUserConfiguration.d.ts +14 -0
  62. package/dist/imagebuilder/models/ImageBuildUserConfiguration.d.ts.map +1 -0
  63. package/dist/imagebuilder/models/ImageBuildUserConfiguration.js +2 -0
  64. package/dist/imagebuilder/models/ImageBuildUserConfiguration.js.map +1 -0
  65. package/dist/imagebuilder/models/ImageExport.d.ts +20 -0
  66. package/dist/imagebuilder/models/ImageExport.d.ts.map +1 -0
  67. package/dist/imagebuilder/models/ImageExport.js +2 -0
  68. package/dist/imagebuilder/models/ImageExport.js.map +1 -0
  69. package/dist/imagebuilder/models/ImageExportCondition.d.ts +9 -0
  70. package/dist/imagebuilder/models/ImageExportCondition.d.ts.map +1 -0
  71. package/dist/imagebuilder/models/ImageExportCondition.js +2 -0
  72. package/dist/imagebuilder/models/ImageExportCondition.js.map +1 -0
  73. package/dist/imagebuilder/models/ImageExportConditionReason.d.ts +13 -0
  74. package/dist/imagebuilder/models/ImageExportConditionReason.d.ts.map +1 -0
  75. package/dist/imagebuilder/models/ImageExportConditionReason.js +18 -0
  76. package/dist/imagebuilder/models/ImageExportConditionReason.js.map +1 -0
  77. package/dist/imagebuilder/models/ImageExportConditionType.d.ts +7 -0
  78. package/dist/imagebuilder/models/ImageExportConditionType.d.ts.map +1 -0
  79. package/dist/imagebuilder/models/ImageExportConditionType.js +12 -0
  80. package/dist/imagebuilder/models/ImageExportConditionType.js.map +1 -0
  81. package/dist/imagebuilder/models/ImageExportFormatPhase.d.ts +11 -0
  82. package/dist/imagebuilder/models/ImageExportFormatPhase.d.ts.map +1 -0
  83. package/dist/imagebuilder/models/ImageExportFormatPhase.js +16 -0
  84. package/dist/imagebuilder/models/ImageExportFormatPhase.js.map +1 -0
  85. package/dist/imagebuilder/models/ImageExportList.d.ts +21 -0
  86. package/dist/imagebuilder/models/ImageExportList.d.ts.map +1 -0
  87. package/dist/imagebuilder/models/ImageExportList.js +2 -0
  88. package/dist/imagebuilder/models/ImageExportList.js.map +1 -0
  89. package/dist/imagebuilder/models/ImageExportSource.d.ts +6 -0
  90. package/dist/imagebuilder/models/ImageExportSource.d.ts.map +1 -0
  91. package/dist/imagebuilder/models/ImageExportSource.js +2 -0
  92. package/dist/imagebuilder/models/ImageExportSource.js.map +1 -0
  93. package/dist/imagebuilder/models/ImageExportSourceType.d.ts +7 -0
  94. package/dist/imagebuilder/models/ImageExportSourceType.d.ts.map +1 -0
  95. package/dist/imagebuilder/models/ImageExportSourceType.js +12 -0
  96. package/dist/imagebuilder/models/ImageExportSourceType.js.map +1 -0
  97. package/dist/imagebuilder/models/ImageExportSpec.d.ts +10 -0
  98. package/dist/imagebuilder/models/ImageExportSpec.d.ts.map +1 -0
  99. package/dist/imagebuilder/models/ImageExportSpec.js +2 -0
  100. package/dist/imagebuilder/models/ImageExportSpec.js.map +1 -0
  101. package/dist/imagebuilder/models/ImageExportStatus.d.ts +19 -0
  102. package/dist/imagebuilder/models/ImageExportStatus.d.ts.map +1 -0
  103. package/dist/imagebuilder/models/ImageExportStatus.js +2 -0
  104. package/dist/imagebuilder/models/ImageExportStatus.js.map +1 -0
  105. package/dist/imagebuilder/models/LateBinding.d.ts +10 -0
  106. package/dist/imagebuilder/models/LateBinding.d.ts.map +1 -0
  107. package/dist/imagebuilder/models/LateBinding.js +2 -0
  108. package/dist/imagebuilder/models/LateBinding.js.map +1 -0
  109. package/dist/imagebuilder/models/ResourceKind.d.ts +8 -0
  110. package/dist/imagebuilder/models/ResourceKind.d.ts.map +1 -0
  111. package/dist/imagebuilder/models/ResourceKind.js +13 -0
  112. package/dist/imagebuilder/models/ResourceKind.js.map +1 -0
  113. package/dist/index.d.ts +7 -2
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +3 -0
  116. package/dist/index.js.map +1 -1
  117. package/dist/models/AppType.d.ts +2 -1
  118. package/dist/models/AppType.d.ts.map +1 -1
  119. package/dist/models/AppType.js +1 -0
  120. package/dist/models/AppType.js.map +1 -1
  121. package/dist/models/ApplicationProviderSpec.d.ts +4 -0
  122. package/dist/models/ApplicationProviderSpec.d.ts.map +1 -1
  123. package/dist/models/ApplicationVolume.d.ts +2 -0
  124. package/dist/models/ApplicationVolume.d.ts.map +1 -1
  125. package/dist/models/ApplicationVolumeReclaimPolicy.d.ts +7 -0
  126. package/dist/models/ApplicationVolumeReclaimPolicy.d.ts.map +1 -0
  127. package/dist/models/ApplicationVolumeReclaimPolicy.js +12 -0
  128. package/dist/models/ApplicationVolumeReclaimPolicy.js.map +1 -0
  129. package/dist/models/Condition.d.ts +3 -20
  130. package/dist/models/Condition.d.ts.map +1 -1
  131. package/dist/models/ConditionBase.d.ts +24 -0
  132. package/dist/models/ConditionBase.d.ts.map +1 -0
  133. package/dist/models/ConditionBase.js +2 -0
  134. package/dist/models/ConditionBase.js.map +1 -0
  135. package/dist/models/DeviceApplicationStatus.d.ts +4 -0
  136. package/dist/models/DeviceApplicationStatus.d.ts.map +1 -1
  137. package/dist/models/DockerAuth.d.ts +15 -0
  138. package/dist/models/DockerAuth.d.ts.map +1 -0
  139. package/dist/models/DockerAuth.js +2 -0
  140. package/dist/models/DockerAuth.js.map +1 -0
  141. package/dist/models/GitRepoSpec.d.ts +18 -0
  142. package/dist/models/GitRepoSpec.d.ts.map +1 -0
  143. package/dist/models/GitRepoSpec.js +2 -0
  144. package/dist/models/GitRepoSpec.js.map +1 -0
  145. package/dist/models/HttpRepoSpec.d.ts +9 -4
  146. package/dist/models/HttpRepoSpec.d.ts.map +1 -1
  147. package/dist/models/ImageApplicationProviderSpec.d.ts +12 -0
  148. package/dist/models/ImageApplicationProviderSpec.d.ts.map +1 -1
  149. package/dist/models/K8sProviderSpec.d.ts +4 -0
  150. package/dist/models/K8sProviderSpec.d.ts.map +1 -1
  151. package/dist/models/KubernetesSecretProviderSpec.d.ts +8 -0
  152. package/dist/models/KubernetesSecretProviderSpec.d.ts.map +1 -1
  153. package/dist/models/OciAuth.d.ts +6 -0
  154. package/dist/models/OciAuth.d.ts.map +1 -0
  155. package/dist/models/OciAuth.js +2 -0
  156. package/dist/models/OciAuth.js.map +1 -0
  157. package/dist/models/OciAuthType.d.ts +7 -0
  158. package/dist/models/OciAuthType.d.ts.map +1 -0
  159. package/dist/models/OciAuthType.js +12 -0
  160. package/dist/models/OciAuthType.js.map +1 -0
  161. package/dist/models/OciRepoSpec.d.ts +48 -0
  162. package/dist/models/OciRepoSpec.d.ts.map +1 -0
  163. package/dist/models/OciRepoSpec.js +20 -0
  164. package/dist/models/OciRepoSpec.js.map +1 -0
  165. package/dist/models/OpenShiftProviderSpec.d.ts +8 -0
  166. package/dist/models/OpenShiftProviderSpec.d.ts.map +1 -1
  167. package/dist/models/RepoSpecType.d.ts +3 -2
  168. package/dist/models/RepoSpecType.d.ts.map +1 -1
  169. package/dist/models/RepoSpecType.js +3 -2
  170. package/dist/models/RepoSpecType.js.map +1 -1
  171. package/dist/models/RepositorySpec.d.ts +3 -3
  172. package/dist/models/RepositorySpec.d.ts.map +1 -1
  173. package/dist/scripts/openapi-typescript.js +124 -17
  174. package/dist/scripts/openapi-typescript.js.map +1 -1
  175. package/dist/scripts/openapi-utils.d.ts +23 -0
  176. package/dist/scripts/openapi-utils.d.ts.map +1 -0
  177. package/dist/scripts/openapi-utils.js +213 -0
  178. package/dist/scripts/openapi-utils.js.map +1 -0
  179. package/imagebuilder/index.ts +32 -0
  180. package/imagebuilder/models/BindingType.ts +11 -0
  181. package/imagebuilder/models/EarlyBinding.ts +14 -0
  182. package/imagebuilder/models/ExportFormatType.ts +13 -0
  183. package/imagebuilder/models/ImageBuild.ts +29 -0
  184. package/imagebuilder/models/ImageBuildBinding.ts +11 -0
  185. package/imagebuilder/models/ImageBuildCondition.ts +13 -0
  186. package/imagebuilder/models/ImageBuildConditionReason.ts +16 -0
  187. package/imagebuilder/models/ImageBuildConditionType.ts +10 -0
  188. package/imagebuilder/models/ImageBuildDestination.ts +22 -0
  189. package/imagebuilder/models/ImageBuildList.ts +25 -0
  190. package/imagebuilder/models/ImageBuildRefSource.ts +18 -0
  191. package/imagebuilder/models/ImageBuildSource.ts +22 -0
  192. package/imagebuilder/models/ImageBuildSpec.ts +18 -0
  193. package/imagebuilder/models/ImageBuildStatus.ts +31 -0
  194. package/imagebuilder/models/ImageBuildUserConfiguration.ts +18 -0
  195. package/imagebuilder/models/ImageExport.ts +24 -0
  196. package/imagebuilder/models/ImageExportCondition.ts +13 -0
  197. package/imagebuilder/models/ImageExportConditionReason.ts +16 -0
  198. package/imagebuilder/models/ImageExportConditionType.ts +10 -0
  199. package/imagebuilder/models/ImageExportFormatPhase.ts +14 -0
  200. package/imagebuilder/models/ImageExportList.ts +25 -0
  201. package/imagebuilder/models/ImageExportSource.ts +10 -0
  202. package/imagebuilder/models/ImageExportSourceType.ts +10 -0
  203. package/imagebuilder/models/ImageExportSpec.ts +14 -0
  204. package/imagebuilder/models/ImageExportStatus.ts +23 -0
  205. package/imagebuilder/models/LateBinding.ts +14 -0
  206. package/imagebuilder/models/ResourceKind.ts +11 -0
  207. package/index.ts +7 -2
  208. package/package.json +9 -3
  209. package/dist/models/GenericRepoSpec.d.ts +0 -9
  210. package/dist/models/GenericRepoSpec.d.ts.map +0 -1
  211. package/dist/models/GenericRepoSpec.js +0 -2
  212. package/dist/models/GenericRepoSpec.js.map +0 -1
  213. package/dist/models/SshRepoSpec.d.ts +0 -11
  214. package/dist/models/SshRepoSpec.d.ts.map +0 -1
  215. package/dist/models/SshRepoSpec.js +0 -2
  216. package/dist/models/SshRepoSpec.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Docker-style authentication for OCI registries.
3
+ */
4
+ export type DockerAuth = {
5
+ authType: 'docker';
6
+ /**
7
+ * The username for registry authentication.
8
+ */
9
+ username: string;
10
+ /**
11
+ * The password or token for registry authentication.
12
+ */
13
+ password: string;
14
+ };
15
+ //# sourceMappingURL=DockerAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockerAuth.d.ts","sourceRoot":"","sources":["../../models/DockerAuth.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DockerAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockerAuth.js","sourceRoot":"","sources":["../../models/DockerAuth.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { HttpConfig } from './HttpConfig';
2
+ import type { SshConfig } from './SshConfig';
3
+ /**
4
+ * Git repository specification. Supports no auth (public repos), HTTP/HTTPS auth, or SSH auth.
5
+ */
6
+ export type GitRepoSpec = {
7
+ /**
8
+ * The Git repository URL to clone from.
9
+ */
10
+ url: string;
11
+ /**
12
+ * The repository type discriminator.
13
+ */
14
+ type: 'git';
15
+ httpConfig?: HttpConfig;
16
+ sshConfig?: SshConfig;
17
+ };
18
+ //# sourceMappingURL=GitRepoSpec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitRepoSpec.d.ts","sourceRoot":"","sources":["../../models/GitRepoSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GitRepoSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitRepoSpec.js","sourceRoot":"","sources":["../../models/GitRepoSpec.ts"],"names":[],"mappings":""}
@@ -1,12 +1,17 @@
1
1
  import type { HttpConfig } from './HttpConfig';
2
- import type { RepoSpecType } from './RepoSpecType';
2
+ /**
3
+ * HTTP endpoint specification for fetching configuration.
4
+ */
3
5
  export type HttpRepoSpec = {
4
6
  /**
5
- * The HTTP URL to call or clone from.
7
+ * The HTTP URL to call.
6
8
  */
7
9
  url: string;
8
- type: RepoSpecType;
9
- httpConfig: HttpConfig;
10
+ /**
11
+ * The repository type discriminator.
12
+ */
13
+ type: 'http';
14
+ httpConfig?: HttpConfig;
10
15
  /**
11
16
  * URL suffix used only for validating access to the repository. Users might use the URL field as a root URL to be used by config sources adding suffixes. This will help with the validation of the http endpoint.
12
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRepoSpec.d.ts","sourceRoot":"","sources":["../../models/HttpRepoSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"HttpRepoSpec.d.ts","sourceRoot":"","sources":["../../models/HttpRepoSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC"}
@@ -6,6 +6,18 @@ export type ImageApplicationProviderSpec = (ApplicationVolumeProviderSpec & {
6
6
  * Reference to the OCI image or artifact for the application package.
7
7
  */
8
8
  image: string;
9
+ /**
10
+ * Kubernetes namespace for helm chart installation. Only applicable when appType is 'helm'.
11
+ */
12
+ namespace?: string;
13
+ /**
14
+ * Helm values to pass during install/upgrade. Supports arbitrarily nested YAML structures. Only applicable when appType is 'helm'.
15
+ */
16
+ values?: Record<string, any>;
17
+ /**
18
+ * List of values files from within the chart to use during install/upgrade. Files are relative to chart root and are applied in array order before user-provided values. Only applicable when appType is 'helm'.
19
+ */
20
+ valuesFiles?: Array<string>;
9
21
  /**
10
22
  * Port mappings.
11
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ImageApplicationProviderSpec.d.ts","sourceRoot":"","sources":["../../models/ImageApplicationProviderSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,MAAM,MAAM,4BAA4B,GAAG,CAAC,6BAA6B,GAAG;IAC1E;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"ImageApplicationProviderSpec.d.ts","sourceRoot":"","sources":["../../models/ImageApplicationProviderSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,MAAM,MAAM,4BAA4B,GAAG,CAAC,6BAA6B,GAAG;IAC1E;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC,CAAC"}
@@ -26,5 +26,9 @@ export type K8sProviderSpec = {
26
26
  enabled?: boolean;
27
27
  organizationAssignment: AuthOrganizationAssignment;
28
28
  roleAssignment: AuthRoleAssignment;
29
+ /**
30
+ * Optional suffix to strip from ClusterRole names when normalizing role names. Used for multi-release deployments where ClusterRoles have namespace-specific names (e.g., flightctl-admin-<namespace>).
31
+ */
32
+ roleSuffix?: string;
29
33
  };
30
34
  //# sourceMappingURL=K8sProviderSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"K8sProviderSpec.d.ts","sourceRoot":"","sources":["../../models/K8sProviderSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"K8sProviderSpec.d.ts","sourceRoot":"","sources":["../../models/K8sProviderSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,cAAc,EAAE,kBAAkB,CAAC;IACnC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -19,6 +19,14 @@ export type KubernetesSecretProviderSpec = {
19
19
  * Path in the device's file system at which the secret should be mounted.
20
20
  */
21
21
  mountPath: string;
22
+ /**
23
+ * The file's owner, specified either as a name or numeric ID. Defaults to "root".
24
+ */
25
+ user?: string;
26
+ /**
27
+ * The file's group, specified either as a name or numeric ID. Defaults to "root".
28
+ */
29
+ group?: string;
22
30
  };
23
31
  };
24
32
  //# sourceMappingURL=KubernetesSecretProviderSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KubernetesSecretProviderSpec.d.ts","sourceRoot":"","sources":["../../models/KubernetesSecretProviderSpec.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE;QACT;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"KubernetesSecretProviderSpec.d.ts","sourceRoot":"","sources":["../../models/KubernetesSecretProviderSpec.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE;QACT;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { DockerAuth } from './DockerAuth';
2
+ /**
3
+ * Authentication for OCI registries.
4
+ */
5
+ export type OciAuth = DockerAuth;
6
+ //# sourceMappingURL=OciAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OciAuth.d.ts","sourceRoot":"","sources":["../../models/OciAuth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OciAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OciAuth.js","sourceRoot":"","sources":["../../models/OciAuth.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The type of authentication for OCI registries.
3
+ */
4
+ export declare enum OciAuthType {
5
+ DOCKER = "docker"
6
+ }
7
+ //# sourceMappingURL=OciAuthType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OciAuthType.d.ts","sourceRoot":"","sources":["../../models/OciAuthType.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;CAClB"}
@@ -0,0 +1,12 @@
1
+ /* generated using openapi-typescript-codegen -- do no edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ /**
6
+ * The type of authentication for OCI registries.
7
+ */
8
+ export var OciAuthType;
9
+ (function (OciAuthType) {
10
+ OciAuthType["DOCKER"] = "docker";
11
+ })(OciAuthType || (OciAuthType = {}));
12
+ //# sourceMappingURL=OciAuthType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OciAuthType.js","sourceRoot":"","sources":["../../models/OciAuthType.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,0BAA0B;AAC1B,oBAAoB;AACpB,oBAAoB;AACpB;;GAEG;AACH,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,gCAAiB,CAAA;AACnB,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB"}
@@ -0,0 +1,48 @@
1
+ import type { OciAuth } from './OciAuth';
2
+ /**
3
+ * OCI container registry specification.
4
+ */
5
+ export type OciRepoSpec = {
6
+ /**
7
+ * The OCI registry hostname, FQDN, or IP address with optional port (e.g., quay.io, registry.redhat.io, myregistry.com:5000, 192.168.1.1:5000, [::1]:5000).
8
+ */
9
+ registry: string;
10
+ /**
11
+ * URL scheme for connecting to the registry.
12
+ */
13
+ scheme?: OciRepoSpec.scheme;
14
+ /**
15
+ * The repository type discriminator.
16
+ */
17
+ type: 'oci';
18
+ /**
19
+ * Access mode for the registry: "Read" for read-only (pull), "ReadWrite" for read-write (pull and push).
20
+ */
21
+ accessMode?: OciRepoSpec.accessMode;
22
+ ociAuth?: OciAuth;
23
+ /**
24
+ * Base64 encoded root CA.
25
+ */
26
+ 'ca.crt'?: string;
27
+ /**
28
+ * Skip remote server verification.
29
+ */
30
+ skipServerVerification?: boolean;
31
+ };
32
+ export declare namespace OciRepoSpec {
33
+ /**
34
+ * URL scheme for connecting to the registry.
35
+ */
36
+ enum scheme {
37
+ HTTP = "http",
38
+ HTTPS = "https"
39
+ }
40
+ /**
41
+ * Access mode for the registry: "Read" for read-only (pull), "ReadWrite" for read-write (pull and push).
42
+ */
43
+ enum accessMode {
44
+ READ = "Read",
45
+ READ_WRITE = "ReadWrite"
46
+ }
47
+ }
48
+ //# sourceMappingURL=OciRepoSpec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OciRepoSpec.d.ts","sourceRoot":"","sources":["../../models/OciRepoSpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAC5B;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IACZ;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AACF,yBAAiB,WAAW,CAAC;IAC3B;;OAEG;IACH,KAAY,MAAM;QAChB,IAAI,SAAS;QACb,KAAK,UAAU;KAChB;IACD;;OAEG;IACH,KAAY,UAAU;QACpB,IAAI,SAAS;QACb,UAAU,cAAc;KACzB;CACF"}
@@ -0,0 +1,20 @@
1
+ export var OciRepoSpec;
2
+ (function (OciRepoSpec) {
3
+ /**
4
+ * URL scheme for connecting to the registry.
5
+ */
6
+ var scheme;
7
+ (function (scheme) {
8
+ scheme["HTTP"] = "http";
9
+ scheme["HTTPS"] = "https";
10
+ })(scheme = OciRepoSpec.scheme || (OciRepoSpec.scheme = {}));
11
+ /**
12
+ * Access mode for the registry: "Read" for read-only (pull), "ReadWrite" for read-write (pull and push).
13
+ */
14
+ var accessMode;
15
+ (function (accessMode) {
16
+ accessMode["READ"] = "Read";
17
+ accessMode["READ_WRITE"] = "ReadWrite";
18
+ })(accessMode = OciRepoSpec.accessMode || (OciRepoSpec.accessMode = {}));
19
+ })(OciRepoSpec || (OciRepoSpec = {}));
20
+ //# sourceMappingURL=OciRepoSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OciRepoSpec.js","sourceRoot":"","sources":["../../models/OciRepoSpec.ts"],"names":[],"mappings":"AAmCA,MAAM,KAAW,WAAW,CAe3B;AAfD,WAAiB,WAAW;IAC1B;;OAEG;IACH,IAAY,MAGX;IAHD,WAAY,MAAM;QAChB,uBAAa,CAAA;QACb,yBAAe,CAAA;IACjB,CAAC,EAHW,MAAM,GAAN,kBAAM,KAAN,kBAAM,QAGjB;IACD;;OAEG;IACH,IAAY,UAGX;IAHD,WAAY,UAAU;QACpB,2BAAa,CAAA;QACb,sCAAwB,CAAA;IAC1B,CAAC,EAHW,UAAU,GAAV,sBAAU,KAAV,sBAAU,QAGrB;AACH,CAAC,EAfgB,WAAW,KAAX,WAAW,QAe3B"}
@@ -42,5 +42,13 @@ export type OpenShiftProviderSpec = {
42
42
  * The OpenShift cluster control plane URL.
43
43
  */
44
44
  clusterControlPlaneUrl?: string;
45
+ /**
46
+ * If specified, only projects with this label will be considered. The label selector should be in the format 'key' or 'key=value'. If only the key is provided, any project with that label (regardless of value) will be included. This enables server-side filtering for better performance.
47
+ */
48
+ projectLabelFilter?: string;
49
+ /**
50
+ * Optional suffix to strip from ClusterRole names when normalizing role names. Used for multi-release deployments where ClusterRoles have namespace-specific names (e.g., flightctl-admin-<namespace>).
51
+ */
52
+ roleSuffix?: string;
45
53
  };
46
54
  //# sourceMappingURL=OpenShiftProviderSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenShiftProviderSpec.d.ts","sourceRoot":"","sources":["../../models/OpenShiftProviderSpec.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,YAAY,EAAE,WAAW,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"OpenShiftProviderSpec.d.ts","sourceRoot":"","sources":["../../models/OpenShiftProviderSpec.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,YAAY,EAAE,WAAW,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -2,7 +2,8 @@
2
2
  * RepoSpecType is the type of the repository.
3
3
  */
4
4
  export declare enum RepoSpecType {
5
- GIT = "git",
6
- HTTP = "http"
5
+ RepoSpecTypeGit = "git",
6
+ RepoSpecTypeHttp = "http",
7
+ RepoSpecTypeOci = "oci"
7
8
  }
8
9
  //# sourceMappingURL=RepoSpecType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RepoSpecType.d.ts","sourceRoot":"","sources":["../../models/RepoSpecType.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd"}
1
+ {"version":3,"file":"RepoSpecType.d.ts","sourceRoot":"","sources":["../../models/RepoSpecType.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,oBAAY,YAAY;IACtB,eAAe,QAAQ;IACvB,gBAAgB,SAAS;IACzB,eAAe,QAAQ;CACxB"}
@@ -7,7 +7,8 @@
7
7
  */
8
8
  export var RepoSpecType;
9
9
  (function (RepoSpecType) {
10
- RepoSpecType["GIT"] = "git";
11
- RepoSpecType["HTTP"] = "http";
10
+ RepoSpecType["RepoSpecTypeGit"] = "git";
11
+ RepoSpecType["RepoSpecTypeHttp"] = "http";
12
+ RepoSpecType["RepoSpecTypeOci"] = "oci";
12
13
  })(RepoSpecType || (RepoSpecType = {}));
13
14
  //# sourceMappingURL=RepoSpecType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RepoSpecType.js","sourceRoot":"","sources":["../../models/RepoSpecType.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,0BAA0B;AAC1B,oBAAoB;AACpB,oBAAoB;AACpB;;GAEG;AACH,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,6BAAa,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB"}
1
+ {"version":3,"file":"RepoSpecType.js","sourceRoot":"","sources":["../../models/RepoSpecType.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,0BAA0B;AAC1B,oBAAoB;AACpB,oBAAoB;AACpB;;GAEG;AACH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;AACzB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
@@ -1,8 +1,8 @@
1
- import type { GenericRepoSpec } from './GenericRepoSpec';
1
+ import type { GitRepoSpec } from './GitRepoSpec';
2
2
  import type { HttpRepoSpec } from './HttpRepoSpec';
3
- import type { SshRepoSpec } from './SshRepoSpec';
3
+ import type { OciRepoSpec } from './OciRepoSpec';
4
4
  /**
5
5
  * RepositorySpec describes a configuration repository.
6
6
  */
7
- export type RepositorySpec = (GenericRepoSpec | HttpRepoSpec | SshRepoSpec);
7
+ export type RepositorySpec = (GitRepoSpec | HttpRepoSpec | OciRepoSpec);
8
8
  //# sourceMappingURL=RepositorySpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RepositorySpec.d.ts","sourceRoot":"","sources":["../../models/RepositorySpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"RepositorySpec.d.ts","sourceRoot":"","sources":["../../models/RepositorySpec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC,CAAC"}
@@ -36,9 +36,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
37
  }
38
38
  };
39
+ var fs = require('fs');
40
+ var fsPromises = require('fs/promises');
39
41
  var path = require('path');
40
42
  var OpenAPI = require('openapi-typescript-codegen');
41
43
  var YAML = require('js-yaml');
44
+ var _a = require('./openapi-utils'), rimraf = _a.rimraf, copyDir = _a.copyDir, fixImagebuilderCoreReferences = _a.fixImagebuilderCoreReferences;
45
+ var CORE_API = 'core';
46
+ var IMAGEBUILDER_API = 'imagebuilder';
47
+ var getSwaggerUrl = function (api) { return "https://raw.githubusercontent.com/flightctl/flightctl/main/api/".concat(api, "/v1beta1"); };
42
48
  var processJsonAPI = function (jsonString) {
43
49
  var json = YAML.load(jsonString);
44
50
  if (json.components) {
@@ -51,30 +57,131 @@ var processJsonAPI = function (jsonString) {
51
57
  }
52
58
  return json;
53
59
  };
60
+ // Generate types from OpenAPI spec
61
+ function generateTypes(mode) {
62
+ return __awaiter(this, void 0, void 0, function () {
63
+ var config, _a, swaggerUrl, output, finalDir, response, data, modelsDir, indexPath, imagebuilderDir;
64
+ var _b;
65
+ return __generator(this, function (_c) {
66
+ switch (_c.label) {
67
+ case 0:
68
+ config = (_b = {},
69
+ _b[CORE_API] = {
70
+ swaggerUrl: "".concat(getSwaggerUrl(CORE_API), "/openapi.yaml"),
71
+ output: path.resolve(__dirname, '../tmp-types'),
72
+ finalDir: path.resolve(__dirname, '../models'),
73
+ },
74
+ _b[IMAGEBUILDER_API] = {
75
+ swaggerUrl: "".concat(getSwaggerUrl(IMAGEBUILDER_API), "/openapi.yaml"),
76
+ output: path.resolve(__dirname, '../tmp-imagebuilder-types'),
77
+ finalDir: path.resolve(__dirname, '../imagebuilder/models'),
78
+ },
79
+ _b);
80
+ if (!config[mode]) {
81
+ throw new Error("Unknown mode: ".concat(mode, ". Use 'core' or 'imagebuilder'"));
82
+ }
83
+ _a = config[mode], swaggerUrl = _a.swaggerUrl, output = _a.output, finalDir = _a.finalDir;
84
+ console.log("Fetching ".concat(mode, " OpenAPI spec from ").concat(swaggerUrl, "..."));
85
+ return [4 /*yield*/, fetch(swaggerUrl)];
86
+ case 1:
87
+ response = _c.sent();
88
+ return [4 /*yield*/, response.text()];
89
+ case 2:
90
+ data = _c.sent();
91
+ console.log("Generating ".concat(mode, " types..."));
92
+ return [4 /*yield*/, OpenAPI.generate({
93
+ input: processJsonAPI(data),
94
+ output: output,
95
+ exportCore: false,
96
+ exportServices: false,
97
+ exportModels: true,
98
+ exportSchemas: false,
99
+ indent: '2',
100
+ })];
101
+ case 3:
102
+ _c.sent();
103
+ if (!(mode === CORE_API)) return [3 /*break*/, 7];
104
+ // Copy the flightctl API types to their final location
105
+ return [4 /*yield*/, rimraf(finalDir)];
106
+ case 4:
107
+ // Copy the flightctl API types to their final location
108
+ _c.sent();
109
+ return [4 /*yield*/, copyDir(output, path.resolve(__dirname, '..'))];
110
+ case 5:
111
+ _c.sent();
112
+ return [4 /*yield*/, rimraf(output)];
113
+ case 6:
114
+ _c.sent();
115
+ return [3 /*break*/, 15];
116
+ case 7:
117
+ // Image builder types need to be fixed before they can be moved to their final location
118
+ return [4 /*yield*/, rimraf(finalDir)];
119
+ case 8:
120
+ // Image builder types need to be fixed before they can be moved to their final location
121
+ _c.sent();
122
+ modelsDir = path.join(output, 'models');
123
+ if (!fs.existsSync(modelsDir)) return [3 /*break*/, 10];
124
+ return [4 /*yield*/, copyDir(modelsDir, finalDir)];
125
+ case 9:
126
+ _c.sent();
127
+ _c.label = 10;
128
+ case 10:
129
+ console.log("Fixing references to core API types...");
130
+ return [4 /*yield*/, fixImagebuilderCoreReferences(finalDir)];
131
+ case 11:
132
+ _c.sent();
133
+ indexPath = path.join(output, 'index.ts');
134
+ if (!fs.existsSync(indexPath)) return [3 /*break*/, 13];
135
+ imagebuilderDir = path.resolve(__dirname, '../imagebuilder');
136
+ if (!fs.existsSync(imagebuilderDir)) {
137
+ fs.mkdirSync(imagebuilderDir, { recursive: true });
138
+ }
139
+ return [4 /*yield*/, fsPromises.copyFile(indexPath, path.join(imagebuilderDir, 'index.ts'))];
140
+ case 12:
141
+ _c.sent();
142
+ _c.label = 13;
143
+ case 13: return [4 /*yield*/, rimraf(output)];
144
+ case 14:
145
+ _c.sent();
146
+ _c.label = 15;
147
+ case 15: return [2 /*return*/];
148
+ }
149
+ });
150
+ });
151
+ }
54
152
  function main() {
55
153
  return __awaiter(this, void 0, void 0, function () {
56
- var swaggerUrl, output, response, data;
154
+ var rootDir, error_1;
57
155
  return __generator(this, function (_a) {
58
156
  switch (_a.label) {
59
157
  case 0:
60
- swaggerUrl = 'https://raw.githubusercontent.com/flightctl/flightctl/main/api/v1beta1/openapi.yaml';
61
- output = path.resolve(__dirname, '../tmp-types');
62
- return [4 /*yield*/, fetch(swaggerUrl)];
158
+ _a.trys.push([0, 4, , 5]);
159
+ rootDir = path.resolve(__dirname, '..');
160
+ // Clean up existing directories
161
+ console.log('Cleaning up existing directories...');
162
+ return [4 /*yield*/, Promise.all([
163
+ rimraf(path.join(rootDir, 'models')),
164
+ rimraf(path.join(rootDir, 'imagebuilder')),
165
+ rimraf(path.join(rootDir, 'tmp-types')),
166
+ rimraf(path.join(rootDir, 'tmp-imagebuilder-types')),
167
+ ])];
63
168
  case 1:
64
- response = _a.sent();
65
- return [4 /*yield*/, response.text()];
169
+ _a.sent();
170
+ console.log('Generating types...');
171
+ return [4 /*yield*/, generateTypes(CORE_API)];
66
172
  case 2:
67
- data = _a.sent();
68
- OpenAPI.generate({
69
- input: processJsonAPI(data),
70
- output: output,
71
- exportCore: false,
72
- exportServices: false,
73
- exportModels: true,
74
- exportSchemas: false,
75
- indent: '2',
76
- });
77
- return [2 /*return*/];
173
+ _a.sent();
174
+ return [4 /*yield*/, generateTypes(IMAGEBUILDER_API)];
175
+ case 3:
176
+ _a.sent();
177
+ console.log('✅ Type generation complete!');
178
+ return [3 /*break*/, 5];
179
+ case 4:
180
+ error_1 = _a.sent();
181
+ console.error('❌ Error generating types:', error_1);
182
+ process.exit(1);
183
+ return [3 /*break*/, 5];
184
+ case 5: return [2 /*return*/];
78
185
  }
79
186
  });
80
187
  });
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-typescript.js","sourceRoot":"","sources":["../../scripts/openapi-typescript.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,IAAM,OAAO,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACtD,IAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEhC,IAAM,cAAc,GAAG,UAAC,UAAU;IAChC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;YAC/C,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,SAAe,IAAI;;;;;;oBACX,UAAU,GAAG,qFAAqF,CAAC;oBACnG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;oBACtC,qBAAM,KAAK,CAAC,UAAU,CAAC,EAAA;;oBAAlC,QAAQ,GAAG,SAAuB;oBAC3B,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;oBAA5B,IAAI,GAAG,SAAqB;oBAElC,OAAO,CAAC,QAAQ,CAAC;wBACf,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC;wBAC3B,MAAM,QAAA;wBACN,UAAU,EAAE,KAAK;wBACjB,cAAc,EAAE,KAAK;wBACrB,YAAY,EAAE,IAAI;wBAClB,aAAa,EAAE,KAAK;wBACpB,MAAM,EAAE,GAAG;qBACZ,CAAC,CAAC;;;;;CACJ;AAED,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"openapi-typescript.js","sourceRoot":"","sources":["../../scripts/openapi-typescript.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ export function rimraf(dir: any): Promise<void>;
3
+ export function copyDir(src: any, dest: any): Promise<void>;
4
+ /**
5
+ * Fixes references from the auto-generated imagebuilder types so they point to the correct types of the "core" API module.
6
+ * The generated types are in the form of:
7
+ * import type { core_v1beta1_openapi_yaml_components_schemas_ObjectMeta } from './core_v1beta1_openapi_yaml_components_schemas_ObjectMeta';
8
+ * type SomeType = {
9
+ * ...
10
+ * someField: core_v1beta1_openapi_yaml_components_schemas_ObjectMeta;
11
+ * }
12
+ *
13
+ * The fixed types will be like this:
14
+ * import type { ObjectMeta } from '../../models/ObjectMeta';
15
+ * type SomeType = {
16
+ * ...
17
+ * someField: ObjectMeta;
18
+ * }
19
+ *
20
+ * @param {string} modelsDir - Directory containing TypeScript files to fix
21
+ */
22
+ export function fixImagebuilderCoreReferences(modelsDir: string): Promise<void>;
23
+ //# sourceMappingURL=openapi-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-utils.d.ts","sourceRoot":"","sources":["../../scripts/openapi-utils.js"],"names":[],"mappings":";AAMA,gDAgBC;AAGD,4DAqBC;AAsBD;;;;;;;;;;;;;;;;;GAiBG;AACH,yDAFW,MAAM,iBAyBhB"}