typekro 0.10.0 → 0.11.0

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 (209) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
  3. package/dist/compositions/typekro-runtime/typekro-runtime.js +4 -4
  4. package/dist/core/aspects/apply.d.ts.map +1 -1
  5. package/dist/core/aspects/apply.js +42 -1
  6. package/dist/core/aspects/apply.js.map +1 -1
  7. package/dist/core/aspects/values-merge.d.ts +8 -0
  8. package/dist/core/aspects/values-merge.d.ts.map +1 -0
  9. package/dist/core/aspects/values-merge.js +21 -0
  10. package/dist/core/aspects/values-merge.js.map +1 -0
  11. package/dist/core/composition/imperative.d.ts.map +1 -1
  12. package/dist/core/composition/imperative.js +6 -2
  13. package/dist/core/composition/imperative.js.map +1 -1
  14. package/dist/core/deployment/direct-factory.d.ts +5 -1
  15. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  16. package/dist/core/deployment/direct-factory.js +21 -2
  17. package/dist/core/deployment/direct-factory.js.map +1 -1
  18. package/dist/core/deployment/engine.d.ts +1 -0
  19. package/dist/core/deployment/engine.d.ts.map +1 -1
  20. package/dist/core/deployment/engine.js +28 -7
  21. package/dist/core/deployment/engine.js.map +1 -1
  22. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  23. package/dist/core/deployment/kro-factory.js +22 -3
  24. package/dist/core/deployment/kro-factory.js.map +1 -1
  25. package/dist/core/deployment/strategies/base-strategy.d.ts +1 -0
  26. package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
  27. package/dist/core/deployment/strategies/base-strategy.js +35 -33
  28. package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
  29. package/dist/core/deployment/strategies/direct-strategy.d.ts +4 -0
  30. package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
  31. package/dist/core/deployment/strategies/direct-strategy.js +40 -29
  32. package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
  33. package/dist/core/references/cel.d.ts +13 -0
  34. package/dist/core/references/cel.d.ts.map +1 -1
  35. package/dist/core/references/cel.js +42 -3
  36. package/dist/core/references/cel.js.map +1 -1
  37. package/dist/core/references/external-refs.d.ts +13 -0
  38. package/dist/core/references/external-refs.d.ts.map +1 -1
  39. package/dist/core/references/external-refs.js +18 -0
  40. package/dist/core/references/external-refs.js.map +1 -1
  41. package/dist/core/references/index.d.ts +1 -1
  42. package/dist/core/references/index.d.ts.map +1 -1
  43. package/dist/core/references/index.js +1 -1
  44. package/dist/core/references/index.js.map +1 -1
  45. package/dist/core/references/schema-proxy.d.ts.map +1 -1
  46. package/dist/core/references/schema-proxy.js +7 -3
  47. package/dist/core/references/schema-proxy.js.map +1 -1
  48. package/dist/core/serialization/cel-references.d.ts +2 -7
  49. package/dist/core/serialization/cel-references.d.ts.map +1 -1
  50. package/dist/core/serialization/cel-references.js +451 -35
  51. package/dist/core/serialization/cel-references.js.map +1 -1
  52. package/dist/core/serialization/core.d.ts.map +1 -1
  53. package/dist/core/serialization/core.js +95 -62
  54. package/dist/core/serialization/core.js.map +1 -1
  55. package/dist/core/serialization/yaml.d.ts +2 -2
  56. package/dist/core/serialization/yaml.d.ts.map +1 -1
  57. package/dist/core/serialization/yaml.js +14 -4
  58. package/dist/core/serialization/yaml.js.map +1 -1
  59. package/dist/core/types/common.d.ts +41 -0
  60. package/dist/core/types/common.d.ts.map +1 -1
  61. package/dist/core/types/deployment.d.ts +2 -0
  62. package/dist/core/types/deployment.d.ts.map +1 -1
  63. package/dist/core/types/deployment.js +1 -1
  64. package/dist/core/types/deployment.js.map +1 -1
  65. package/dist/core/types/references.d.ts +1 -1
  66. package/dist/core/types/references.d.ts.map +1 -1
  67. package/dist/core/validation/cel-validator.d.ts.map +1 -1
  68. package/dist/core/validation/cel-validator.js +26 -8
  69. package/dist/core/validation/cel-validator.js.map +1 -1
  70. package/dist/factories/apisix/resources/helm.d.ts +3 -2
  71. package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
  72. package/dist/factories/apisix/resources/helm.js +1 -1
  73. package/dist/factories/apisix/resources/helm.js.map +1 -1
  74. package/dist/factories/cert-manager/types.d.ts +2 -1
  75. package/dist/factories/cert-manager/types.d.ts.map +1 -1
  76. package/dist/factories/cert-manager/types.js.map +1 -1
  77. package/dist/factories/cilium/resources/helm.d.ts +1 -1
  78. package/dist/factories/cilium/resources/helm.d.ts.map +1 -1
  79. package/dist/factories/cilium/types.d.ts +2 -1
  80. package/dist/factories/cilium/types.d.ts.map +1 -1
  81. package/dist/factories/cilium/types.js.map +1 -1
  82. package/dist/factories/external-dns/resources/helm.d.ts +2 -1
  83. package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
  84. package/dist/factories/external-dns/resources/helm.js +6 -1
  85. package/dist/factories/external-dns/resources/helm.js.map +1 -1
  86. package/dist/factories/external-dns/types.d.ts +2 -2
  87. package/dist/factories/external-dns/types.d.ts.map +1 -1
  88. package/dist/factories/helm/helm-release.d.ts +9 -4
  89. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  90. package/dist/factories/helm/helm-release.js.map +1 -1
  91. package/dist/factories/helm/types.d.ts +7 -2
  92. package/dist/factories/helm/types.d.ts.map +1 -1
  93. package/dist/factories/index.d.ts +1 -0
  94. package/dist/factories/index.d.ts.map +1 -1
  95. package/dist/factories/index.js +4 -0
  96. package/dist/factories/index.js.map +1 -1
  97. package/dist/factories/inngest/types.d.ts +5 -1
  98. package/dist/factories/inngest/types.d.ts.map +1 -1
  99. package/dist/factories/inngest/types.js.map +1 -1
  100. package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
  101. package/dist/factories/kro/resource-graph-definition.js +27 -11
  102. package/dist/factories/kro/resource-graph-definition.js.map +1 -1
  103. package/dist/factories/ory/compositions/index.d.ts +3 -0
  104. package/dist/factories/ory/compositions/index.d.ts.map +1 -0
  105. package/dist/factories/ory/compositions/index.js +3 -0
  106. package/dist/factories/ory/compositions/index.js.map +1 -0
  107. package/dist/factories/ory/compositions/ory-identity-stack.d.ts +2073 -0
  108. package/dist/factories/ory/compositions/ory-identity-stack.d.ts.map +1 -0
  109. package/dist/factories/ory/compositions/ory-identity-stack.js +432 -0
  110. package/dist/factories/ory/compositions/ory-identity-stack.js.map +1 -0
  111. package/dist/factories/ory/compositions/ory-platform-stack.d.ts +185 -0
  112. package/dist/factories/ory/compositions/ory-platform-stack.d.ts.map +1 -0
  113. package/dist/factories/ory/compositions/ory-platform-stack.js +536 -0
  114. package/dist/factories/ory/compositions/ory-platform-stack.js.map +1 -0
  115. package/dist/factories/ory/index.d.ts +5 -0
  116. package/dist/factories/ory/index.d.ts.map +1 -0
  117. package/dist/factories/ory/index.js +5 -0
  118. package/dist/factories/ory/index.js.map +1 -0
  119. package/dist/factories/ory/resources/helm.d.ts +20 -0
  120. package/dist/factories/ory/resources/helm.d.ts.map +1 -0
  121. package/dist/factories/ory/resources/helm.js +52 -0
  122. package/dist/factories/ory/resources/helm.js.map +1 -0
  123. package/dist/factories/ory/resources/index.d.ts +4 -0
  124. package/dist/factories/ory/resources/index.d.ts.map +1 -0
  125. package/dist/factories/ory/resources/index.js +4 -0
  126. package/dist/factories/ory/resources/index.js.map +1 -0
  127. package/dist/factories/ory/resources/oathkeeper-rule.d.ts +4 -0
  128. package/dist/factories/ory/resources/oathkeeper-rule.d.ts.map +1 -0
  129. package/dist/factories/ory/resources/oathkeeper-rule.js +19 -0
  130. package/dist/factories/ory/resources/oathkeeper-rule.js.map +1 -0
  131. package/dist/factories/ory/resources/oauth2-client.d.ts +4 -0
  132. package/dist/factories/ory/resources/oauth2-client.d.ts.map +1 -0
  133. package/dist/factories/ory/resources/oauth2-client.js +20 -0
  134. package/dist/factories/ory/resources/oauth2-client.js.map +1 -0
  135. package/dist/factories/ory/schemas/chart-values.d.ts +253 -0
  136. package/dist/factories/ory/schemas/chart-values.d.ts.map +1 -0
  137. package/dist/factories/ory/schemas/chart-values.js +10 -0
  138. package/dist/factories/ory/schemas/chart-values.js.map +1 -0
  139. package/dist/factories/ory/schemas/hydra-maester.d.ts +152 -0
  140. package/dist/factories/ory/schemas/hydra-maester.d.ts.map +1 -0
  141. package/dist/factories/ory/schemas/hydra-maester.js +3 -0
  142. package/dist/factories/ory/schemas/hydra-maester.js.map +1 -0
  143. package/dist/factories/ory/schemas/hydra.d.ts +115 -0
  144. package/dist/factories/ory/schemas/hydra.d.ts.map +1 -0
  145. package/dist/factories/ory/schemas/hydra.js +3 -0
  146. package/dist/factories/ory/schemas/hydra.js.map +1 -0
  147. package/dist/factories/ory/schemas/index.d.ts +20 -0
  148. package/dist/factories/ory/schemas/index.d.ts.map +1 -0
  149. package/dist/factories/ory/schemas/index.js +2 -0
  150. package/dist/factories/ory/schemas/index.js.map +1 -0
  151. package/dist/factories/ory/schemas/keto.d.ts +86 -0
  152. package/dist/factories/ory/schemas/keto.d.ts.map +1 -0
  153. package/dist/factories/ory/schemas/keto.js +3 -0
  154. package/dist/factories/ory/schemas/keto.js.map +1 -0
  155. package/dist/factories/ory/schemas/kratos.d.ts +124 -0
  156. package/dist/factories/ory/schemas/kratos.d.ts.map +1 -0
  157. package/dist/factories/ory/schemas/kratos.js +3 -0
  158. package/dist/factories/ory/schemas/kratos.js.map +1 -0
  159. package/dist/factories/ory/schemas/maester-crds.d.ts +9 -0
  160. package/dist/factories/ory/schemas/maester-crds.d.ts.map +1 -0
  161. package/dist/factories/ory/schemas/maester-crds.js +8 -0
  162. package/dist/factories/ory/schemas/maester-crds.js.map +1 -0
  163. package/dist/factories/ory/schemas/oathkeeper-maester.d.ts +80 -0
  164. package/dist/factories/ory/schemas/oathkeeper-maester.d.ts.map +1 -0
  165. package/dist/factories/ory/schemas/oathkeeper-maester.js +3 -0
  166. package/dist/factories/ory/schemas/oathkeeper-maester.js.map +1 -0
  167. package/dist/factories/ory/schemas/oathkeeper.d.ts +105 -0
  168. package/dist/factories/ory/schemas/oathkeeper.d.ts.map +1 -0
  169. package/dist/factories/ory/schemas/oathkeeper.js +3 -0
  170. package/dist/factories/ory/schemas/oathkeeper.js.map +1 -0
  171. package/dist/factories/ory/types.d.ts +4948 -0
  172. package/dist/factories/ory/types.d.ts.map +1 -0
  173. package/dist/factories/ory/types.js +581 -0
  174. package/dist/factories/ory/types.js.map +1 -0
  175. package/dist/factories/ory/utils/helm-values-mapper.d.ts +7 -0
  176. package/dist/factories/ory/utils/helm-values-mapper.d.ts.map +1 -0
  177. package/dist/factories/ory/utils/helm-values-mapper.js +534 -0
  178. package/dist/factories/ory/utils/helm-values-mapper.js.map +1 -0
  179. package/dist/factories/ory/utils/index.d.ts +2 -0
  180. package/dist/factories/ory/utils/index.d.ts.map +1 -0
  181. package/dist/factories/ory/utils/index.js +2 -0
  182. package/dist/factories/ory/utils/index.js.map +1 -0
  183. package/dist/factories/pebble/resources/helm.d.ts +2 -2
  184. package/dist/factories/pebble/resources/helm.d.ts.map +1 -1
  185. package/dist/factories/pebble/resources/helm.js.map +1 -1
  186. package/dist/factories/pebble/types.d.ts +2 -1
  187. package/dist/factories/pebble/types.d.ts.map +1 -1
  188. package/dist/factories/pebble/types.js.map +1 -1
  189. package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
  190. package/dist/factories/searxng/compositions/searxng-bootstrap.js +152 -42
  191. package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
  192. package/dist/factories/searxng/types.d.ts.map +1 -1
  193. package/dist/factories/searxng/types.js +9 -1
  194. package/dist/factories/searxng/types.js.map +1 -1
  195. package/dist/factories/simple/helm/index.d.ts +2 -1
  196. package/dist/factories/simple/helm/index.d.ts.map +1 -1
  197. package/dist/factories/simple/helm/index.js.map +1 -1
  198. package/dist/factories/valkey/types.d.ts +5 -1
  199. package/dist/factories/valkey/types.d.ts.map +1 -1
  200. package/dist/factories/valkey/types.js.map +1 -1
  201. package/dist/index.d.ts +1 -1
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +1 -1
  204. package/dist/index.js.map +1 -1
  205. package/dist/shared/brands.d.ts +7 -5
  206. package/dist/shared/brands.d.ts.map +1 -1
  207. package/dist/shared/brands.js +5 -3
  208. package/dist/shared/brands.js.map +1 -1
  209. package/package.json +5 -1
@@ -0,0 +1,4948 @@
1
+ /**
2
+ * Public Ory identity stack contracts.
3
+ *
4
+ * This module defines the TypeKro-facing configuration, status, error, and factory
5
+ * signatures for the graph-native Ory ecosystem. Implementation files must conform to
6
+ * these contracts while the exhaustive pinned upstream chart and CRD surfaces live in
7
+ * `schemas/`.
8
+ *
9
+ * Interface decision: model current pinned chart/CRD fields as explicit TypeScript
10
+ * contracts and expose `values` as the single chart passthrough surface. The
11
+ * rejected alternative was a thin wrapper around `Record<string, unknown>` values,
12
+ * which would not preserve the dependency-source safety and field-coverage
13
+ * guarantees required by the approved plan.
14
+ *
15
+ * Interface organization decision: keep source-of-truth chart and CRD contracts
16
+ * physically split by Ory subproduct while this module owns the cross-product stack
17
+ * config, status, factory, lifecycle, and error contracts for the combined stack API.
18
+ */
19
+ import type { TypeKroError } from '../../core/errors.js';
20
+ import type { Composable, DirectResourceFactory, Enhanced, KroResourceFactory, PublicFactoryOptions } from '../../core/types/index.js';
21
+ import type { TypeKroChartValue } from '../../core/types/common.js';
22
+ import type { HelmRepositorySpec, HelmRepositoryStatus } from '../helm/helm-repository.js';
23
+ import type { HelmReleaseSpec, HelmReleaseStatus } from '../helm/types.js';
24
+ import type { ResourceRequirements } from '../cert-manager/types.js';
25
+ import type { OAuth2ClientConfig, OAuth2ClientSpec, OAuth2ClientStatus, OryHydraMaesterChartValues } from './schemas/hydra-maester.js';
26
+ import type { OryHydraChartValues } from './schemas/hydra.js';
27
+ import type { OryKetoChartValues } from './schemas/keto.js';
28
+ import type { OryKratosChartValues } from './schemas/kratos.js';
29
+ import type { OryOathkeeperChartValues } from './schemas/oathkeeper.js';
30
+ import type { OryOathkeeperMaesterChartValues, OathkeeperRuleConfig, OathkeeperRuleSpec, OathkeeperRuleStatus } from './schemas/oathkeeper-maester.js';
31
+ export type * from './schemas/index.js';
32
+ /** Default official Ory Helm repository URL used by all Ory chart wrappers. */
33
+ export type OryDefaultHelmRepositoryUrl = 'https://k8s.ory.sh/helm/charts';
34
+ /** Default pinned chart version covered by the Ory chart value contracts. */
35
+ export type OryDefaultChartVersion = '0.62.0';
36
+ /** Stack phase exposed through `OryIdentityStackStatus`. */
37
+ export type OryIdentityStackPhase = 'Ready' | 'Installing';
38
+ /** Platform phase exposed through `OryPlatformStackStatus`. */
39
+ export type OryPlatformStackPhase = 'Ready' | 'Installing';
40
+ /** Supported Ory service chart names. */
41
+ export type OryServiceName = 'hydra' | 'kratos' | 'keto' | 'oathkeeper';
42
+ /** Physical subproduct contract modules required by the approved interface split. */
43
+ export type OrySubproductSchemaModule = 'hydra' | 'kratos' | 'keto' | 'oathkeeper' | 'hydra-maester' | 'oathkeeper-maester';
44
+ /** Public source file map for the required physical Ory subproduct schema split. */
45
+ export interface OrySubproductSchemaFiles {
46
+ hydra: 'schemas/hydra.ts';
47
+ kratos: 'schemas/kratos.ts';
48
+ keto: 'schemas/keto.ts';
49
+ oathkeeper: 'schemas/oathkeeper.ts';
50
+ hydraMaester: 'schemas/hydra-maester.ts';
51
+ oathkeeperMaester: 'schemas/oathkeeper-maester.ts';
52
+ }
53
+ /** Supported Ory Maester controller names. */
54
+ export type OryMaesterName = 'hydra' | 'oathkeeper';
55
+ /** Error codes thrown by Ory validation and values-mapping implementation. */
56
+ export type OryConfigurationErrorCode = 'ORY_MISSING_DSN' | 'ORY_MISSING_SECRET' | 'ORY_UNRESOLVED_DEPENDENCY_SOURCE' | 'ORY_UNSAFE_PRODUCTION_VALUE' | 'ORY_INVALID_HELM_VALUES' | 'ORY_MAESTER_CONFIG_INVALID';
57
+ /** Error codes for Ory resource factory and lifecycle operations. */
58
+ export type OryOperationErrorCode = OryConfigurationErrorCode | 'ORY_RESOURCE_NOT_FOUND' | 'ORY_RESOURCE_APPLY_FAILED' | 'ORY_RESOURCE_DELETE_FAILED' | 'ORY_RESOURCE_READ_FAILED' | 'ORY_RESOURCE_RECONCILE_FAILED';
59
+ /** Kubernetes Secret key reference used for DSNs and sensitive Ory config. */
60
+ export interface OrySecretKeyRef {
61
+ /** Name of the Kubernetes Secret in the Ory stack namespace. */
62
+ name: string;
63
+ /** Key inside the Kubernetes Secret. */
64
+ key: string;
65
+ }
66
+ /** Kubernetes Secret-backed source for sensitive values. */
67
+ export interface OrySecretKeyRefSource {
68
+ /** Existing or graph-created Kubernetes Secret key reference. */
69
+ secretRef: OrySecretKeyRef;
70
+ }
71
+ /** Explicit literal source for intentional non-secret or deterministic local config. */
72
+ export interface OryLiteralValueSource {
73
+ /** Literal value supplied by the user. Treat as sensitive when used for secrets. */
74
+ value: string;
75
+ }
76
+ /** Explicit source for Ory DSNs, secret material, URLs, and JWK payloads. */
77
+ export type OryValueSource = OrySecretKeyRefSource | OryLiteralValueSource;
78
+ /** Source mode for graph-managed or externally supplied Ory dependencies. */
79
+ export type OryDependencySourceMode = 'external' | 'managed';
80
+ /** External dependency source supplied by the user or platform. */
81
+ export interface OryExternalDependencySource {
82
+ /** Marks this dependency as externally supplied. */
83
+ mode: 'external';
84
+ /** Optional externally supplied value or Secret reference. */
85
+ value?: OryValueSource;
86
+ /** Optional externally supplied URL. */
87
+ url?: string;
88
+ /** Optional externally supplied Kubernetes resource name. */
89
+ resourceName?: string;
90
+ }
91
+ /** Graph-managed local/internal dependency created by `oryPlatformStack`. */
92
+ export interface OryManagedDependencySource {
93
+ /** Marks this dependency as created by the TypeKro graph. */
94
+ mode: 'managed';
95
+ /** Stable Kubernetes resource name override for the managed dependency. */
96
+ resourceName?: string;
97
+ /** Runtime URL produced by the managed dependency, when it differs from the resource name. */
98
+ url?: string;
99
+ /** Namespace override when the managed dependency must live outside the Ory namespace. */
100
+ namespace?: string;
101
+ /** Stable Secret name override when the dependency produces Secret data. */
102
+ secretName?: string;
103
+ /** Secret key used when the dependency produces one selected value. */
104
+ secretKey?: string;
105
+ }
106
+ /** External or graph-managed dependency source. */
107
+ export type OryDependencySource = OryExternalDependencySource | OryManagedDependencySource;
108
+ /** Database dependency source for Hydra, Kratos, or Keto. */
109
+ export interface OryDatabaseDependencySource {
110
+ /** External DSN source or graph-managed database source. */
111
+ dsn: OryDependencySource;
112
+ /** Optional database name used by managed CNPG resources. */
113
+ databaseName?: string;
114
+ }
115
+ /** URL dependency source used for routes, UIs, and upstream services. */
116
+ export interface OryUrlDependencySource {
117
+ /** External URL or graph-managed route/upstream source. */
118
+ url: OryDependencySource;
119
+ }
120
+ /** Service-level Ory dependency source configuration. */
121
+ export interface OryDependencySourceConfig {
122
+ /** Hydra database, service secret, and UI URL sources. */
123
+ hydra?: {
124
+ database?: OryDatabaseDependencySource;
125
+ systemSecret?: OryDependencySource;
126
+ issuerUrl?: OryUrlDependencySource;
127
+ loginUrl?: OryUrlDependencySource;
128
+ consentUrl?: OryUrlDependencySource;
129
+ logoutUrl?: OryUrlDependencySource;
130
+ };
131
+ /** Kratos database, secrets, browser URLs, and courier sources. */
132
+ kratos?: {
133
+ database?: OryDatabaseDependencySource;
134
+ publicBaseUrl?: OryUrlDependencySource;
135
+ browserBaseUrl?: OryUrlDependencySource;
136
+ secrets?: Record<string, OryDependencySource>;
137
+ courier?: OryDependencySource;
138
+ };
139
+ /** Keto database source. */
140
+ keto?: {
141
+ database?: OryDatabaseDependencySource;
142
+ };
143
+ /** Oathkeeper route, upstream, and mutator secret sources. */
144
+ oathkeeper?: {
145
+ proxyRoute?: OryUrlDependencySource;
146
+ apiRoute?: OryUrlDependencySource;
147
+ upstream?: OryUrlDependencySource;
148
+ mutatorIdTokenJwks?: OryDependencySource;
149
+ };
150
+ /** Optional ACK/SES courier source used when Kratos email flows are enabled. */
151
+ courier?: OryDependencySource;
152
+ }
153
+ /** Shared global chart convenience config applied before service-specific values. */
154
+ export interface OryGlobalConfig {
155
+ /** Optional global image registry override. */
156
+ imageRegistry?: string;
157
+ /** Optional image pull secret names. */
158
+ imagePullSecrets?: string[];
159
+ }
160
+ /** Shared ServiceMonitor convenience config. */
161
+ export interface OryServiceMonitorConfig {
162
+ /** Enables chart ServiceMonitor resources when supported by the service chart. */
163
+ enabled?: boolean;
164
+ }
165
+ /** Shared high-level fields common to Ory service configs. */
166
+ export interface OryServiceConfigBase<TValues extends object> {
167
+ /** Number of service replicas. */
168
+ replicaCount?: number;
169
+ /** Pod resource requests and limits. */
170
+ resources?: ResourceRequirements;
171
+ /** Prometheus ServiceMonitor convenience toggle. */
172
+ serviceMonitor?: OryServiceMonitorConfig;
173
+ /**
174
+ * Upstream chart values for this service. This is the primary passthrough
175
+ * surface and accepts TypeKro refs/CEL/templates recursively.
176
+ */
177
+ values?: TypeKroChartValue<TValues>;
178
+ }
179
+ /** Hydra high-level config plus exhaustive pinned chart values. */
180
+ export interface OryHydraConfig extends OryServiceConfigBase<OryHydraChartValues> {
181
+ /** Explicit Hydra SQL DSN source. */
182
+ dsn?: OryValueSource;
183
+ /** Public issuer URL advertised by Hydra. */
184
+ issuerUrl?: string;
185
+ /** Login UI URL configured in Hydra. */
186
+ loginUrl?: string;
187
+ /** Consent UI URL configured in Hydra. */
188
+ consentUrl?: string;
189
+ /** Logout UI URL configured in Hydra. */
190
+ logoutUrl?: string;
191
+ /** Hydra system secret source. */
192
+ systemSecret?: OryValueSource;
193
+ }
194
+ /** Kratos high-level config plus exhaustive pinned chart values. */
195
+ export interface OryKratosConfig extends OryServiceConfigBase<OryKratosChartValues> {
196
+ /** Explicit Kratos SQL DSN source. */
197
+ dsn?: OryValueSource;
198
+ /** Public base URL for Kratos self-service flows. */
199
+ publicBaseUrl?: string;
200
+ /** Browser base URL for Kratos self-service flows. */
201
+ browserBaseUrl?: string;
202
+ /** Default identity schema document mounted through Kratos chart values. */
203
+ identitySchema?: string;
204
+ /** Courier config passthrough; upstream chart accepts provider-specific objects. */
205
+ courier?: Record<string, unknown>;
206
+ /** Explicit Kratos secret sources keyed by chart/config secret name. */
207
+ secrets?: Record<string, OryValueSource>;
208
+ }
209
+ /** Keto namespace declaration used by high-level authorization config. */
210
+ export interface OryKetoNamespaceConfig {
211
+ /** Numeric namespace id used by Keto relation tuples. */
212
+ id: number;
213
+ /** Human-readable Keto namespace name. */
214
+ name: string;
215
+ }
216
+ /** Keto high-level config plus exhaustive pinned chart values. */
217
+ export interface OryKetoConfig extends OryServiceConfigBase<OryKetoChartValues> {
218
+ /** Explicit Keto SQL DSN source. */
219
+ dsn?: OryValueSource;
220
+ /** Keto namespace declarations written to chart config. */
221
+ namespaces?: OryKetoNamespaceConfig[];
222
+ }
223
+ /** Oathkeeper high-level config plus exhaustive pinned chart values. */
224
+ export interface OryOathkeeperConfig extends OryServiceConfigBase<OryOathkeeperChartValues> {
225
+ /** Whether Oathkeeper managed access rules are enabled in chart values. */
226
+ managedAccessRules?: boolean;
227
+ /** JWK source used by the Oathkeeper ID token mutator. */
228
+ mutatorIdTokenJwks?: OryValueSource;
229
+ }
230
+ /** Hydra Maester high-level controller settings. */
231
+ export interface OryHydraMaesterConfig {
232
+ /** Enables Hydra Maester and its OAuth2Client CRD support. Defaults to true. */
233
+ enabled?: boolean;
234
+ /** Limits watches to the stack namespace. Defaults to true in the high-level stack. */
235
+ singleNamespaceMode?: boolean;
236
+ /** Explicit namespaces watched when not using single-namespace mode. */
237
+ enabledNamespaces?: string[];
238
+ /** Hydra Maester ServiceMonitor convenience toggle. */
239
+ serviceMonitor?: OryServiceMonitorConfig;
240
+ }
241
+ /** Oathkeeper Maester high-level controller settings. */
242
+ export interface OryOathkeeperMaesterConfig {
243
+ /** Enables Oathkeeper Maester and its Rule CRD support. Defaults to true. */
244
+ enabled?: boolean;
245
+ /** Limits watches to the stack namespace. Defaults to true in the high-level stack. */
246
+ singleNamespaceMode?: boolean;
247
+ /** Namespace containing the generated Oathkeeper rules ConfigMap. */
248
+ rulesConfigmapNamespace?: string;
249
+ /** Rules filename written by Oathkeeper Maester. */
250
+ rulesFileName?: string;
251
+ }
252
+ /** Combined Maester config for high-level stack wiring. */
253
+ export interface OryMaesterConfig {
254
+ /** Hydra Maester high-level settings. */
255
+ hydra?: OryHydraMaesterConfig;
256
+ /** Oathkeeper Maester high-level settings. */
257
+ oathkeeper?: OryOathkeeperMaesterConfig;
258
+ /** Exhaustive pinned Hydra Maester chart values. */
259
+ hydraValues?: OryHydraMaesterChartValues;
260
+ /** Exhaustive pinned Oathkeeper Maester chart values. */
261
+ oathkeeperValues?: OryOathkeeperMaesterChartValues;
262
+ }
263
+ /** Optional starter Maester resources created with the identity stack. */
264
+ export interface OryIdentityStackStarterResources {
265
+ /** OAuth2 clients reconciled by Hydra Maester. */
266
+ oauth2Clients?: OAuth2ClientConfig[];
267
+ /** Oathkeeper rules reconciled by Oathkeeper Maester. */
268
+ oathkeeperRules?: OathkeeperRuleConfig[];
269
+ }
270
+ /** High-level Ory identity stack config. */
271
+ export interface OryIdentityStackConfig {
272
+ /** Stable stack name used for release names, labels, and instance identity. */
273
+ name: string;
274
+ /** Target namespace for Ory services and Maester resources. */
275
+ namespace?: string;
276
+ /** Ory chart version. Defaults to the pinned `0.62.0` contract. */
277
+ version?: string;
278
+ /** Explicit external or graph-managed dependency sources. */
279
+ dependencySources?: OryDependencySourceConfig;
280
+ /** Whether Ory resources are shared infrastructure during deletion. */
281
+ shared?: boolean;
282
+ /** Global image/chart convenience config. */
283
+ global?: OryGlobalConfig;
284
+ /** Hydra service config. */
285
+ hydra?: OryHydraConfig;
286
+ /** Kratos service config. */
287
+ kratos?: OryKratosConfig;
288
+ /** Keto service config. */
289
+ keto?: OryKetoConfig;
290
+ /** Oathkeeper service config. */
291
+ oathkeeper?: OryOathkeeperConfig;
292
+ /** Maester controller config. */
293
+ maester?: OryMaesterConfig;
294
+ /** Optional representative Maester resources to create with the stack. */
295
+ resources?: OryIdentityStackStarterResources;
296
+ }
297
+ /** Managed local infrastructure toggles for `oryPlatformStack`. */
298
+ export interface OryManagedPlatformConfig {
299
+ /** Enables CNPG-backed managed PostgreSQL resources when database sources are omitted. */
300
+ databases?: boolean;
301
+ /** Enables graph-created Kubernetes Secrets when secret sources are omitted. */
302
+ secrets?: boolean;
303
+ /** Enables local APISIX routing when route sources are omitted. */
304
+ routes?: boolean;
305
+ /** Enables a sample upstream webapp for Oathkeeper proxy validation. */
306
+ sampleUpstream?: boolean;
307
+ /** Enables optional ACK/SES courier resources when explicitly configured. */
308
+ courierSes?: boolean;
309
+ }
310
+ /** Locally runnable identity platform config that composes infrastructure plus Ory. */
311
+ export interface OryPlatformStackConfig extends OryIdentityStackConfig {
312
+ /** Managed local defaults used when explicit dependency sources are omitted. */
313
+ managed?: OryManagedPlatformConfig;
314
+ }
315
+ /** Component readiness booleans exposed by stack status. */
316
+ export interface OryIdentityStackComponentStatus {
317
+ hydra: boolean;
318
+ kratos: boolean;
319
+ keto: boolean;
320
+ oathkeeper: boolean;
321
+ }
322
+ /** Maester readiness booleans exposed by stack status. */
323
+ export interface OryIdentityStackMaesterStatus {
324
+ hydra: boolean;
325
+ oathkeeper: boolean;
326
+ }
327
+ /** Structured service endpoint exposed by Ory stack statuses. */
328
+ export interface OryEndpointStatus {
329
+ /** URL clients should use for this endpoint. */
330
+ url: string;
331
+ /** URL scheme used by the endpoint. */
332
+ scheme: string;
333
+ /** DNS hostname or route host for the endpoint. */
334
+ host: string;
335
+ /** Cluster-assigned Service IP when this endpoint is backed by a Service. */
336
+ clusterIP?: string;
337
+ /** TCP port exposed by the endpoint when observed from the backing Service. */
338
+ port?: number;
339
+ /** Kubernetes Service name when this endpoint resolves to an in-cluster service. */
340
+ serviceName?: string;
341
+ /** Kubernetes namespace for the service endpoint when applicable. */
342
+ namespace?: string;
343
+ }
344
+ /** Service endpoints exposed by stack status. */
345
+ export interface OryIdentityStackEndpointStatus {
346
+ hydraPublic: OryEndpointStatus;
347
+ hydraAdmin: OryEndpointStatus;
348
+ kratosPublic: OryEndpointStatus;
349
+ kratosAdmin: OryEndpointStatus;
350
+ ketoRead: OryEndpointStatus;
351
+ ketoWrite: OryEndpointStatus;
352
+ oathkeeperProxy: OryEndpointStatus;
353
+ oathkeeperApi: OryEndpointStatus;
354
+ }
355
+ /** Observed status returned by the `oryIdentityStack` composition. */
356
+ export interface OryIdentityStackStatus {
357
+ /** Overall readiness derived from all Ory HelmRelease Ready conditions. */
358
+ ready: boolean;
359
+ /** Stack installation phase. */
360
+ phase: OryIdentityStackPhase;
361
+ /** Per-service readiness derived from HelmRelease status. */
362
+ components: OryIdentityStackComponentStatus;
363
+ /** Per-Maester readiness derived from relevant HelmRelease status. */
364
+ maester: OryIdentityStackMaesterStatus;
365
+ /** Stable in-cluster endpoint hostnames for installed Ory services. */
366
+ endpoints: OryIdentityStackEndpointStatus;
367
+ /** Deployed chart version when known. */
368
+ version?: string;
369
+ }
370
+ /** Infrastructure readiness surfaced by `oryPlatformStack`. */
371
+ export interface OryPlatformInfrastructureStatus {
372
+ databases: boolean;
373
+ secrets: boolean;
374
+ routes: boolean;
375
+ upstream: boolean;
376
+ courier: boolean;
377
+ }
378
+ /** Resolved source mode for each platform dependency group. */
379
+ export interface OryPlatformDependencyResolutionStatus {
380
+ hydraDatabase: OryDependencySourceMode;
381
+ kratosDatabase: OryDependencySourceMode;
382
+ ketoDatabase: OryDependencySourceMode;
383
+ secrets: OryDependencySourceMode;
384
+ routes: OryDependencySourceMode;
385
+ upstream: OryDependencySourceMode;
386
+ courier: OryDependencySourceMode;
387
+ }
388
+ /** Observed status returned by the `oryPlatformStack` composition. */
389
+ export interface OryPlatformStackStatus {
390
+ /** Overall readiness derived from infrastructure, Ory, Maester, and route readiness. */
391
+ ready: boolean;
392
+ /** Platform installation phase. */
393
+ phase: OryPlatformStackPhase;
394
+ /** Managed/external dependency readiness. */
395
+ infrastructure: OryPlatformInfrastructureStatus;
396
+ /** Resolved external-or-managed source mode for each dependency group. */
397
+ dependencies: OryPlatformDependencyResolutionStatus;
398
+ /** Nested Ory identity stack readiness. */
399
+ ory: OryIdentityStackStatus;
400
+ /** Resolved endpoints for graph-managed or external routes. */
401
+ endpoints: OryIdentityStackEndpointStatus;
402
+ }
403
+ /** Chart values produced by the Ory values mapper. */
404
+ export interface OryMappedHelmValues {
405
+ hydra: OryHydraChartValues;
406
+ kratos: OryKratosChartValues;
407
+ keto: OryKetoChartValues;
408
+ oathkeeper: OryOathkeeperChartValues;
409
+ hydraMaester: OryHydraMaesterChartValues;
410
+ oathkeeperMaester: OryOathkeeperMaesterChartValues;
411
+ }
412
+ /** Structured validation issue produced before throwing an Ory configuration error. */
413
+ export interface OryConfigurationIssue {
414
+ /** Stable machine-readable issue code. */
415
+ code: OryConfigurationErrorCode;
416
+ /** Config path where the issue was found. */
417
+ path: string;
418
+ /** Human-readable safe message that does not include secret values. */
419
+ message: string;
420
+ /** Affected service or Maester component, when applicable. */
421
+ component?: OryServiceName | OryMaesterName;
422
+ }
423
+ /** Structured context carried by Ory TypeKro errors. */
424
+ export interface OryConfigurationErrorContext extends Record<string, unknown> {
425
+ /** Selected dependency sources at the time of validation. */
426
+ dependencySources?: OryDependencySourceConfig;
427
+ /** All validation issues that caused the failure. */
428
+ issues: OryConfigurationIssue[];
429
+ }
430
+ /** Typed thrown error contract for Ory validation failures. */
431
+ export interface OryConfigurationError extends TypeKroError {
432
+ readonly name: 'OryConfigurationError';
433
+ readonly code: OryConfigurationErrorCode;
434
+ readonly context: OryConfigurationErrorContext;
435
+ }
436
+ /** Structured safe error returned by explicit Ory lifecycle operation contracts. */
437
+ export interface OryOperationError {
438
+ /** Stable machine-readable operation error code. */
439
+ code: OryOperationErrorCode;
440
+ /** Safe diagnostic message that excludes DSNs, secrets, and tokens. */
441
+ message: string;
442
+ /** Affected service or Maester component, when applicable. */
443
+ component?: OryServiceName | OryMaesterName;
444
+ /** Kubernetes resource name, when applicable. */
445
+ resourceName?: string;
446
+ /** Kubernetes namespace, when applicable. */
447
+ namespace?: string;
448
+ /** Config or status path that produced the error, when known. */
449
+ path?: string;
450
+ }
451
+ /** Successful explicit Ory operation result. */
452
+ export interface OryOperationSuccess<T> {
453
+ ok: true;
454
+ value: T;
455
+ }
456
+ /** Failed explicit Ory operation result with structured safe error details. */
457
+ export interface OryOperationFailure {
458
+ ok: false;
459
+ error: OryOperationError;
460
+ }
461
+ /** Result type used by explicit Ory lifecycle operation contracts. */
462
+ export type OryOperationResult<T> = OryOperationSuccess<T> | OryOperationFailure;
463
+ /** Public resource factory signature with an explicit typed error boundary. */
464
+ export type OryResourceFactorySignature<TConfig, TSpec, TStatus> = {
465
+ (config: Composable<TConfig>): Enhanced<TSpec, TStatus>;
466
+ /** Structured errors thrown or surfaced by this factory use this shape. */
467
+ readonly errorType?: OryOperationError;
468
+ };
469
+ /** Public utility signature with an explicit typed error boundary. */
470
+ export type OryUtilitySignature<TInput, TOutput, TError extends TypeKroError | OryOperationError> = {
471
+ (input: TInput): TOutput;
472
+ /** Structured errors thrown or surfaced by this utility use this shape. */
473
+ readonly errorType?: TError;
474
+ };
475
+ /** Direct resource factory with explicit Ory operation error shape. */
476
+ export type OryDirectFactoryWithErrors<TSpec extends object, TStatus extends object> = DirectResourceFactory<TSpec, TStatus> & {
477
+ readonly errorType?: OryOperationError;
478
+ };
479
+ /** KRO resource factory with explicit Ory operation error shape. */
480
+ export type OryKroFactoryWithErrors<TSpec extends object, TStatus extends object> = KroResourceFactory<TSpec, TStatus> & {
481
+ readonly errorType?: OryOperationError;
482
+ };
483
+ /** Public Ory factory and composition error boundary map. */
484
+ export interface OryFactoryErrorBoundary {
485
+ oryHelmRepository: OryOperationError;
486
+ hydraHelmRelease: OryOperationError;
487
+ kratosHelmRelease: OryOperationError;
488
+ ketoHelmRelease: OryOperationError;
489
+ oathkeeperHelmRelease: OryOperationError;
490
+ oauth2Client: OryOperationError;
491
+ oathkeeperRule: OryOperationError;
492
+ oryIdentityStack: OryOperationError;
493
+ oryPlatformStack: OryOperationError;
494
+ helmValuesMapper: OryOperationError;
495
+ configValidator: OryOperationError;
496
+ }
497
+ /** Non-throwing validation result used by tests and mapper internals. */
498
+ export interface OryConfigValidationResult {
499
+ valid: boolean;
500
+ issues: OryConfigurationIssue[];
501
+ }
502
+ /** Operational warning from Ory Helm values generation. */
503
+ export interface OryHelmValueWarning {
504
+ /** Config path that produced the warning. */
505
+ path: string;
506
+ /** Human-readable safe message that does not include secret values. */
507
+ message: string;
508
+ /** Affected service or Maester component, when applicable. */
509
+ component?: OryServiceName | OryMaesterName;
510
+ }
511
+ /** Operational event categories emitted by Ory implementation diagnostics. */
512
+ export type OryOperationalEventType = 'helmRepositoryNotReady' | 'helmReleaseNotReady' | 'dependencySourceValidationFailed' | 'maesterCrdMissing' | 'oauth2ClientReconciliationFailed' | 'oathkeeperRuleValidationFailed';
513
+ /** Health check names exposed by Ory operational status and tests. */
514
+ export type OryHealthCheckName = 'helmRepositoryReady' | 'hydraReady' | 'kratosReady' | 'ketoReady' | 'oathkeeperReady' | 'hydraMaesterReady' | 'oathkeeperMaesterReady' | 'oauth2ClientReconciled' | 'oathkeeperRuleValidated';
515
+ /** Metrics signal names exposed by Ory chart and Maester monitoring config. */
516
+ export type OryMetricSignalName = 'serviceMonitorEnabled' | 'serviceMonitorDisabled' | 'metricsServiceConfigured' | 'maesterMetricsConfigured';
517
+ /** Health check contract used by tests and operational diagnostics. */
518
+ export interface OryHealthCheckStatus {
519
+ name: OryHealthCheckName;
520
+ component: OryServiceName | OryMaesterName;
521
+ healthy: boolean;
522
+ message?: string;
523
+ resourceName?: string;
524
+ namespace?: string;
525
+ }
526
+ /** Metrics configuration signal emitted by values mapping and operational diagnostics. */
527
+ export interface OryMetricSignal {
528
+ name: OryMetricSignalName;
529
+ component: OryServiceName | OryMaesterName;
530
+ enabled: boolean;
531
+ endpoint?: string;
532
+ labels?: Record<string, string>;
533
+ }
534
+ /** Safe structured log event contract; secret values and DSNs must never be included. */
535
+ export interface OryOperationalLogEvent {
536
+ /** Machine-readable operational event type. */
537
+ type: OryOperationalEventType;
538
+ /** Affected Ory service or Maester component. */
539
+ component: OryServiceName | OryMaesterName;
540
+ /** Kubernetes resource name, when applicable. */
541
+ resourceName?: string;
542
+ /** Kubernetes namespace, when applicable. */
543
+ namespace?: string;
544
+ /** Safe diagnostic message that excludes DSNs, secrets, and tokens. */
545
+ message: string;
546
+ }
547
+ /** Config for creating the official Ory HelmRepository. */
548
+ export interface OryHelmRepositoryConfig {
549
+ /** HelmRepository name. */
550
+ name?: string;
551
+ /** HelmRepository namespace. Defaults to Flux namespace. */
552
+ namespace?: string;
553
+ /** Repository URL. Defaults to the official Ory Helm repository. */
554
+ url?: string;
555
+ /** Flux reconcile interval. */
556
+ interval?: string;
557
+ /** TypeKro composition resource id. */
558
+ id?: string;
559
+ }
560
+ /** Shared config for Ory service HelmRelease wrappers. */
561
+ export interface OryHelmReleaseConfigBase<TValues extends object> {
562
+ /** HelmRelease name. */
563
+ name: string;
564
+ /** HelmRelease namespace and chart target namespace. */
565
+ namespace?: string;
566
+ /** Name of the Ory HelmRepository sourceRef. */
567
+ repositoryName?: string;
568
+ /** Namespace of the Ory HelmRepository sourceRef. */
569
+ repositoryNamespace?: string;
570
+ /** Chart version. Defaults to pinned `0.62.0`. */
571
+ version?: string;
572
+ /** Flux reconcile interval. */
573
+ interval?: string;
574
+ /** Graph-aware chart values serialized recursively by TypeKro. */
575
+ values?: TypeKroChartValue<TValues>;
576
+ /** TypeKro composition resource id. */
577
+ id?: string;
578
+ }
579
+ /** Composition-friendly Ory HelmRelease config that does not over-wrap `values`. */
580
+ export type OryHelmReleaseConfigInput<TValues extends object> = Composable<Omit<OryHelmReleaseConfigBase<TValues>, 'values'>> & {
581
+ /** Graph-aware chart values serialized recursively by TypeKro. */
582
+ values?: TypeKroChartValue<TValues>;
583
+ };
584
+ /** Hydra HelmRelease wrapper config. */
585
+ export interface OryHydraHelmReleaseConfig extends OryHelmReleaseConfigBase<OryHydraChartValues> {
586
+ }
587
+ /** Kratos HelmRelease wrapper config. */
588
+ export interface OryKratosHelmReleaseConfig extends OryHelmReleaseConfigBase<OryKratosChartValues> {
589
+ }
590
+ /** Keto HelmRelease wrapper config. */
591
+ export interface OryKetoHelmReleaseConfig extends OryHelmReleaseConfigBase<OryKetoChartValues> {
592
+ }
593
+ /** Oathkeeper HelmRelease wrapper config. */
594
+ export interface OryOathkeeperHelmReleaseConfig extends OryHelmReleaseConfigBase<OryOathkeeperChartValues> {
595
+ }
596
+ /** Public factory signature for creating the Ory HelmRepository. */
597
+ export type OryHelmRepositoryFactory = OryResourceFactorySignature<OryHelmRepositoryConfig, HelmRepositorySpec, HelmRepositoryStatus>;
598
+ /** Public factory signature for creating the Hydra HelmRelease. */
599
+ export type OryHydraHelmReleaseFactory = {
600
+ (config: OryHelmReleaseConfigInput<OryHydraChartValues>): Enhanced<HelmReleaseSpec<OryHydraChartValues>, HelmReleaseStatus>;
601
+ readonly errorType?: OryOperationError;
602
+ };
603
+ /** Public factory signature for creating the Kratos HelmRelease. */
604
+ export type OryKratosHelmReleaseFactory = {
605
+ (config: OryHelmReleaseConfigInput<OryKratosChartValues>): Enhanced<HelmReleaseSpec<OryKratosChartValues>, HelmReleaseStatus>;
606
+ readonly errorType?: OryOperationError;
607
+ };
608
+ /** Public factory signature for creating the Keto HelmRelease. */
609
+ export type OryKetoHelmReleaseFactory = {
610
+ (config: OryHelmReleaseConfigInput<OryKetoChartValues>): Enhanced<HelmReleaseSpec<OryKetoChartValues>, HelmReleaseStatus>;
611
+ readonly errorType?: OryOperationError;
612
+ };
613
+ /** Public factory signature for creating the Oathkeeper HelmRelease. */
614
+ export type OryOathkeeperHelmReleaseFactory = {
615
+ (config: OryHelmReleaseConfigInput<OryOathkeeperChartValues>): Enhanced<HelmReleaseSpec<OryOathkeeperChartValues>, HelmReleaseStatus>;
616
+ readonly errorType?: OryOperationError;
617
+ };
618
+ /** Public factory signature for Hydra Maester `OAuth2Client` resources. */
619
+ export type OryOAuth2ClientFactory = OryResourceFactorySignature<OAuth2ClientConfig, OAuth2ClientSpec, OAuth2ClientStatus>;
620
+ /** Public factory signature for Oathkeeper Maester `Rule` resources. */
621
+ export type OryOathkeeperRuleFactory = OryResourceFactorySignature<OathkeeperRuleConfig, OathkeeperRuleSpec, OathkeeperRuleStatus>;
622
+ /** Public mapper signature for deriving chart values from stack config. */
623
+ export type OryHelmValuesMapper = OryUtilitySignature<OryIdentityStackConfig, OryMappedHelmValues, OryConfigurationError>;
624
+ /** Public validation signature used before Ory values are emitted. */
625
+ export type OryConfigValidator = OryUtilitySignature<OryIdentityStackConfig, OryConfigValidationResult, OryConfigurationError>;
626
+ /** Direct-mode stack factory. Deploy/read/delete operations come from TypeKro ResourceFactory. */
627
+ export type OryIdentityStackDirectFactory = OryDirectFactoryWithErrors<OryIdentityStackConfig, OryIdentityStackStatus>;
628
+ /** KRO-mode stack factory. Deploy/read/delete operations come from TypeKro ResourceFactory. */
629
+ export type OryIdentityStackKroFactory = OryKroFactoryWithErrors<OryIdentityStackConfig, OryIdentityStackStatus>;
630
+ /** Public composition surface for `oryIdentityStack`. */
631
+ export interface OryIdentityStackComposition {
632
+ factory(mode: 'direct', options?: PublicFactoryOptions): OryIdentityStackDirectFactory;
633
+ factory(mode: 'kro', options?: PublicFactoryOptions): OryIdentityStackKroFactory;
634
+ }
635
+ /** Direct-mode platform factory. Deploy/read/delete operations come from TypeKro ResourceFactory. */
636
+ export type OryPlatformStackDirectFactory = OryDirectFactoryWithErrors<OryPlatformStackConfig, OryPlatformStackStatus>;
637
+ /** KRO-mode platform factory. Deploy/read/delete operations come from TypeKro ResourceFactory. */
638
+ export type OryPlatformStackKroFactory = OryKroFactoryWithErrors<OryPlatformStackConfig, OryPlatformStackStatus>;
639
+ /** Public composition surface for `oryPlatformStack`. */
640
+ export interface OryPlatformStackComposition {
641
+ factory(mode: 'direct', options?: PublicFactoryOptions): OryPlatformStackDirectFactory;
642
+ factory(mode: 'kro', options?: PublicFactoryOptions): OryPlatformStackKroFactory;
643
+ }
644
+ /** Product-local contract bundle for Hydra service and Hydra Maester surfaces. */
645
+ export interface OryHydraContracts {
646
+ serviceConfig: OryHydraConfig;
647
+ chartValues: OryHydraChartValues;
648
+ helmReleaseConfig: OryHydraHelmReleaseConfig;
649
+ helmReleaseFactory: OryHydraHelmReleaseFactory;
650
+ maesterConfig: OryHydraMaesterConfig;
651
+ maesterChartValues: OryHydraMaesterChartValues;
652
+ oauth2ClientConfig: OAuth2ClientConfig;
653
+ oauth2ClientSpec: OAuth2ClientSpec;
654
+ oauth2ClientStatus: OAuth2ClientStatus;
655
+ oauth2ClientFactory: OryOAuth2ClientFactory;
656
+ }
657
+ /** Product-local contract bundle for Kratos service surfaces. */
658
+ export interface OryKratosContracts {
659
+ serviceConfig: OryKratosConfig;
660
+ chartValues: OryKratosChartValues;
661
+ helmReleaseConfig: OryKratosHelmReleaseConfig;
662
+ helmReleaseFactory: OryKratosHelmReleaseFactory;
663
+ }
664
+ /** Product-local contract bundle for Keto service surfaces. */
665
+ export interface OryKetoContracts {
666
+ serviceConfig: OryKetoConfig;
667
+ namespaceConfig: OryKetoNamespaceConfig;
668
+ chartValues: OryKetoChartValues;
669
+ helmReleaseConfig: OryKetoHelmReleaseConfig;
670
+ helmReleaseFactory: OryKetoHelmReleaseFactory;
671
+ }
672
+ /** Product-local contract bundle for Oathkeeper service and Oathkeeper Maester surfaces. */
673
+ export interface OryOathkeeperContracts {
674
+ serviceConfig: OryOathkeeperConfig;
675
+ chartValues: OryOathkeeperChartValues;
676
+ helmReleaseConfig: OryOathkeeperHelmReleaseConfig;
677
+ helmReleaseFactory: OryOathkeeperHelmReleaseFactory;
678
+ maesterConfig: OryOathkeeperMaesterConfig;
679
+ maesterChartValues: OryOathkeeperMaesterChartValues;
680
+ ruleConfig: OathkeeperRuleConfig;
681
+ ruleSpec: OathkeeperRuleSpec;
682
+ ruleStatus: OathkeeperRuleStatus;
683
+ ruleFactory: OryOathkeeperRuleFactory;
684
+ }
685
+ /** Top-level contract index grouped by Ory subproduct. */
686
+ export interface OrySubproductContracts {
687
+ hydra: OryHydraContracts;
688
+ kratos: OryKratosContracts;
689
+ keto: OryKetoContracts;
690
+ oathkeeper: OryOathkeeperContracts;
691
+ }
692
+ /** Create/update operation for stack instances, inherited from TypeKro ResourceFactory. */
693
+ export type OryIdentityStackCreateOrUpdateOperation = OryIdentityStackDirectFactory['deploy'];
694
+ /** Read/list operation for stack instances, inherited from TypeKro ResourceFactory. */
695
+ export type OryIdentityStackReadOperation = OryIdentityStackDirectFactory['getInstances'];
696
+ /** Delete operation for stack instances, inherited from TypeKro ResourceFactory. */
697
+ export type OryIdentityStackDeleteOperation = OryIdentityStackDirectFactory['deleteInstance'];
698
+ /** Declarative create/update operation for a Hydra Maester OAuth2Client resource. */
699
+ export type OryOAuth2ClientCreateOrUpdateOperation = OryOAuth2ClientFactory;
700
+ /** Read operation contract for Hydra Maester OAuth2Client resources. */
701
+ export type OryOAuth2ClientReadOperation = (name: string, namespace?: string) => OryOperationResult<OAuth2ClientSpec>;
702
+ /** Delete operation contract for Hydra Maester OAuth2Client resources. */
703
+ export type OryOAuth2ClientDeleteOperation = (name: string, namespace?: string) => OryOperationResult<void>;
704
+ /** Declarative create/update operation for an Oathkeeper Maester Rule resource. */
705
+ export type OryOathkeeperRuleCreateOrUpdateOperation = OryOathkeeperRuleFactory;
706
+ /** Read operation contract for Oathkeeper Maester Rule resources. */
707
+ export type OryOathkeeperRuleReadOperation = (name: string, namespace?: string) => OryOperationResult<OathkeeperRuleSpec>;
708
+ /** Delete operation contract for Oathkeeper Maester Rule resources. */
709
+ export type OryOathkeeperRuleDeleteOperation = (name: string, namespace?: string) => OryOperationResult<void>;
710
+ /** ArkType schema for `OryIdentityStackConfig`. */
711
+ export declare const OryIdentityStackConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
712
+ name: string;
713
+ namespace?: string;
714
+ version?: string;
715
+ dependencySources?: {
716
+ hydra?: {
717
+ database?: {
718
+ dsn: {
719
+ mode: "external";
720
+ value?: {
721
+ value: string;
722
+ } | {
723
+ secretRef: {
724
+ name: string;
725
+ key: string;
726
+ };
727
+ };
728
+ url?: string;
729
+ resourceName?: string;
730
+ } | {
731
+ mode: "managed";
732
+ resourceName?: string;
733
+ url?: string;
734
+ namespace?: string;
735
+ secretName?: string;
736
+ secretKey?: string;
737
+ };
738
+ databaseName?: string;
739
+ };
740
+ systemSecret?: {
741
+ mode: "external";
742
+ value?: {
743
+ value: string;
744
+ } | {
745
+ secretRef: {
746
+ name: string;
747
+ key: string;
748
+ };
749
+ };
750
+ url?: string;
751
+ resourceName?: string;
752
+ } | {
753
+ mode: "managed";
754
+ resourceName?: string;
755
+ url?: string;
756
+ namespace?: string;
757
+ secretName?: string;
758
+ secretKey?: string;
759
+ };
760
+ issuerUrl?: {
761
+ url: {
762
+ mode: "external";
763
+ value?: {
764
+ value: string;
765
+ } | {
766
+ secretRef: {
767
+ name: string;
768
+ key: string;
769
+ };
770
+ };
771
+ url?: string;
772
+ resourceName?: string;
773
+ } | {
774
+ mode: "managed";
775
+ resourceName?: string;
776
+ url?: string;
777
+ namespace?: string;
778
+ secretName?: string;
779
+ secretKey?: string;
780
+ };
781
+ };
782
+ loginUrl?: {
783
+ url: {
784
+ mode: "external";
785
+ value?: {
786
+ value: string;
787
+ } | {
788
+ secretRef: {
789
+ name: string;
790
+ key: string;
791
+ };
792
+ };
793
+ url?: string;
794
+ resourceName?: string;
795
+ } | {
796
+ mode: "managed";
797
+ resourceName?: string;
798
+ url?: string;
799
+ namespace?: string;
800
+ secretName?: string;
801
+ secretKey?: string;
802
+ };
803
+ };
804
+ consentUrl?: {
805
+ url: {
806
+ mode: "external";
807
+ value?: {
808
+ value: string;
809
+ } | {
810
+ secretRef: {
811
+ name: string;
812
+ key: string;
813
+ };
814
+ };
815
+ url?: string;
816
+ resourceName?: string;
817
+ } | {
818
+ mode: "managed";
819
+ resourceName?: string;
820
+ url?: string;
821
+ namespace?: string;
822
+ secretName?: string;
823
+ secretKey?: string;
824
+ };
825
+ };
826
+ logoutUrl?: {
827
+ url: {
828
+ mode: "external";
829
+ value?: {
830
+ value: string;
831
+ } | {
832
+ secretRef: {
833
+ name: string;
834
+ key: string;
835
+ };
836
+ };
837
+ url?: string;
838
+ resourceName?: string;
839
+ } | {
840
+ mode: "managed";
841
+ resourceName?: string;
842
+ url?: string;
843
+ namespace?: string;
844
+ secretName?: string;
845
+ secretKey?: string;
846
+ };
847
+ };
848
+ };
849
+ kratos?: {
850
+ database?: {
851
+ dsn: {
852
+ mode: "external";
853
+ value?: {
854
+ value: string;
855
+ } | {
856
+ secretRef: {
857
+ name: string;
858
+ key: string;
859
+ };
860
+ };
861
+ url?: string;
862
+ resourceName?: string;
863
+ } | {
864
+ mode: "managed";
865
+ resourceName?: string;
866
+ url?: string;
867
+ namespace?: string;
868
+ secretName?: string;
869
+ secretKey?: string;
870
+ };
871
+ databaseName?: string;
872
+ };
873
+ publicBaseUrl?: {
874
+ url: {
875
+ mode: "external";
876
+ value?: {
877
+ value: string;
878
+ } | {
879
+ secretRef: {
880
+ name: string;
881
+ key: string;
882
+ };
883
+ };
884
+ url?: string;
885
+ resourceName?: string;
886
+ } | {
887
+ mode: "managed";
888
+ resourceName?: string;
889
+ url?: string;
890
+ namespace?: string;
891
+ secretName?: string;
892
+ secretKey?: string;
893
+ };
894
+ };
895
+ browserBaseUrl?: {
896
+ url: {
897
+ mode: "external";
898
+ value?: {
899
+ value: string;
900
+ } | {
901
+ secretRef: {
902
+ name: string;
903
+ key: string;
904
+ };
905
+ };
906
+ url?: string;
907
+ resourceName?: string;
908
+ } | {
909
+ mode: "managed";
910
+ resourceName?: string;
911
+ url?: string;
912
+ namespace?: string;
913
+ secretName?: string;
914
+ secretKey?: string;
915
+ };
916
+ };
917
+ secrets?: Record<string, unknown>;
918
+ courier?: {
919
+ mode: "external";
920
+ value?: {
921
+ value: string;
922
+ } | {
923
+ secretRef: {
924
+ name: string;
925
+ key: string;
926
+ };
927
+ };
928
+ url?: string;
929
+ resourceName?: string;
930
+ } | {
931
+ mode: "managed";
932
+ resourceName?: string;
933
+ url?: string;
934
+ namespace?: string;
935
+ secretName?: string;
936
+ secretKey?: string;
937
+ };
938
+ };
939
+ keto?: {
940
+ database?: {
941
+ dsn: {
942
+ mode: "external";
943
+ value?: {
944
+ value: string;
945
+ } | {
946
+ secretRef: {
947
+ name: string;
948
+ key: string;
949
+ };
950
+ };
951
+ url?: string;
952
+ resourceName?: string;
953
+ } | {
954
+ mode: "managed";
955
+ resourceName?: string;
956
+ url?: string;
957
+ namespace?: string;
958
+ secretName?: string;
959
+ secretKey?: string;
960
+ };
961
+ databaseName?: string;
962
+ };
963
+ };
964
+ oathkeeper?: {
965
+ proxyRoute?: {
966
+ url: {
967
+ mode: "external";
968
+ value?: {
969
+ value: string;
970
+ } | {
971
+ secretRef: {
972
+ name: string;
973
+ key: string;
974
+ };
975
+ };
976
+ url?: string;
977
+ resourceName?: string;
978
+ } | {
979
+ mode: "managed";
980
+ resourceName?: string;
981
+ url?: string;
982
+ namespace?: string;
983
+ secretName?: string;
984
+ secretKey?: string;
985
+ };
986
+ };
987
+ apiRoute?: {
988
+ url: {
989
+ mode: "external";
990
+ value?: {
991
+ value: string;
992
+ } | {
993
+ secretRef: {
994
+ name: string;
995
+ key: string;
996
+ };
997
+ };
998
+ url?: string;
999
+ resourceName?: string;
1000
+ } | {
1001
+ mode: "managed";
1002
+ resourceName?: string;
1003
+ url?: string;
1004
+ namespace?: string;
1005
+ secretName?: string;
1006
+ secretKey?: string;
1007
+ };
1008
+ };
1009
+ upstream?: {
1010
+ url: {
1011
+ mode: "external";
1012
+ value?: {
1013
+ value: string;
1014
+ } | {
1015
+ secretRef: {
1016
+ name: string;
1017
+ key: string;
1018
+ };
1019
+ };
1020
+ url?: string;
1021
+ resourceName?: string;
1022
+ } | {
1023
+ mode: "managed";
1024
+ resourceName?: string;
1025
+ url?: string;
1026
+ namespace?: string;
1027
+ secretName?: string;
1028
+ secretKey?: string;
1029
+ };
1030
+ };
1031
+ mutatorIdTokenJwks?: {
1032
+ mode: "external";
1033
+ value?: {
1034
+ value: string;
1035
+ } | {
1036
+ secretRef: {
1037
+ name: string;
1038
+ key: string;
1039
+ };
1040
+ };
1041
+ url?: string;
1042
+ resourceName?: string;
1043
+ } | {
1044
+ mode: "managed";
1045
+ resourceName?: string;
1046
+ url?: string;
1047
+ namespace?: string;
1048
+ secretName?: string;
1049
+ secretKey?: string;
1050
+ };
1051
+ };
1052
+ courier?: {
1053
+ mode: "external";
1054
+ value?: {
1055
+ value: string;
1056
+ } | {
1057
+ secretRef: {
1058
+ name: string;
1059
+ key: string;
1060
+ };
1061
+ };
1062
+ url?: string;
1063
+ resourceName?: string;
1064
+ } | {
1065
+ mode: "managed";
1066
+ resourceName?: string;
1067
+ url?: string;
1068
+ namespace?: string;
1069
+ secretName?: string;
1070
+ secretKey?: string;
1071
+ };
1072
+ };
1073
+ shared?: boolean;
1074
+ global?: {
1075
+ imageRegistry?: string;
1076
+ imagePullSecrets?: string[];
1077
+ };
1078
+ hydra?: {
1079
+ dsn?: {
1080
+ value: string;
1081
+ } | {
1082
+ secretRef: {
1083
+ name: string;
1084
+ key: string;
1085
+ };
1086
+ };
1087
+ issuerUrl?: string;
1088
+ loginUrl?: string;
1089
+ consentUrl?: string;
1090
+ logoutUrl?: string;
1091
+ systemSecret?: {
1092
+ value: string;
1093
+ } | {
1094
+ secretRef: {
1095
+ name: string;
1096
+ key: string;
1097
+ };
1098
+ };
1099
+ replicaCount?: number;
1100
+ resources?: {
1101
+ requests?: {
1102
+ cpu?: string;
1103
+ memory?: string;
1104
+ };
1105
+ limits?: {
1106
+ cpu?: string;
1107
+ memory?: string;
1108
+ };
1109
+ };
1110
+ serviceMonitor?: {
1111
+ enabled?: boolean;
1112
+ };
1113
+ values?: {
1114
+ global?: {
1115
+ imageRegistry?: string;
1116
+ podMetadata?: {
1117
+ labels?: Record<string, string>;
1118
+ annotations?: Record<string, string>;
1119
+ };
1120
+ };
1121
+ replicaCount?: number;
1122
+ image?: {
1123
+ registry?: string;
1124
+ repository?: string;
1125
+ tag?: string;
1126
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
1127
+ };
1128
+ imagePullSecrets?: object[];
1129
+ nameOverride?: string;
1130
+ fullnameOverride?: string;
1131
+ priorityClassName?: string;
1132
+ service?: {
1133
+ public?: {
1134
+ enabled?: boolean;
1135
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
1136
+ clusterIP?: string;
1137
+ loadBalancerIP?: string;
1138
+ nodePort?: string | number;
1139
+ port?: number;
1140
+ containerPort?: number;
1141
+ name?: string;
1142
+ annotations?: Record<string, string>;
1143
+ labels?: Record<string, string>;
1144
+ metricsPath?: string;
1145
+ appProtocol?: string;
1146
+ externalTrafficPolicy?: string;
1147
+ internalTrafficPolicy?: string;
1148
+ headless?: {
1149
+ enabled?: boolean;
1150
+ };
1151
+ };
1152
+ admin?: {
1153
+ enabled?: boolean;
1154
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
1155
+ clusterIP?: string;
1156
+ loadBalancerIP?: string;
1157
+ nodePort?: string | number;
1158
+ port?: number;
1159
+ containerPort?: number;
1160
+ name?: string;
1161
+ annotations?: Record<string, string>;
1162
+ labels?: Record<string, string>;
1163
+ metricsPath?: string;
1164
+ appProtocol?: string;
1165
+ externalTrafficPolicy?: string;
1166
+ internalTrafficPolicy?: string;
1167
+ headless?: {
1168
+ enabled?: boolean;
1169
+ };
1170
+ };
1171
+ };
1172
+ secret?: {
1173
+ enabled?: boolean;
1174
+ nameOverride?: string;
1175
+ enableDefaultAnnotations?: boolean;
1176
+ secretAnnotations?: Record<string, string>;
1177
+ extraAnnotations?: Record<string, string>;
1178
+ hashSumEnabled?: boolean;
1179
+ mountPath?: string;
1180
+ filename?: string;
1181
+ };
1182
+ ingress?: {
1183
+ public?: {
1184
+ enabled?: boolean;
1185
+ className?: string;
1186
+ annotations?: Record<string, string>;
1187
+ hosts?: {
1188
+ host?: string;
1189
+ paths?: {
1190
+ path?: string;
1191
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
1192
+ }[];
1193
+ }[];
1194
+ tls?: {
1195
+ secretName?: string;
1196
+ hosts?: string[];
1197
+ }[];
1198
+ defaultBackend?: object;
1199
+ };
1200
+ admin?: {
1201
+ enabled?: boolean;
1202
+ className?: string;
1203
+ annotations?: Record<string, string>;
1204
+ hosts?: {
1205
+ host?: string;
1206
+ paths?: {
1207
+ path?: string;
1208
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
1209
+ }[];
1210
+ }[];
1211
+ tls?: {
1212
+ secretName?: string;
1213
+ hosts?: string[];
1214
+ }[];
1215
+ defaultBackend?: object;
1216
+ };
1217
+ };
1218
+ hydra?: {
1219
+ command?: string[];
1220
+ customArgs?: string[];
1221
+ config?: object;
1222
+ automigration?: {
1223
+ enabled?: boolean;
1224
+ type?: "job" | "initContainer";
1225
+ customCommand?: string[];
1226
+ customArgs?: string[];
1227
+ resources?: {
1228
+ limits?: object;
1229
+ requests?: object;
1230
+ };
1231
+ extraEnv?: object[];
1232
+ };
1233
+ customMigrations?: {
1234
+ jobs?: object;
1235
+ };
1236
+ dev?: boolean;
1237
+ };
1238
+ deployment?: {
1239
+ strategy?: {
1240
+ type?: string;
1241
+ rollingUpdate?: {
1242
+ maxSurge?: string | number;
1243
+ maxUnavailable?: string | number;
1244
+ };
1245
+ };
1246
+ initContainerSecurityContext?: object;
1247
+ lifecycle?: object;
1248
+ labels?: Record<string, string>;
1249
+ annotations?: Record<string, string>;
1250
+ extraEnv?: object[];
1251
+ automigration?: {
1252
+ extraEnv?: object[];
1253
+ };
1254
+ serviceAccount?: {
1255
+ create?: boolean;
1256
+ annotations?: Record<string, string>;
1257
+ name?: string;
1258
+ automountServiceAccountToken?: boolean;
1259
+ };
1260
+ extraVolumes?: object[];
1261
+ extraVolumeMounts?: object[];
1262
+ autoscaling?: {
1263
+ enabled?: boolean;
1264
+ minReplicas?: number;
1265
+ maxReplicas?: number;
1266
+ targetCPU?: object;
1267
+ targetMemory?: object;
1268
+ behavior?: object;
1269
+ extraMetrics?: object[];
1270
+ };
1271
+ readinessProbe?: {
1272
+ initialDelaySeconds?: number;
1273
+ periodSeconds?: number;
1274
+ failureThreshold?: number;
1275
+ successThreshold?: number;
1276
+ timeoutSeconds?: number;
1277
+ };
1278
+ startupProbe?: {
1279
+ initialDelaySeconds?: number;
1280
+ periodSeconds?: number;
1281
+ failureThreshold?: number;
1282
+ successThreshold?: number;
1283
+ timeoutSeconds?: number;
1284
+ };
1285
+ extraInitContainers?: string;
1286
+ extraContainers?: string;
1287
+ customLivenessProbe?: object;
1288
+ customReadinessProbe?: object;
1289
+ customStartupProbe?: object;
1290
+ revisionHistoryLimit?: number;
1291
+ resources?: {
1292
+ limits?: object;
1293
+ requests?: object;
1294
+ };
1295
+ podSecurityContext?: object;
1296
+ securityContext?: object;
1297
+ nodeSelector?: Record<string, string>;
1298
+ tolerations?: object[];
1299
+ affinity?: object;
1300
+ topologySpreadConstraints?: object[];
1301
+ dnsConfig?: object;
1302
+ podMetadata?: {
1303
+ labels?: Record<string, string>;
1304
+ annotations?: Record<string, string>;
1305
+ };
1306
+ automountServiceAccountToken?: boolean;
1307
+ terminationGracePeriodSeconds?: number;
1308
+ };
1309
+ job?: {
1310
+ annotations?: Record<string, string>;
1311
+ labels?: Record<string, string>;
1312
+ extraContainers?: string | object[];
1313
+ extraEnv?: object[];
1314
+ podMetadata?: {
1315
+ labels?: Record<string, string>;
1316
+ annotations?: Record<string, string>;
1317
+ };
1318
+ extraInitContainers?: string;
1319
+ nodeSelector?: Record<string, string>;
1320
+ resources?: {
1321
+ limits?: object;
1322
+ requests?: object;
1323
+ };
1324
+ tolerations?: object[];
1325
+ lifecycle?: string | object;
1326
+ automountServiceAccountToken?: boolean;
1327
+ shareProcessNamespace?: boolean;
1328
+ serviceAccount?: {
1329
+ create?: boolean;
1330
+ annotations?: Record<string, string>;
1331
+ name?: string;
1332
+ automountServiceAccountToken?: boolean;
1333
+ };
1334
+ spec?: {
1335
+ backoffLimit?: number;
1336
+ };
1337
+ };
1338
+ affinity?: object;
1339
+ maester?: {
1340
+ enabled?: boolean;
1341
+ };
1342
+ 'hydra-maester'?: {
1343
+ adminService?: {
1344
+ name?: string;
1345
+ port?: number;
1346
+ };
1347
+ };
1348
+ watcher?: {
1349
+ enabled?: boolean;
1350
+ image?: string;
1351
+ mountFile?: string;
1352
+ podMetadata?: {
1353
+ labels?: Record<string, string>;
1354
+ annotations?: Record<string, string>;
1355
+ };
1356
+ watchLabelKey?: string;
1357
+ revisionHistoryLimit?: number;
1358
+ automountServiceAccountToken?: boolean;
1359
+ podSecurityContext?: object;
1360
+ securityContext?: object;
1361
+ resources?: {
1362
+ limits?: object;
1363
+ requests?: object;
1364
+ };
1365
+ };
1366
+ janitor?: {
1367
+ enabled?: boolean;
1368
+ cleanupGrants?: boolean;
1369
+ cleanupRequests?: boolean;
1370
+ cleanupTokens?: boolean;
1371
+ batchSize?: number;
1372
+ limit?: number;
1373
+ };
1374
+ cronjob?: {
1375
+ janitor?: {
1376
+ annotations?: Record<string, string>;
1377
+ labels?: Record<string, string>;
1378
+ extraContainers?: string | object[];
1379
+ extraEnv?: object[];
1380
+ podMetadata?: {
1381
+ labels?: Record<string, string>;
1382
+ annotations?: Record<string, string>;
1383
+ };
1384
+ extraInitContainers?: string;
1385
+ nodeSelector?: Record<string, string>;
1386
+ resources?: {
1387
+ limits?: object;
1388
+ requests?: object;
1389
+ };
1390
+ tolerations?: object[];
1391
+ lifecycle?: string | object;
1392
+ automountServiceAccountToken?: boolean;
1393
+ shareProcessNamespace?: boolean;
1394
+ serviceAccount?: {
1395
+ create?: boolean;
1396
+ annotations?: Record<string, string>;
1397
+ name?: string;
1398
+ automountServiceAccountToken?: boolean;
1399
+ };
1400
+ spec?: {
1401
+ backoffLimit?: number;
1402
+ };
1403
+ };
1404
+ };
1405
+ pdb?: {
1406
+ enabled?: boolean;
1407
+ spec?: {
1408
+ minAvailable?: string | number;
1409
+ maxUnavailable?: string | number;
1410
+ };
1411
+ };
1412
+ serviceMonitor?: {
1413
+ enabled?: boolean;
1414
+ scheme?: string;
1415
+ scrapeInterval?: string;
1416
+ scrapeTimeout?: string;
1417
+ relabelings?: object[];
1418
+ metricRelabelings?: object[];
1419
+ labels?: Record<string, string>;
1420
+ tlsConfig?: object;
1421
+ targetLabels?: string[];
1422
+ };
1423
+ configmap?: {
1424
+ hashSumEnabled?: boolean;
1425
+ annotations?: Record<string, string>;
1426
+ };
1427
+ test?: {
1428
+ labels?: Record<string, string>;
1429
+ busybox?: {
1430
+ registry?: string;
1431
+ repository?: string;
1432
+ tag?: string;
1433
+ };
1434
+ };
1435
+ };
1436
+ };
1437
+ kratos?: {
1438
+ dsn?: {
1439
+ value: string;
1440
+ } | {
1441
+ secretRef: {
1442
+ name: string;
1443
+ key: string;
1444
+ };
1445
+ };
1446
+ publicBaseUrl?: string;
1447
+ browserBaseUrl?: string;
1448
+ identitySchema?: string;
1449
+ courier?: object;
1450
+ secrets?: Record<string, unknown>;
1451
+ replicaCount?: number;
1452
+ resources?: {
1453
+ requests?: {
1454
+ cpu?: string;
1455
+ memory?: string;
1456
+ };
1457
+ limits?: {
1458
+ cpu?: string;
1459
+ memory?: string;
1460
+ };
1461
+ };
1462
+ serviceMonitor?: {
1463
+ enabled?: boolean;
1464
+ };
1465
+ values?: {
1466
+ global?: {
1467
+ imageRegistry?: string;
1468
+ podMetadata?: {
1469
+ labels?: Record<string, string>;
1470
+ annotations?: Record<string, string>;
1471
+ };
1472
+ };
1473
+ replicaCount?: number;
1474
+ strategy?: {
1475
+ type?: string;
1476
+ rollingUpdate?: {
1477
+ maxSurge?: string | number;
1478
+ maxUnavailable?: string | number;
1479
+ };
1480
+ };
1481
+ image?: {
1482
+ registry?: string;
1483
+ repository?: string;
1484
+ tag?: string;
1485
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
1486
+ };
1487
+ imagePullSecrets?: object[];
1488
+ nameOverride?: string;
1489
+ fullnameOverride?: string;
1490
+ service?: {
1491
+ admin?: {
1492
+ enabled?: boolean;
1493
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
1494
+ clusterIP?: string;
1495
+ loadBalancerIP?: string;
1496
+ nodePort?: string | number;
1497
+ port?: number;
1498
+ containerPort?: number;
1499
+ name?: string;
1500
+ annotations?: Record<string, string>;
1501
+ labels?: Record<string, string>;
1502
+ metricsPath?: string;
1503
+ appProtocol?: string;
1504
+ externalTrafficPolicy?: string;
1505
+ internalTrafficPolicy?: string;
1506
+ headless?: {
1507
+ enabled?: boolean;
1508
+ };
1509
+ };
1510
+ public?: {
1511
+ enabled?: boolean;
1512
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
1513
+ clusterIP?: string;
1514
+ loadBalancerIP?: string;
1515
+ nodePort?: string | number;
1516
+ port?: number;
1517
+ containerPort?: number;
1518
+ name?: string;
1519
+ annotations?: Record<string, string>;
1520
+ labels?: Record<string, string>;
1521
+ metricsPath?: string;
1522
+ appProtocol?: string;
1523
+ externalTrafficPolicy?: string;
1524
+ internalTrafficPolicy?: string;
1525
+ headless?: {
1526
+ enabled?: boolean;
1527
+ };
1528
+ };
1529
+ courier?: {
1530
+ enabled?: boolean;
1531
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
1532
+ clusterIP?: string;
1533
+ loadBalancerIP?: string;
1534
+ nodePort?: string | number;
1535
+ port?: number;
1536
+ containerPort?: number;
1537
+ name?: string;
1538
+ annotations?: Record<string, string>;
1539
+ labels?: Record<string, string>;
1540
+ metricsPath?: string;
1541
+ appProtocol?: string;
1542
+ externalTrafficPolicy?: string;
1543
+ internalTrafficPolicy?: string;
1544
+ headless?: {
1545
+ enabled?: boolean;
1546
+ };
1547
+ };
1548
+ };
1549
+ secret?: {
1550
+ enabled?: boolean;
1551
+ nameOverride?: string;
1552
+ enableDefaultAnnotations?: boolean;
1553
+ secretAnnotations?: Record<string, string>;
1554
+ extraAnnotations?: Record<string, string>;
1555
+ hashSumEnabled?: boolean;
1556
+ mountPath?: string;
1557
+ filename?: string;
1558
+ };
1559
+ ingress?: {
1560
+ admin?: {
1561
+ enabled?: boolean;
1562
+ className?: string;
1563
+ annotations?: Record<string, string>;
1564
+ hosts?: {
1565
+ host?: string;
1566
+ paths?: {
1567
+ path?: string;
1568
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
1569
+ }[];
1570
+ }[];
1571
+ tls?: {
1572
+ secretName?: string;
1573
+ hosts?: string[];
1574
+ }[];
1575
+ defaultBackend?: object;
1576
+ };
1577
+ public?: {
1578
+ enabled?: boolean;
1579
+ className?: string;
1580
+ annotations?: Record<string, string>;
1581
+ hosts?: {
1582
+ host?: string;
1583
+ paths?: {
1584
+ path?: string;
1585
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
1586
+ }[];
1587
+ }[];
1588
+ tls?: {
1589
+ secretName?: string;
1590
+ hosts?: string[];
1591
+ }[];
1592
+ defaultBackend?: object;
1593
+ };
1594
+ };
1595
+ kratos?: {
1596
+ development?: boolean;
1597
+ automigration?: {
1598
+ enabled?: boolean;
1599
+ type?: "job" | "initContainer";
1600
+ customCommand?: string[];
1601
+ customArgs?: string[];
1602
+ resources?: {
1603
+ limits?: object;
1604
+ requests?: object;
1605
+ };
1606
+ extraEnv?: object[];
1607
+ };
1608
+ identitySchemas?: Record<string, string>;
1609
+ emailTemplates?: object;
1610
+ config?: object;
1611
+ customMigrations?: {
1612
+ jobs?: object;
1613
+ };
1614
+ };
1615
+ deployment?: {
1616
+ lifecycle?: object;
1617
+ readinessProbe?: {
1618
+ initialDelaySeconds?: number;
1619
+ periodSeconds?: number;
1620
+ failureThreshold?: number;
1621
+ successThreshold?: number;
1622
+ timeoutSeconds?: number;
1623
+ };
1624
+ startupProbe?: {
1625
+ initialDelaySeconds?: number;
1626
+ periodSeconds?: number;
1627
+ failureThreshold?: number;
1628
+ successThreshold?: number;
1629
+ timeoutSeconds?: number;
1630
+ };
1631
+ customLivenessProbe?: object;
1632
+ customReadinessProbe?: object;
1633
+ customStartupProbe?: object;
1634
+ extraArgs?: string[];
1635
+ extraEnv?: object[];
1636
+ extraVolumes?: object[];
1637
+ extraVolumeMounts?: object[];
1638
+ extraInitContainers?: string;
1639
+ extraContainers?: string;
1640
+ priorityClassName?: string;
1641
+ labels?: Record<string, string>;
1642
+ annotations?: Record<string, string>;
1643
+ environmentSecretsName?: string;
1644
+ serviceAccount?: {
1645
+ create?: boolean;
1646
+ annotations?: Record<string, string>;
1647
+ name?: string;
1648
+ automountServiceAccountToken?: boolean;
1649
+ };
1650
+ automigration?: {
1651
+ extraEnv?: object[];
1652
+ };
1653
+ revisionHistoryLimit?: number;
1654
+ resources?: {
1655
+ limits?: object;
1656
+ requests?: object;
1657
+ };
1658
+ podSecurityContext?: object;
1659
+ securityContext?: object;
1660
+ nodeSelector?: Record<string, string>;
1661
+ tolerations?: object[];
1662
+ affinity?: object;
1663
+ topologySpreadConstraints?: object[];
1664
+ dnsConfig?: object;
1665
+ podMetadata?: {
1666
+ labels?: Record<string, string>;
1667
+ annotations?: Record<string, string>;
1668
+ };
1669
+ automountServiceAccountToken?: boolean;
1670
+ terminationGracePeriodSeconds?: number;
1671
+ };
1672
+ statefulSet?: {
1673
+ resources?: {
1674
+ limits?: object;
1675
+ requests?: object;
1676
+ };
1677
+ extraArgs?: string[];
1678
+ extraEnv?: object[];
1679
+ extraVolumes?: object[];
1680
+ extraVolumeMounts?: object[];
1681
+ extraInitContainers?: string;
1682
+ extraContainers?: string;
1683
+ annotations?: Record<string, string>;
1684
+ environmentSecretsName?: string;
1685
+ labels?: Record<string, string>;
1686
+ priorityClassName?: string;
1687
+ log?: {
1688
+ format?: string;
1689
+ level?: string;
1690
+ };
1691
+ revisionHistoryLimit?: number;
1692
+ podSecurityContext?: object;
1693
+ securityContext?: object;
1694
+ nodeSelector?: Record<string, string>;
1695
+ tolerations?: object[];
1696
+ affinity?: object;
1697
+ topologySpreadConstraints?: object[];
1698
+ dnsConfig?: object;
1699
+ podMetadata?: {
1700
+ labels?: Record<string, string>;
1701
+ annotations?: Record<string, string>;
1702
+ };
1703
+ automountServiceAccountToken?: boolean;
1704
+ terminationGracePeriodSeconds?: number;
1705
+ };
1706
+ securityContext?: object;
1707
+ autoscaling?: {
1708
+ enabled?: boolean;
1709
+ minReplicas?: number;
1710
+ maxReplicas?: number;
1711
+ targetCPU?: object;
1712
+ targetMemory?: object;
1713
+ behavior?: object;
1714
+ extraMetrics?: object[];
1715
+ };
1716
+ job?: {
1717
+ annotations?: Record<string, string>;
1718
+ labels?: Record<string, string>;
1719
+ extraContainers?: string | object[];
1720
+ extraEnv?: object[];
1721
+ podMetadata?: {
1722
+ labels?: Record<string, string>;
1723
+ annotations?: Record<string, string>;
1724
+ };
1725
+ extraInitContainers?: string;
1726
+ nodeSelector?: Record<string, string>;
1727
+ resources?: {
1728
+ limits?: object;
1729
+ requests?: object;
1730
+ };
1731
+ tolerations?: object[];
1732
+ lifecycle?: string | object;
1733
+ automountServiceAccountToken?: boolean;
1734
+ shareProcessNamespace?: boolean;
1735
+ serviceAccount?: {
1736
+ create?: boolean;
1737
+ annotations?: Record<string, string>;
1738
+ name?: string;
1739
+ automountServiceAccountToken?: boolean;
1740
+ };
1741
+ spec?: {
1742
+ backoffLimit?: number;
1743
+ };
1744
+ };
1745
+ courier?: {
1746
+ enabled?: boolean;
1747
+ };
1748
+ watcher?: {
1749
+ enabled?: boolean;
1750
+ image?: string;
1751
+ mountFile?: string;
1752
+ podMetadata?: {
1753
+ labels?: Record<string, string>;
1754
+ annotations?: Record<string, string>;
1755
+ };
1756
+ watchLabelKey?: string;
1757
+ revisionHistoryLimit?: number;
1758
+ automountServiceAccountToken?: boolean;
1759
+ podSecurityContext?: object;
1760
+ securityContext?: object;
1761
+ resources?: {
1762
+ limits?: object;
1763
+ requests?: object;
1764
+ };
1765
+ };
1766
+ cleanup?: {
1767
+ enabled?: boolean;
1768
+ batchSize?: number;
1769
+ sleepTables?: string;
1770
+ keepLast?: string;
1771
+ };
1772
+ cronjob?: {
1773
+ cleanup?: {
1774
+ annotations?: Record<string, string>;
1775
+ labels?: Record<string, string>;
1776
+ extraContainers?: string | object[];
1777
+ extraEnv?: object[];
1778
+ podMetadata?: {
1779
+ labels?: Record<string, string>;
1780
+ annotations?: Record<string, string>;
1781
+ };
1782
+ extraInitContainers?: string;
1783
+ nodeSelector?: Record<string, string>;
1784
+ resources?: {
1785
+ limits?: object;
1786
+ requests?: object;
1787
+ };
1788
+ tolerations?: object[];
1789
+ lifecycle?: string | object;
1790
+ automountServiceAccountToken?: boolean;
1791
+ shareProcessNamespace?: boolean;
1792
+ serviceAccount?: {
1793
+ create?: boolean;
1794
+ annotations?: Record<string, string>;
1795
+ name?: string;
1796
+ automountServiceAccountToken?: boolean;
1797
+ };
1798
+ spec?: {
1799
+ backoffLimit?: number;
1800
+ };
1801
+ };
1802
+ };
1803
+ pdb?: {
1804
+ enabled?: boolean;
1805
+ spec?: {
1806
+ minAvailable?: string | number;
1807
+ maxUnavailable?: string | number;
1808
+ };
1809
+ };
1810
+ serviceMonitor?: {
1811
+ enabled?: boolean;
1812
+ scheme?: string;
1813
+ scrapeInterval?: string;
1814
+ scrapeTimeout?: string;
1815
+ relabelings?: object[];
1816
+ metricRelabelings?: object[];
1817
+ labels?: Record<string, string>;
1818
+ tlsConfig?: object;
1819
+ targetLabels?: string[];
1820
+ };
1821
+ configmap?: {
1822
+ hashSumEnabled?: boolean;
1823
+ annotations?: Record<string, string>;
1824
+ };
1825
+ test?: {
1826
+ labels?: Record<string, string>;
1827
+ busybox?: {
1828
+ registry?: string;
1829
+ repository?: string;
1830
+ tag?: string;
1831
+ };
1832
+ };
1833
+ };
1834
+ };
1835
+ keto?: {
1836
+ dsn?: {
1837
+ value: string;
1838
+ } | {
1839
+ secretRef: {
1840
+ name: string;
1841
+ key: string;
1842
+ };
1843
+ };
1844
+ namespaces?: {
1845
+ id: number;
1846
+ name: string;
1847
+ }[];
1848
+ replicaCount?: number;
1849
+ resources?: {
1850
+ requests?: {
1851
+ cpu?: string;
1852
+ memory?: string;
1853
+ };
1854
+ limits?: {
1855
+ cpu?: string;
1856
+ memory?: string;
1857
+ };
1858
+ };
1859
+ serviceMonitor?: {
1860
+ enabled?: boolean;
1861
+ };
1862
+ values?: {
1863
+ global?: {
1864
+ imageRegistry?: string;
1865
+ podMetadata?: {
1866
+ labels?: Record<string, string>;
1867
+ annotations?: Record<string, string>;
1868
+ };
1869
+ };
1870
+ replicaCount?: number;
1871
+ image?: {
1872
+ registry?: string;
1873
+ repository?: string;
1874
+ tag?: string;
1875
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
1876
+ };
1877
+ imagePullSecrets?: object[];
1878
+ nameOverride?: string;
1879
+ fullnameOverride?: string;
1880
+ priorityClassName?: string;
1881
+ serviceAccount?: {
1882
+ create?: boolean;
1883
+ annotations?: Record<string, string>;
1884
+ name?: string;
1885
+ automountServiceAccountToken?: boolean;
1886
+ };
1887
+ podSecurityContext?: object;
1888
+ securityContext?: object;
1889
+ job?: {
1890
+ annotations?: Record<string, string>;
1891
+ labels?: Record<string, string>;
1892
+ extraContainers?: string | object[];
1893
+ extraEnv?: object[];
1894
+ podMetadata?: {
1895
+ labels?: Record<string, string>;
1896
+ annotations?: Record<string, string>;
1897
+ };
1898
+ extraInitContainers?: string;
1899
+ nodeSelector?: Record<string, string>;
1900
+ resources?: {
1901
+ limits?: object;
1902
+ requests?: object;
1903
+ };
1904
+ tolerations?: object[];
1905
+ lifecycle?: string | object;
1906
+ automountServiceAccountToken?: boolean;
1907
+ shareProcessNamespace?: boolean;
1908
+ serviceAccount?: {
1909
+ create?: boolean;
1910
+ annotations?: Record<string, string>;
1911
+ name?: string;
1912
+ automountServiceAccountToken?: boolean;
1913
+ };
1914
+ spec?: {
1915
+ backoffLimit?: number;
1916
+ };
1917
+ };
1918
+ ingress?: {
1919
+ read?: {
1920
+ enabled?: boolean;
1921
+ className?: string;
1922
+ annotations?: Record<string, string>;
1923
+ hosts?: {
1924
+ host?: string;
1925
+ paths?: {
1926
+ path?: string;
1927
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
1928
+ }[];
1929
+ }[];
1930
+ tls?: {
1931
+ secretName?: string;
1932
+ hosts?: string[];
1933
+ }[];
1934
+ defaultBackend?: object;
1935
+ };
1936
+ write?: {
1937
+ enabled?: boolean;
1938
+ className?: string;
1939
+ annotations?: Record<string, string>;
1940
+ hosts?: {
1941
+ host?: string;
1942
+ paths?: {
1943
+ path?: string;
1944
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
1945
+ }[];
1946
+ }[];
1947
+ tls?: {
1948
+ secretName?: string;
1949
+ hosts?: string[];
1950
+ }[];
1951
+ defaultBackend?: object;
1952
+ };
1953
+ };
1954
+ service?: {
1955
+ read?: {
1956
+ enabled?: boolean;
1957
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
1958
+ clusterIP?: string;
1959
+ loadBalancerIP?: string;
1960
+ nodePort?: string | number;
1961
+ port?: number;
1962
+ containerPort?: number;
1963
+ name?: string;
1964
+ annotations?: Record<string, string>;
1965
+ labels?: Record<string, string>;
1966
+ metricsPath?: string;
1967
+ appProtocol?: string;
1968
+ externalTrafficPolicy?: string;
1969
+ internalTrafficPolicy?: string;
1970
+ headless?: {
1971
+ enabled?: boolean;
1972
+ };
1973
+ };
1974
+ write?: {
1975
+ enabled?: boolean;
1976
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
1977
+ clusterIP?: string;
1978
+ loadBalancerIP?: string;
1979
+ nodePort?: string | number;
1980
+ port?: number;
1981
+ containerPort?: number;
1982
+ name?: string;
1983
+ annotations?: Record<string, string>;
1984
+ labels?: Record<string, string>;
1985
+ metricsPath?: string;
1986
+ appProtocol?: string;
1987
+ externalTrafficPolicy?: string;
1988
+ internalTrafficPolicy?: string;
1989
+ headless?: {
1990
+ enabled?: boolean;
1991
+ };
1992
+ };
1993
+ metrics?: {
1994
+ enabled?: boolean;
1995
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
1996
+ clusterIP?: string;
1997
+ loadBalancerIP?: string;
1998
+ nodePort?: string | number;
1999
+ port?: number;
2000
+ containerPort?: number;
2001
+ name?: string;
2002
+ annotations?: Record<string, string>;
2003
+ labels?: Record<string, string>;
2004
+ metricsPath?: string;
2005
+ appProtocol?: string;
2006
+ externalTrafficPolicy?: string;
2007
+ internalTrafficPolicy?: string;
2008
+ headless?: {
2009
+ enabled?: boolean;
2010
+ };
2011
+ };
2012
+ };
2013
+ extraServices?: object;
2014
+ secret?: {
2015
+ enabled?: boolean;
2016
+ nameOverride?: string;
2017
+ enableDefaultAnnotations?: boolean;
2018
+ secretAnnotations?: Record<string, string>;
2019
+ extraAnnotations?: Record<string, string>;
2020
+ hashSumEnabled?: boolean;
2021
+ mountPath?: string;
2022
+ filename?: string;
2023
+ };
2024
+ keto?: {
2025
+ command?: string[];
2026
+ customArgs?: string[];
2027
+ automigration?: {
2028
+ enabled?: boolean;
2029
+ type?: "job" | "initContainer";
2030
+ customCommand?: string[];
2031
+ customArgs?: string[];
2032
+ resources?: {
2033
+ limits?: object;
2034
+ requests?: object;
2035
+ };
2036
+ extraEnv?: object[];
2037
+ };
2038
+ config?: object;
2039
+ customMigrations?: {
2040
+ jobs?: object;
2041
+ };
2042
+ };
2043
+ deployment?: {
2044
+ strategy?: {
2045
+ type?: string;
2046
+ rollingUpdate?: {
2047
+ maxSurge?: string | number;
2048
+ maxUnavailable?: string | number;
2049
+ };
2050
+ };
2051
+ minReadySeconds?: number;
2052
+ podAnnotations?: Record<string, string>;
2053
+ lifecycle?: object;
2054
+ readinessProbe?: {
2055
+ initialDelaySeconds?: number;
2056
+ periodSeconds?: number;
2057
+ failureThreshold?: number;
2058
+ successThreshold?: number;
2059
+ timeoutSeconds?: number;
2060
+ };
2061
+ startupProbe?: {
2062
+ initialDelaySeconds?: number;
2063
+ periodSeconds?: number;
2064
+ failureThreshold?: number;
2065
+ successThreshold?: number;
2066
+ timeoutSeconds?: number;
2067
+ };
2068
+ customLivenessProbe?: object;
2069
+ customReadinessProbe?: object;
2070
+ customStartupProbe?: object;
2071
+ annotations?: Record<string, string>;
2072
+ autoscaling?: {
2073
+ enabled?: boolean;
2074
+ minReplicas?: number;
2075
+ maxReplicas?: number;
2076
+ targetCPU?: object;
2077
+ targetMemory?: object;
2078
+ behavior?: object;
2079
+ extraMetrics?: object[];
2080
+ };
2081
+ extraContainers?: string;
2082
+ extraEnv?: object[];
2083
+ extraVolumes?: object[];
2084
+ extraVolumeMounts?: object[];
2085
+ extraInitContainers?: string | object;
2086
+ extraLabels?: Record<string, string>;
2087
+ extraPorts?: object[];
2088
+ automigration?: {
2089
+ extraEnv?: object[];
2090
+ };
2091
+ revisionHistoryLimit?: number;
2092
+ resources?: {
2093
+ limits?: object;
2094
+ requests?: object;
2095
+ };
2096
+ podSecurityContext?: object;
2097
+ securityContext?: object;
2098
+ nodeSelector?: Record<string, string>;
2099
+ tolerations?: object[];
2100
+ affinity?: object;
2101
+ topologySpreadConstraints?: object[];
2102
+ dnsConfig?: object;
2103
+ podMetadata?: {
2104
+ labels?: Record<string, string>;
2105
+ annotations?: Record<string, string>;
2106
+ };
2107
+ automountServiceAccountToken?: boolean;
2108
+ terminationGracePeriodSeconds?: number;
2109
+ };
2110
+ watcher?: {
2111
+ enabled?: boolean;
2112
+ image?: string;
2113
+ mountFile?: string;
2114
+ podMetadata?: {
2115
+ labels?: Record<string, string>;
2116
+ annotations?: Record<string, string>;
2117
+ };
2118
+ watchLabelKey?: string;
2119
+ revisionHistoryLimit?: number;
2120
+ automountServiceAccountToken?: boolean;
2121
+ podSecurityContext?: object;
2122
+ securityContext?: object;
2123
+ resources?: {
2124
+ limits?: object;
2125
+ requests?: object;
2126
+ };
2127
+ };
2128
+ pdb?: {
2129
+ enabled?: boolean;
2130
+ spec?: {
2131
+ minAvailable?: string | number;
2132
+ maxUnavailable?: string | number;
2133
+ };
2134
+ };
2135
+ serviceMonitor?: {
2136
+ enabled?: boolean;
2137
+ scheme?: string;
2138
+ scrapeInterval?: string;
2139
+ scrapeTimeout?: string;
2140
+ relabelings?: object[];
2141
+ metricRelabelings?: object[];
2142
+ labels?: Record<string, string>;
2143
+ tlsConfig?: object;
2144
+ targetLabels?: string[];
2145
+ };
2146
+ configmap?: {
2147
+ hashSumEnabled?: boolean;
2148
+ annotations?: Record<string, string>;
2149
+ };
2150
+ test?: {
2151
+ labels?: Record<string, string>;
2152
+ busybox?: {
2153
+ registry?: string;
2154
+ repository?: string;
2155
+ tag?: string;
2156
+ };
2157
+ };
2158
+ };
2159
+ };
2160
+ oathkeeper?: {
2161
+ managedAccessRules?: boolean;
2162
+ mutatorIdTokenJwks?: {
2163
+ value: string;
2164
+ } | {
2165
+ secretRef: {
2166
+ name: string;
2167
+ key: string;
2168
+ };
2169
+ };
2170
+ replicaCount?: number;
2171
+ resources?: {
2172
+ requests?: {
2173
+ cpu?: string;
2174
+ memory?: string;
2175
+ };
2176
+ limits?: {
2177
+ cpu?: string;
2178
+ memory?: string;
2179
+ };
2180
+ };
2181
+ serviceMonitor?: {
2182
+ enabled?: boolean;
2183
+ };
2184
+ values?: {
2185
+ global?: {
2186
+ imageRegistry?: string;
2187
+ ory?: object;
2188
+ podMetadata?: {
2189
+ labels?: Record<string, string>;
2190
+ annotations?: Record<string, string>;
2191
+ };
2192
+ };
2193
+ replicaCount?: number;
2194
+ revisionHistoryLimit?: number;
2195
+ image?: {
2196
+ registry?: string;
2197
+ repository?: string;
2198
+ tag?: string;
2199
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
2200
+ initContainer?: {
2201
+ repository?: string;
2202
+ tag?: string;
2203
+ };
2204
+ };
2205
+ sidecar?: {
2206
+ image?: {
2207
+ repository?: string;
2208
+ tag?: string;
2209
+ };
2210
+ envs?: object;
2211
+ };
2212
+ priorityClassName?: string;
2213
+ imagePullSecrets?: object[];
2214
+ nameOverride?: string;
2215
+ fullnameOverride?: string;
2216
+ securityContext?: object;
2217
+ podSecurityContext?: object;
2218
+ demo?: boolean;
2219
+ service?: {
2220
+ proxy?: {
2221
+ enabled?: boolean;
2222
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
2223
+ clusterIP?: string;
2224
+ loadBalancerIP?: string;
2225
+ nodePort?: string | number;
2226
+ port?: number;
2227
+ containerPort?: number;
2228
+ name?: string;
2229
+ annotations?: Record<string, string>;
2230
+ labels?: Record<string, string>;
2231
+ metricsPath?: string;
2232
+ appProtocol?: string;
2233
+ externalTrafficPolicy?: string;
2234
+ internalTrafficPolicy?: string;
2235
+ headless?: {
2236
+ enabled?: boolean;
2237
+ };
2238
+ };
2239
+ api?: {
2240
+ enabled?: boolean;
2241
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
2242
+ clusterIP?: string;
2243
+ loadBalancerIP?: string;
2244
+ nodePort?: string | number;
2245
+ port?: number;
2246
+ containerPort?: number;
2247
+ name?: string;
2248
+ annotations?: Record<string, string>;
2249
+ labels?: Record<string, string>;
2250
+ metricsPath?: string;
2251
+ appProtocol?: string;
2252
+ externalTrafficPolicy?: string;
2253
+ internalTrafficPolicy?: string;
2254
+ headless?: {
2255
+ enabled?: boolean;
2256
+ };
2257
+ };
2258
+ metrics?: {
2259
+ enabled?: boolean;
2260
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
2261
+ clusterIP?: string;
2262
+ loadBalancerIP?: string;
2263
+ nodePort?: string | number;
2264
+ port?: number;
2265
+ containerPort?: number;
2266
+ name?: string;
2267
+ annotations?: Record<string, string>;
2268
+ labels?: Record<string, string>;
2269
+ metricsPath?: string;
2270
+ appProtocol?: string;
2271
+ externalTrafficPolicy?: string;
2272
+ internalTrafficPolicy?: string;
2273
+ headless?: {
2274
+ enabled?: boolean;
2275
+ };
2276
+ };
2277
+ };
2278
+ ingress?: {
2279
+ proxy?: {
2280
+ enabled?: boolean;
2281
+ className?: string;
2282
+ annotations?: Record<string, string>;
2283
+ hosts?: {
2284
+ host?: string;
2285
+ paths?: {
2286
+ path?: string;
2287
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
2288
+ }[];
2289
+ }[];
2290
+ tls?: {
2291
+ secretName?: string;
2292
+ hosts?: string[];
2293
+ }[];
2294
+ defaultBackend?: object;
2295
+ };
2296
+ api?: {
2297
+ enabled?: boolean;
2298
+ className?: string;
2299
+ annotations?: Record<string, string>;
2300
+ hosts?: {
2301
+ host?: string;
2302
+ paths?: {
2303
+ path?: string;
2304
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
2305
+ }[];
2306
+ }[];
2307
+ tls?: {
2308
+ secretName?: string;
2309
+ hosts?: string[];
2310
+ }[];
2311
+ defaultBackend?: object;
2312
+ };
2313
+ };
2314
+ oathkeeper?: {
2315
+ helmTemplatedConfigEnabled?: boolean;
2316
+ configFileOverride?: {
2317
+ enabled?: boolean;
2318
+ nameOverride?: string;
2319
+ };
2320
+ config?: object;
2321
+ mutatorIdTokenJWKs?: string;
2322
+ accessRulesOverride?: {
2323
+ nameOverride?: string;
2324
+ };
2325
+ accessRules?: string;
2326
+ managedAccessRules?: boolean;
2327
+ };
2328
+ secret?: {
2329
+ enabled?: boolean;
2330
+ nameOverride?: string;
2331
+ enableDefaultAnnotations?: boolean;
2332
+ secretAnnotations?: Record<string, string>;
2333
+ extraAnnotations?: Record<string, string>;
2334
+ hashSumEnabled?: boolean;
2335
+ mountPath?: string;
2336
+ filename?: string;
2337
+ };
2338
+ deployment?: {
2339
+ strategy?: {
2340
+ type?: string;
2341
+ rollingUpdate?: {
2342
+ maxSurge?: string | number;
2343
+ maxUnavailable?: string | number;
2344
+ };
2345
+ };
2346
+ lifecycle?: object;
2347
+ readinessProbe?: {
2348
+ initialDelaySeconds?: number;
2349
+ periodSeconds?: number;
2350
+ failureThreshold?: number;
2351
+ successThreshold?: number;
2352
+ timeoutSeconds?: number;
2353
+ };
2354
+ startupProbe?: {
2355
+ initialDelaySeconds?: number;
2356
+ periodSeconds?: number;
2357
+ failureThreshold?: number;
2358
+ successThreshold?: number;
2359
+ timeoutSeconds?: number;
2360
+ };
2361
+ customLivenessProbe?: object;
2362
+ customReadinessProbe?: object;
2363
+ customStartupProbe?: object;
2364
+ serviceAccount?: {
2365
+ create?: boolean;
2366
+ annotations?: Record<string, string>;
2367
+ name?: string;
2368
+ automountServiceAccountToken?: boolean;
2369
+ };
2370
+ extraEnv?: object[];
2371
+ extraArgs?: string[];
2372
+ extraVolumes?: object[];
2373
+ extraVolumeMounts?: object[];
2374
+ extraContainers?: string;
2375
+ extraInitContainers?: string;
2376
+ labels?: Record<string, string>;
2377
+ annotations?: Record<string, string>;
2378
+ autoscaling?: {
2379
+ enabled?: boolean;
2380
+ minReplicas?: number;
2381
+ maxReplicas?: number;
2382
+ targetCPU?: object;
2383
+ targetMemory?: object;
2384
+ behavior?: object;
2385
+ extraMetrics?: object[];
2386
+ };
2387
+ resources?: {
2388
+ limits?: object;
2389
+ requests?: object;
2390
+ };
2391
+ podSecurityContext?: object;
2392
+ securityContext?: object;
2393
+ nodeSelector?: Record<string, string>;
2394
+ tolerations?: object[];
2395
+ affinity?: object;
2396
+ topologySpreadConstraints?: object[];
2397
+ dnsConfig?: object;
2398
+ podMetadata?: {
2399
+ labels?: Record<string, string>;
2400
+ annotations?: Record<string, string>;
2401
+ };
2402
+ automountServiceAccountToken?: boolean;
2403
+ terminationGracePeriodSeconds?: number;
2404
+ };
2405
+ affinity?: object;
2406
+ maester?: {
2407
+ enabled?: boolean;
2408
+ };
2409
+ pdb?: {
2410
+ enabled?: boolean;
2411
+ spec?: {
2412
+ minAvailable?: string | number;
2413
+ maxUnavailable?: string | number;
2414
+ };
2415
+ };
2416
+ serviceMonitor?: {
2417
+ enabled?: boolean;
2418
+ scheme?: string;
2419
+ scrapeInterval?: string;
2420
+ scrapeTimeout?: string;
2421
+ relabelings?: object[];
2422
+ metricRelabelings?: object[];
2423
+ labels?: Record<string, string>;
2424
+ tlsConfig?: object;
2425
+ targetLabels?: string[];
2426
+ };
2427
+ configmap?: {
2428
+ hashSumEnabled?: boolean;
2429
+ annotations?: Record<string, string>;
2430
+ };
2431
+ test?: {
2432
+ labels?: Record<string, string>;
2433
+ busybox?: {
2434
+ registry?: string;
2435
+ repository?: string;
2436
+ tag?: string;
2437
+ };
2438
+ };
2439
+ };
2440
+ };
2441
+ maester?: {
2442
+ hydra?: {
2443
+ enabled?: boolean;
2444
+ singleNamespaceMode?: boolean;
2445
+ enabledNamespaces?: string[];
2446
+ serviceMonitor?: {
2447
+ enabled?: boolean;
2448
+ };
2449
+ };
2450
+ oathkeeper?: {
2451
+ enabled?: boolean;
2452
+ singleNamespaceMode?: boolean;
2453
+ rulesConfigmapNamespace?: string;
2454
+ rulesFileName?: string;
2455
+ };
2456
+ hydraValues?: {
2457
+ global?: {
2458
+ imageRegistry?: string;
2459
+ podMetadata?: {
2460
+ labels?: Record<string, string>;
2461
+ annotations?: Record<string, string>;
2462
+ };
2463
+ };
2464
+ replicaCount?: number;
2465
+ revisionHistoryLimit?: number;
2466
+ enabledNamespaces?: string[];
2467
+ singleNamespaceMode?: boolean;
2468
+ image?: {
2469
+ registry?: string;
2470
+ repository?: string;
2471
+ tag?: string;
2472
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
2473
+ };
2474
+ imagePullSecrets?: object[];
2475
+ priorityClassName?: string;
2476
+ adminService?: {
2477
+ name?: string;
2478
+ port?: number;
2479
+ endpoint?: string;
2480
+ scheme?: string;
2481
+ tlsTrustStorePath?: string;
2482
+ insecureSkipVerify?: boolean;
2483
+ };
2484
+ forwardedProto?: string;
2485
+ deployment?: {
2486
+ args?: {
2487
+ syncPeriod?: string;
2488
+ };
2489
+ extraEnv?: object[];
2490
+ extraVolumes?: object[];
2491
+ extraVolumeMounts?: object[];
2492
+ serviceAccount?: {
2493
+ create?: boolean;
2494
+ annotations?: Record<string, string>;
2495
+ name?: string;
2496
+ automountServiceAccountToken?: boolean;
2497
+ };
2498
+ resources?: {
2499
+ limits?: object;
2500
+ requests?: object;
2501
+ };
2502
+ podSecurityContext?: object;
2503
+ securityContext?: object;
2504
+ nodeSelector?: Record<string, string>;
2505
+ tolerations?: object[];
2506
+ affinity?: object;
2507
+ topologySpreadConstraints?: object[];
2508
+ dnsConfig?: object;
2509
+ podMetadata?: {
2510
+ labels?: Record<string, string>;
2511
+ annotations?: Record<string, string>;
2512
+ };
2513
+ automountServiceAccountToken?: boolean;
2514
+ terminationGracePeriodSeconds?: number;
2515
+ };
2516
+ affinity?: object;
2517
+ pdb?: {
2518
+ enabled?: boolean;
2519
+ spec?: {
2520
+ minAvailable?: string | number;
2521
+ maxUnavailable?: string | number;
2522
+ };
2523
+ };
2524
+ service?: {
2525
+ metrics?: {
2526
+ enabled?: boolean;
2527
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
2528
+ clusterIP?: string;
2529
+ loadBalancerIP?: string;
2530
+ nodePort?: string | number;
2531
+ port?: number;
2532
+ containerPort?: number;
2533
+ name?: string;
2534
+ annotations?: Record<string, string>;
2535
+ labels?: Record<string, string>;
2536
+ metricsPath?: string;
2537
+ appProtocol?: string;
2538
+ externalTrafficPolicy?: string;
2539
+ internalTrafficPolicy?: string;
2540
+ headless?: {
2541
+ enabled?: boolean;
2542
+ };
2543
+ };
2544
+ };
2545
+ serviceMonitor?: {
2546
+ enabled?: boolean;
2547
+ scheme?: string;
2548
+ scrapeInterval?: string;
2549
+ scrapeTimeout?: string;
2550
+ relabelings?: object[];
2551
+ metricRelabelings?: object[];
2552
+ labels?: Record<string, string>;
2553
+ tlsConfig?: object;
2554
+ targetLabels?: string[];
2555
+ };
2556
+ };
2557
+ oathkeeperValues?: {
2558
+ global?: {
2559
+ imageRegistry?: string;
2560
+ ory?: object;
2561
+ podMetadata?: {
2562
+ labels?: Record<string, string>;
2563
+ annotations?: Record<string, string>;
2564
+ };
2565
+ };
2566
+ replicaCount?: number;
2567
+ revisionHistoryLimit?: number;
2568
+ singleNamespaceMode?: boolean;
2569
+ rulesConfigmapNamespace?: string;
2570
+ rulesFileName?: string;
2571
+ image?: {
2572
+ registry?: string;
2573
+ repository?: string;
2574
+ tag?: string;
2575
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
2576
+ };
2577
+ imagePullSecrets?: object[];
2578
+ securityContext?: object;
2579
+ podSecurityContext?: object;
2580
+ deployment?: {
2581
+ envs?: object;
2582
+ extraLabels?: Record<string, string>;
2583
+ annotations?: Record<string, string>;
2584
+ };
2585
+ affinity?: object;
2586
+ pdb?: {
2587
+ enabled?: boolean;
2588
+ spec?: {
2589
+ minAvailable?: string | number;
2590
+ maxUnavailable?: string | number;
2591
+ };
2592
+ };
2593
+ };
2594
+ };
2595
+ resources?: {
2596
+ oauth2Clients?: {
2597
+ name: string;
2598
+ spec: {
2599
+ grantTypes: ("client_credentials" | "authorization_code" | "implicit" | "refresh_token")[];
2600
+ secretName: string;
2601
+ accessTokenStrategy?: "opaque" | "jwt";
2602
+ allowedCorsOrigins?: string[];
2603
+ audience?: string[];
2604
+ backChannelLogoutSessionRequired?: boolean;
2605
+ backChannelLogoutURI?: string;
2606
+ clientName?: string;
2607
+ clientSecretExpiresAt?: number;
2608
+ clientUri?: string;
2609
+ contacts?: string[];
2610
+ deletionPolicy?: "delete" | "orphan";
2611
+ frontChannelLogoutSessionRequired?: boolean;
2612
+ frontChannelLogoutURI?: string;
2613
+ hydraAdmin?: {
2614
+ endpoint?: string;
2615
+ forwardedProto?: string;
2616
+ port?: number;
2617
+ url?: string;
2618
+ };
2619
+ jwksUri?: string;
2620
+ logoUri?: string;
2621
+ metadata?: object;
2622
+ policyUri?: string;
2623
+ postLogoutRedirectUris?: string[];
2624
+ redirectUris?: string[];
2625
+ requestObjectSigningAlg?: string;
2626
+ requestUris?: string[];
2627
+ responseTypes?: ("code" | "token" | "id_token" | "code token" | "code id_token" | "id_token token" | "code id_token token")[];
2628
+ scope?: string;
2629
+ scopeArray?: string[];
2630
+ sectorIdentifierUri?: string;
2631
+ skipConsent?: boolean;
2632
+ skipLogoutConsent?: boolean;
2633
+ subjectType?: "public" | "pairwise";
2634
+ tokenEndpointAuthMethod?: "none" | "client_secret_basic" | "client_secret_post" | "private_key_jwt";
2635
+ tokenEndpointAuthSigningAlg?: string;
2636
+ tokenLifespans?: {
2637
+ authorization_code_grant_access_token_lifespan?: string;
2638
+ authorization_code_grant_id_token_lifespan?: string;
2639
+ authorization_code_grant_refresh_token_lifespan?: string;
2640
+ client_credentials_grant_access_token_lifespan?: string;
2641
+ implicit_grant_access_token_lifespan?: string;
2642
+ implicit_grant_id_token_lifespan?: string;
2643
+ jwt_bearer_grant_access_token_lifespan?: string;
2644
+ refresh_token_grant_access_token_lifespan?: string;
2645
+ refresh_token_grant_id_token_lifespan?: string;
2646
+ refresh_token_grant_refresh_token_lifespan?: string;
2647
+ };
2648
+ tosUri?: string;
2649
+ userinfoSignedResponseAlg?: string;
2650
+ };
2651
+ id?: string;
2652
+ namespace?: string;
2653
+ }[];
2654
+ oathkeeperRules?: {
2655
+ name: string;
2656
+ spec: {
2657
+ match: {
2658
+ methods: string[];
2659
+ url: string;
2660
+ };
2661
+ authenticators?: {
2662
+ handler: string;
2663
+ config?: object;
2664
+ }[];
2665
+ authorizer?: {
2666
+ handler: string;
2667
+ config?: object;
2668
+ };
2669
+ configMapName?: string;
2670
+ errors?: {
2671
+ handler: string;
2672
+ config?: object;
2673
+ }[];
2674
+ mutators?: {
2675
+ handler: string;
2676
+ config?: object;
2677
+ }[];
2678
+ upstream?: {
2679
+ url: string;
2680
+ preserveHost?: boolean;
2681
+ stripPath?: string;
2682
+ };
2683
+ };
2684
+ id?: string;
2685
+ namespace?: string;
2686
+ }[];
2687
+ };
2688
+ }, {}>;
2689
+ /** ArkType schema for `OryPlatformStackConfig`. */
2690
+ export declare const OryPlatformStackConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
2691
+ name: string;
2692
+ namespace?: string;
2693
+ version?: string;
2694
+ dependencySources?: {
2695
+ hydra?: {
2696
+ database?: {
2697
+ dsn: {
2698
+ mode: "external";
2699
+ value?: {
2700
+ value: string;
2701
+ } | {
2702
+ secretRef: {
2703
+ name: string;
2704
+ key: string;
2705
+ };
2706
+ };
2707
+ url?: string;
2708
+ resourceName?: string;
2709
+ } | {
2710
+ mode: "managed";
2711
+ resourceName?: string;
2712
+ url?: string;
2713
+ namespace?: string;
2714
+ secretName?: string;
2715
+ secretKey?: string;
2716
+ };
2717
+ databaseName?: string;
2718
+ };
2719
+ systemSecret?: {
2720
+ mode: "external";
2721
+ value?: {
2722
+ value: string;
2723
+ } | {
2724
+ secretRef: {
2725
+ name: string;
2726
+ key: string;
2727
+ };
2728
+ };
2729
+ url?: string;
2730
+ resourceName?: string;
2731
+ } | {
2732
+ mode: "managed";
2733
+ resourceName?: string;
2734
+ url?: string;
2735
+ namespace?: string;
2736
+ secretName?: string;
2737
+ secretKey?: string;
2738
+ };
2739
+ issuerUrl?: {
2740
+ url: {
2741
+ mode: "external";
2742
+ value?: {
2743
+ value: string;
2744
+ } | {
2745
+ secretRef: {
2746
+ name: string;
2747
+ key: string;
2748
+ };
2749
+ };
2750
+ url?: string;
2751
+ resourceName?: string;
2752
+ } | {
2753
+ mode: "managed";
2754
+ resourceName?: string;
2755
+ url?: string;
2756
+ namespace?: string;
2757
+ secretName?: string;
2758
+ secretKey?: string;
2759
+ };
2760
+ };
2761
+ loginUrl?: {
2762
+ url: {
2763
+ mode: "external";
2764
+ value?: {
2765
+ value: string;
2766
+ } | {
2767
+ secretRef: {
2768
+ name: string;
2769
+ key: string;
2770
+ };
2771
+ };
2772
+ url?: string;
2773
+ resourceName?: string;
2774
+ } | {
2775
+ mode: "managed";
2776
+ resourceName?: string;
2777
+ url?: string;
2778
+ namespace?: string;
2779
+ secretName?: string;
2780
+ secretKey?: string;
2781
+ };
2782
+ };
2783
+ consentUrl?: {
2784
+ url: {
2785
+ mode: "external";
2786
+ value?: {
2787
+ value: string;
2788
+ } | {
2789
+ secretRef: {
2790
+ name: string;
2791
+ key: string;
2792
+ };
2793
+ };
2794
+ url?: string;
2795
+ resourceName?: string;
2796
+ } | {
2797
+ mode: "managed";
2798
+ resourceName?: string;
2799
+ url?: string;
2800
+ namespace?: string;
2801
+ secretName?: string;
2802
+ secretKey?: string;
2803
+ };
2804
+ };
2805
+ logoutUrl?: {
2806
+ url: {
2807
+ mode: "external";
2808
+ value?: {
2809
+ value: string;
2810
+ } | {
2811
+ secretRef: {
2812
+ name: string;
2813
+ key: string;
2814
+ };
2815
+ };
2816
+ url?: string;
2817
+ resourceName?: string;
2818
+ } | {
2819
+ mode: "managed";
2820
+ resourceName?: string;
2821
+ url?: string;
2822
+ namespace?: string;
2823
+ secretName?: string;
2824
+ secretKey?: string;
2825
+ };
2826
+ };
2827
+ };
2828
+ kratos?: {
2829
+ database?: {
2830
+ dsn: {
2831
+ mode: "external";
2832
+ value?: {
2833
+ value: string;
2834
+ } | {
2835
+ secretRef: {
2836
+ name: string;
2837
+ key: string;
2838
+ };
2839
+ };
2840
+ url?: string;
2841
+ resourceName?: string;
2842
+ } | {
2843
+ mode: "managed";
2844
+ resourceName?: string;
2845
+ url?: string;
2846
+ namespace?: string;
2847
+ secretName?: string;
2848
+ secretKey?: string;
2849
+ };
2850
+ databaseName?: string;
2851
+ };
2852
+ publicBaseUrl?: {
2853
+ url: {
2854
+ mode: "external";
2855
+ value?: {
2856
+ value: string;
2857
+ } | {
2858
+ secretRef: {
2859
+ name: string;
2860
+ key: string;
2861
+ };
2862
+ };
2863
+ url?: string;
2864
+ resourceName?: string;
2865
+ } | {
2866
+ mode: "managed";
2867
+ resourceName?: string;
2868
+ url?: string;
2869
+ namespace?: string;
2870
+ secretName?: string;
2871
+ secretKey?: string;
2872
+ };
2873
+ };
2874
+ browserBaseUrl?: {
2875
+ url: {
2876
+ mode: "external";
2877
+ value?: {
2878
+ value: string;
2879
+ } | {
2880
+ secretRef: {
2881
+ name: string;
2882
+ key: string;
2883
+ };
2884
+ };
2885
+ url?: string;
2886
+ resourceName?: string;
2887
+ } | {
2888
+ mode: "managed";
2889
+ resourceName?: string;
2890
+ url?: string;
2891
+ namespace?: string;
2892
+ secretName?: string;
2893
+ secretKey?: string;
2894
+ };
2895
+ };
2896
+ secrets?: Record<string, unknown>;
2897
+ courier?: {
2898
+ mode: "external";
2899
+ value?: {
2900
+ value: string;
2901
+ } | {
2902
+ secretRef: {
2903
+ name: string;
2904
+ key: string;
2905
+ };
2906
+ };
2907
+ url?: string;
2908
+ resourceName?: string;
2909
+ } | {
2910
+ mode: "managed";
2911
+ resourceName?: string;
2912
+ url?: string;
2913
+ namespace?: string;
2914
+ secretName?: string;
2915
+ secretKey?: string;
2916
+ };
2917
+ };
2918
+ keto?: {
2919
+ database?: {
2920
+ dsn: {
2921
+ mode: "external";
2922
+ value?: {
2923
+ value: string;
2924
+ } | {
2925
+ secretRef: {
2926
+ name: string;
2927
+ key: string;
2928
+ };
2929
+ };
2930
+ url?: string;
2931
+ resourceName?: string;
2932
+ } | {
2933
+ mode: "managed";
2934
+ resourceName?: string;
2935
+ url?: string;
2936
+ namespace?: string;
2937
+ secretName?: string;
2938
+ secretKey?: string;
2939
+ };
2940
+ databaseName?: string;
2941
+ };
2942
+ };
2943
+ oathkeeper?: {
2944
+ proxyRoute?: {
2945
+ url: {
2946
+ mode: "external";
2947
+ value?: {
2948
+ value: string;
2949
+ } | {
2950
+ secretRef: {
2951
+ name: string;
2952
+ key: string;
2953
+ };
2954
+ };
2955
+ url?: string;
2956
+ resourceName?: string;
2957
+ } | {
2958
+ mode: "managed";
2959
+ resourceName?: string;
2960
+ url?: string;
2961
+ namespace?: string;
2962
+ secretName?: string;
2963
+ secretKey?: string;
2964
+ };
2965
+ };
2966
+ apiRoute?: {
2967
+ url: {
2968
+ mode: "external";
2969
+ value?: {
2970
+ value: string;
2971
+ } | {
2972
+ secretRef: {
2973
+ name: string;
2974
+ key: string;
2975
+ };
2976
+ };
2977
+ url?: string;
2978
+ resourceName?: string;
2979
+ } | {
2980
+ mode: "managed";
2981
+ resourceName?: string;
2982
+ url?: string;
2983
+ namespace?: string;
2984
+ secretName?: string;
2985
+ secretKey?: string;
2986
+ };
2987
+ };
2988
+ upstream?: {
2989
+ url: {
2990
+ mode: "external";
2991
+ value?: {
2992
+ value: string;
2993
+ } | {
2994
+ secretRef: {
2995
+ name: string;
2996
+ key: string;
2997
+ };
2998
+ };
2999
+ url?: string;
3000
+ resourceName?: string;
3001
+ } | {
3002
+ mode: "managed";
3003
+ resourceName?: string;
3004
+ url?: string;
3005
+ namespace?: string;
3006
+ secretName?: string;
3007
+ secretKey?: string;
3008
+ };
3009
+ };
3010
+ mutatorIdTokenJwks?: {
3011
+ mode: "external";
3012
+ value?: {
3013
+ value: string;
3014
+ } | {
3015
+ secretRef: {
3016
+ name: string;
3017
+ key: string;
3018
+ };
3019
+ };
3020
+ url?: string;
3021
+ resourceName?: string;
3022
+ } | {
3023
+ mode: "managed";
3024
+ resourceName?: string;
3025
+ url?: string;
3026
+ namespace?: string;
3027
+ secretName?: string;
3028
+ secretKey?: string;
3029
+ };
3030
+ };
3031
+ courier?: {
3032
+ mode: "external";
3033
+ value?: {
3034
+ value: string;
3035
+ } | {
3036
+ secretRef: {
3037
+ name: string;
3038
+ key: string;
3039
+ };
3040
+ };
3041
+ url?: string;
3042
+ resourceName?: string;
3043
+ } | {
3044
+ mode: "managed";
3045
+ resourceName?: string;
3046
+ url?: string;
3047
+ namespace?: string;
3048
+ secretName?: string;
3049
+ secretKey?: string;
3050
+ };
3051
+ };
3052
+ shared?: boolean;
3053
+ global?: {
3054
+ imageRegistry?: string;
3055
+ imagePullSecrets?: string[];
3056
+ };
3057
+ hydra?: {
3058
+ dsn?: {
3059
+ value: string;
3060
+ } | {
3061
+ secretRef: {
3062
+ name: string;
3063
+ key: string;
3064
+ };
3065
+ };
3066
+ issuerUrl?: string;
3067
+ loginUrl?: string;
3068
+ consentUrl?: string;
3069
+ logoutUrl?: string;
3070
+ systemSecret?: {
3071
+ value: string;
3072
+ } | {
3073
+ secretRef: {
3074
+ name: string;
3075
+ key: string;
3076
+ };
3077
+ };
3078
+ replicaCount?: number;
3079
+ resources?: {
3080
+ requests?: {
3081
+ cpu?: string;
3082
+ memory?: string;
3083
+ };
3084
+ limits?: {
3085
+ cpu?: string;
3086
+ memory?: string;
3087
+ };
3088
+ };
3089
+ serviceMonitor?: {
3090
+ enabled?: boolean;
3091
+ };
3092
+ values?: {
3093
+ global?: {
3094
+ imageRegistry?: string;
3095
+ podMetadata?: {
3096
+ labels?: Record<string, string>;
3097
+ annotations?: Record<string, string>;
3098
+ };
3099
+ };
3100
+ replicaCount?: number;
3101
+ image?: {
3102
+ registry?: string;
3103
+ repository?: string;
3104
+ tag?: string;
3105
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
3106
+ };
3107
+ imagePullSecrets?: object[];
3108
+ nameOverride?: string;
3109
+ fullnameOverride?: string;
3110
+ priorityClassName?: string;
3111
+ service?: {
3112
+ public?: {
3113
+ enabled?: boolean;
3114
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
3115
+ clusterIP?: string;
3116
+ loadBalancerIP?: string;
3117
+ nodePort?: string | number;
3118
+ port?: number;
3119
+ containerPort?: number;
3120
+ name?: string;
3121
+ annotations?: Record<string, string>;
3122
+ labels?: Record<string, string>;
3123
+ metricsPath?: string;
3124
+ appProtocol?: string;
3125
+ externalTrafficPolicy?: string;
3126
+ internalTrafficPolicy?: string;
3127
+ headless?: {
3128
+ enabled?: boolean;
3129
+ };
3130
+ };
3131
+ admin?: {
3132
+ enabled?: boolean;
3133
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
3134
+ clusterIP?: string;
3135
+ loadBalancerIP?: string;
3136
+ nodePort?: string | number;
3137
+ port?: number;
3138
+ containerPort?: number;
3139
+ name?: string;
3140
+ annotations?: Record<string, string>;
3141
+ labels?: Record<string, string>;
3142
+ metricsPath?: string;
3143
+ appProtocol?: string;
3144
+ externalTrafficPolicy?: string;
3145
+ internalTrafficPolicy?: string;
3146
+ headless?: {
3147
+ enabled?: boolean;
3148
+ };
3149
+ };
3150
+ };
3151
+ secret?: {
3152
+ enabled?: boolean;
3153
+ nameOverride?: string;
3154
+ enableDefaultAnnotations?: boolean;
3155
+ secretAnnotations?: Record<string, string>;
3156
+ extraAnnotations?: Record<string, string>;
3157
+ hashSumEnabled?: boolean;
3158
+ mountPath?: string;
3159
+ filename?: string;
3160
+ };
3161
+ ingress?: {
3162
+ public?: {
3163
+ enabled?: boolean;
3164
+ className?: string;
3165
+ annotations?: Record<string, string>;
3166
+ hosts?: {
3167
+ host?: string;
3168
+ paths?: {
3169
+ path?: string;
3170
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
3171
+ }[];
3172
+ }[];
3173
+ tls?: {
3174
+ secretName?: string;
3175
+ hosts?: string[];
3176
+ }[];
3177
+ defaultBackend?: object;
3178
+ };
3179
+ admin?: {
3180
+ enabled?: boolean;
3181
+ className?: string;
3182
+ annotations?: Record<string, string>;
3183
+ hosts?: {
3184
+ host?: string;
3185
+ paths?: {
3186
+ path?: string;
3187
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
3188
+ }[];
3189
+ }[];
3190
+ tls?: {
3191
+ secretName?: string;
3192
+ hosts?: string[];
3193
+ }[];
3194
+ defaultBackend?: object;
3195
+ };
3196
+ };
3197
+ hydra?: {
3198
+ command?: string[];
3199
+ customArgs?: string[];
3200
+ config?: object;
3201
+ automigration?: {
3202
+ enabled?: boolean;
3203
+ type?: "job" | "initContainer";
3204
+ customCommand?: string[];
3205
+ customArgs?: string[];
3206
+ resources?: {
3207
+ limits?: object;
3208
+ requests?: object;
3209
+ };
3210
+ extraEnv?: object[];
3211
+ };
3212
+ customMigrations?: {
3213
+ jobs?: object;
3214
+ };
3215
+ dev?: boolean;
3216
+ };
3217
+ deployment?: {
3218
+ strategy?: {
3219
+ type?: string;
3220
+ rollingUpdate?: {
3221
+ maxSurge?: string | number;
3222
+ maxUnavailable?: string | number;
3223
+ };
3224
+ };
3225
+ initContainerSecurityContext?: object;
3226
+ lifecycle?: object;
3227
+ labels?: Record<string, string>;
3228
+ annotations?: Record<string, string>;
3229
+ extraEnv?: object[];
3230
+ automigration?: {
3231
+ extraEnv?: object[];
3232
+ };
3233
+ serviceAccount?: {
3234
+ create?: boolean;
3235
+ annotations?: Record<string, string>;
3236
+ name?: string;
3237
+ automountServiceAccountToken?: boolean;
3238
+ };
3239
+ extraVolumes?: object[];
3240
+ extraVolumeMounts?: object[];
3241
+ autoscaling?: {
3242
+ enabled?: boolean;
3243
+ minReplicas?: number;
3244
+ maxReplicas?: number;
3245
+ targetCPU?: object;
3246
+ targetMemory?: object;
3247
+ behavior?: object;
3248
+ extraMetrics?: object[];
3249
+ };
3250
+ readinessProbe?: {
3251
+ initialDelaySeconds?: number;
3252
+ periodSeconds?: number;
3253
+ failureThreshold?: number;
3254
+ successThreshold?: number;
3255
+ timeoutSeconds?: number;
3256
+ };
3257
+ startupProbe?: {
3258
+ initialDelaySeconds?: number;
3259
+ periodSeconds?: number;
3260
+ failureThreshold?: number;
3261
+ successThreshold?: number;
3262
+ timeoutSeconds?: number;
3263
+ };
3264
+ extraInitContainers?: string;
3265
+ extraContainers?: string;
3266
+ customLivenessProbe?: object;
3267
+ customReadinessProbe?: object;
3268
+ customStartupProbe?: object;
3269
+ revisionHistoryLimit?: number;
3270
+ resources?: {
3271
+ limits?: object;
3272
+ requests?: object;
3273
+ };
3274
+ podSecurityContext?: object;
3275
+ securityContext?: object;
3276
+ nodeSelector?: Record<string, string>;
3277
+ tolerations?: object[];
3278
+ affinity?: object;
3279
+ topologySpreadConstraints?: object[];
3280
+ dnsConfig?: object;
3281
+ podMetadata?: {
3282
+ labels?: Record<string, string>;
3283
+ annotations?: Record<string, string>;
3284
+ };
3285
+ automountServiceAccountToken?: boolean;
3286
+ terminationGracePeriodSeconds?: number;
3287
+ };
3288
+ job?: {
3289
+ annotations?: Record<string, string>;
3290
+ labels?: Record<string, string>;
3291
+ extraContainers?: string | object[];
3292
+ extraEnv?: object[];
3293
+ podMetadata?: {
3294
+ labels?: Record<string, string>;
3295
+ annotations?: Record<string, string>;
3296
+ };
3297
+ extraInitContainers?: string;
3298
+ nodeSelector?: Record<string, string>;
3299
+ resources?: {
3300
+ limits?: object;
3301
+ requests?: object;
3302
+ };
3303
+ tolerations?: object[];
3304
+ lifecycle?: string | object;
3305
+ automountServiceAccountToken?: boolean;
3306
+ shareProcessNamespace?: boolean;
3307
+ serviceAccount?: {
3308
+ create?: boolean;
3309
+ annotations?: Record<string, string>;
3310
+ name?: string;
3311
+ automountServiceAccountToken?: boolean;
3312
+ };
3313
+ spec?: {
3314
+ backoffLimit?: number;
3315
+ };
3316
+ };
3317
+ affinity?: object;
3318
+ maester?: {
3319
+ enabled?: boolean;
3320
+ };
3321
+ 'hydra-maester'?: {
3322
+ adminService?: {
3323
+ name?: string;
3324
+ port?: number;
3325
+ };
3326
+ };
3327
+ watcher?: {
3328
+ enabled?: boolean;
3329
+ image?: string;
3330
+ mountFile?: string;
3331
+ podMetadata?: {
3332
+ labels?: Record<string, string>;
3333
+ annotations?: Record<string, string>;
3334
+ };
3335
+ watchLabelKey?: string;
3336
+ revisionHistoryLimit?: number;
3337
+ automountServiceAccountToken?: boolean;
3338
+ podSecurityContext?: object;
3339
+ securityContext?: object;
3340
+ resources?: {
3341
+ limits?: object;
3342
+ requests?: object;
3343
+ };
3344
+ };
3345
+ janitor?: {
3346
+ enabled?: boolean;
3347
+ cleanupGrants?: boolean;
3348
+ cleanupRequests?: boolean;
3349
+ cleanupTokens?: boolean;
3350
+ batchSize?: number;
3351
+ limit?: number;
3352
+ };
3353
+ cronjob?: {
3354
+ janitor?: {
3355
+ annotations?: Record<string, string>;
3356
+ labels?: Record<string, string>;
3357
+ extraContainers?: string | object[];
3358
+ extraEnv?: object[];
3359
+ podMetadata?: {
3360
+ labels?: Record<string, string>;
3361
+ annotations?: Record<string, string>;
3362
+ };
3363
+ extraInitContainers?: string;
3364
+ nodeSelector?: Record<string, string>;
3365
+ resources?: {
3366
+ limits?: object;
3367
+ requests?: object;
3368
+ };
3369
+ tolerations?: object[];
3370
+ lifecycle?: string | object;
3371
+ automountServiceAccountToken?: boolean;
3372
+ shareProcessNamespace?: boolean;
3373
+ serviceAccount?: {
3374
+ create?: boolean;
3375
+ annotations?: Record<string, string>;
3376
+ name?: string;
3377
+ automountServiceAccountToken?: boolean;
3378
+ };
3379
+ spec?: {
3380
+ backoffLimit?: number;
3381
+ };
3382
+ };
3383
+ };
3384
+ pdb?: {
3385
+ enabled?: boolean;
3386
+ spec?: {
3387
+ minAvailable?: string | number;
3388
+ maxUnavailable?: string | number;
3389
+ };
3390
+ };
3391
+ serviceMonitor?: {
3392
+ enabled?: boolean;
3393
+ scheme?: string;
3394
+ scrapeInterval?: string;
3395
+ scrapeTimeout?: string;
3396
+ relabelings?: object[];
3397
+ metricRelabelings?: object[];
3398
+ labels?: Record<string, string>;
3399
+ tlsConfig?: object;
3400
+ targetLabels?: string[];
3401
+ };
3402
+ configmap?: {
3403
+ hashSumEnabled?: boolean;
3404
+ annotations?: Record<string, string>;
3405
+ };
3406
+ test?: {
3407
+ labels?: Record<string, string>;
3408
+ busybox?: {
3409
+ registry?: string;
3410
+ repository?: string;
3411
+ tag?: string;
3412
+ };
3413
+ };
3414
+ };
3415
+ };
3416
+ kratos?: {
3417
+ dsn?: {
3418
+ value: string;
3419
+ } | {
3420
+ secretRef: {
3421
+ name: string;
3422
+ key: string;
3423
+ };
3424
+ };
3425
+ publicBaseUrl?: string;
3426
+ browserBaseUrl?: string;
3427
+ identitySchema?: string;
3428
+ courier?: object;
3429
+ secrets?: Record<string, unknown>;
3430
+ replicaCount?: number;
3431
+ resources?: {
3432
+ requests?: {
3433
+ cpu?: string;
3434
+ memory?: string;
3435
+ };
3436
+ limits?: {
3437
+ cpu?: string;
3438
+ memory?: string;
3439
+ };
3440
+ };
3441
+ serviceMonitor?: {
3442
+ enabled?: boolean;
3443
+ };
3444
+ values?: {
3445
+ global?: {
3446
+ imageRegistry?: string;
3447
+ podMetadata?: {
3448
+ labels?: Record<string, string>;
3449
+ annotations?: Record<string, string>;
3450
+ };
3451
+ };
3452
+ replicaCount?: number;
3453
+ strategy?: {
3454
+ type?: string;
3455
+ rollingUpdate?: {
3456
+ maxSurge?: string | number;
3457
+ maxUnavailable?: string | number;
3458
+ };
3459
+ };
3460
+ image?: {
3461
+ registry?: string;
3462
+ repository?: string;
3463
+ tag?: string;
3464
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
3465
+ };
3466
+ imagePullSecrets?: object[];
3467
+ nameOverride?: string;
3468
+ fullnameOverride?: string;
3469
+ service?: {
3470
+ admin?: {
3471
+ enabled?: boolean;
3472
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
3473
+ clusterIP?: string;
3474
+ loadBalancerIP?: string;
3475
+ nodePort?: string | number;
3476
+ port?: number;
3477
+ containerPort?: number;
3478
+ name?: string;
3479
+ annotations?: Record<string, string>;
3480
+ labels?: Record<string, string>;
3481
+ metricsPath?: string;
3482
+ appProtocol?: string;
3483
+ externalTrafficPolicy?: string;
3484
+ internalTrafficPolicy?: string;
3485
+ headless?: {
3486
+ enabled?: boolean;
3487
+ };
3488
+ };
3489
+ public?: {
3490
+ enabled?: boolean;
3491
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
3492
+ clusterIP?: string;
3493
+ loadBalancerIP?: string;
3494
+ nodePort?: string | number;
3495
+ port?: number;
3496
+ containerPort?: number;
3497
+ name?: string;
3498
+ annotations?: Record<string, string>;
3499
+ labels?: Record<string, string>;
3500
+ metricsPath?: string;
3501
+ appProtocol?: string;
3502
+ externalTrafficPolicy?: string;
3503
+ internalTrafficPolicy?: string;
3504
+ headless?: {
3505
+ enabled?: boolean;
3506
+ };
3507
+ };
3508
+ courier?: {
3509
+ enabled?: boolean;
3510
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
3511
+ clusterIP?: string;
3512
+ loadBalancerIP?: string;
3513
+ nodePort?: string | number;
3514
+ port?: number;
3515
+ containerPort?: number;
3516
+ name?: string;
3517
+ annotations?: Record<string, string>;
3518
+ labels?: Record<string, string>;
3519
+ metricsPath?: string;
3520
+ appProtocol?: string;
3521
+ externalTrafficPolicy?: string;
3522
+ internalTrafficPolicy?: string;
3523
+ headless?: {
3524
+ enabled?: boolean;
3525
+ };
3526
+ };
3527
+ };
3528
+ secret?: {
3529
+ enabled?: boolean;
3530
+ nameOverride?: string;
3531
+ enableDefaultAnnotations?: boolean;
3532
+ secretAnnotations?: Record<string, string>;
3533
+ extraAnnotations?: Record<string, string>;
3534
+ hashSumEnabled?: boolean;
3535
+ mountPath?: string;
3536
+ filename?: string;
3537
+ };
3538
+ ingress?: {
3539
+ admin?: {
3540
+ enabled?: boolean;
3541
+ className?: string;
3542
+ annotations?: Record<string, string>;
3543
+ hosts?: {
3544
+ host?: string;
3545
+ paths?: {
3546
+ path?: string;
3547
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
3548
+ }[];
3549
+ }[];
3550
+ tls?: {
3551
+ secretName?: string;
3552
+ hosts?: string[];
3553
+ }[];
3554
+ defaultBackend?: object;
3555
+ };
3556
+ public?: {
3557
+ enabled?: boolean;
3558
+ className?: string;
3559
+ annotations?: Record<string, string>;
3560
+ hosts?: {
3561
+ host?: string;
3562
+ paths?: {
3563
+ path?: string;
3564
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
3565
+ }[];
3566
+ }[];
3567
+ tls?: {
3568
+ secretName?: string;
3569
+ hosts?: string[];
3570
+ }[];
3571
+ defaultBackend?: object;
3572
+ };
3573
+ };
3574
+ kratos?: {
3575
+ development?: boolean;
3576
+ automigration?: {
3577
+ enabled?: boolean;
3578
+ type?: "job" | "initContainer";
3579
+ customCommand?: string[];
3580
+ customArgs?: string[];
3581
+ resources?: {
3582
+ limits?: object;
3583
+ requests?: object;
3584
+ };
3585
+ extraEnv?: object[];
3586
+ };
3587
+ identitySchemas?: Record<string, string>;
3588
+ emailTemplates?: object;
3589
+ config?: object;
3590
+ customMigrations?: {
3591
+ jobs?: object;
3592
+ };
3593
+ };
3594
+ deployment?: {
3595
+ lifecycle?: object;
3596
+ readinessProbe?: {
3597
+ initialDelaySeconds?: number;
3598
+ periodSeconds?: number;
3599
+ failureThreshold?: number;
3600
+ successThreshold?: number;
3601
+ timeoutSeconds?: number;
3602
+ };
3603
+ startupProbe?: {
3604
+ initialDelaySeconds?: number;
3605
+ periodSeconds?: number;
3606
+ failureThreshold?: number;
3607
+ successThreshold?: number;
3608
+ timeoutSeconds?: number;
3609
+ };
3610
+ customLivenessProbe?: object;
3611
+ customReadinessProbe?: object;
3612
+ customStartupProbe?: object;
3613
+ extraArgs?: string[];
3614
+ extraEnv?: object[];
3615
+ extraVolumes?: object[];
3616
+ extraVolumeMounts?: object[];
3617
+ extraInitContainers?: string;
3618
+ extraContainers?: string;
3619
+ priorityClassName?: string;
3620
+ labels?: Record<string, string>;
3621
+ annotations?: Record<string, string>;
3622
+ environmentSecretsName?: string;
3623
+ serviceAccount?: {
3624
+ create?: boolean;
3625
+ annotations?: Record<string, string>;
3626
+ name?: string;
3627
+ automountServiceAccountToken?: boolean;
3628
+ };
3629
+ automigration?: {
3630
+ extraEnv?: object[];
3631
+ };
3632
+ revisionHistoryLimit?: number;
3633
+ resources?: {
3634
+ limits?: object;
3635
+ requests?: object;
3636
+ };
3637
+ podSecurityContext?: object;
3638
+ securityContext?: object;
3639
+ nodeSelector?: Record<string, string>;
3640
+ tolerations?: object[];
3641
+ affinity?: object;
3642
+ topologySpreadConstraints?: object[];
3643
+ dnsConfig?: object;
3644
+ podMetadata?: {
3645
+ labels?: Record<string, string>;
3646
+ annotations?: Record<string, string>;
3647
+ };
3648
+ automountServiceAccountToken?: boolean;
3649
+ terminationGracePeriodSeconds?: number;
3650
+ };
3651
+ statefulSet?: {
3652
+ resources?: {
3653
+ limits?: object;
3654
+ requests?: object;
3655
+ };
3656
+ extraArgs?: string[];
3657
+ extraEnv?: object[];
3658
+ extraVolumes?: object[];
3659
+ extraVolumeMounts?: object[];
3660
+ extraInitContainers?: string;
3661
+ extraContainers?: string;
3662
+ annotations?: Record<string, string>;
3663
+ environmentSecretsName?: string;
3664
+ labels?: Record<string, string>;
3665
+ priorityClassName?: string;
3666
+ log?: {
3667
+ format?: string;
3668
+ level?: string;
3669
+ };
3670
+ revisionHistoryLimit?: number;
3671
+ podSecurityContext?: object;
3672
+ securityContext?: object;
3673
+ nodeSelector?: Record<string, string>;
3674
+ tolerations?: object[];
3675
+ affinity?: object;
3676
+ topologySpreadConstraints?: object[];
3677
+ dnsConfig?: object;
3678
+ podMetadata?: {
3679
+ labels?: Record<string, string>;
3680
+ annotations?: Record<string, string>;
3681
+ };
3682
+ automountServiceAccountToken?: boolean;
3683
+ terminationGracePeriodSeconds?: number;
3684
+ };
3685
+ securityContext?: object;
3686
+ autoscaling?: {
3687
+ enabled?: boolean;
3688
+ minReplicas?: number;
3689
+ maxReplicas?: number;
3690
+ targetCPU?: object;
3691
+ targetMemory?: object;
3692
+ behavior?: object;
3693
+ extraMetrics?: object[];
3694
+ };
3695
+ job?: {
3696
+ annotations?: Record<string, string>;
3697
+ labels?: Record<string, string>;
3698
+ extraContainers?: string | object[];
3699
+ extraEnv?: object[];
3700
+ podMetadata?: {
3701
+ labels?: Record<string, string>;
3702
+ annotations?: Record<string, string>;
3703
+ };
3704
+ extraInitContainers?: string;
3705
+ nodeSelector?: Record<string, string>;
3706
+ resources?: {
3707
+ limits?: object;
3708
+ requests?: object;
3709
+ };
3710
+ tolerations?: object[];
3711
+ lifecycle?: string | object;
3712
+ automountServiceAccountToken?: boolean;
3713
+ shareProcessNamespace?: boolean;
3714
+ serviceAccount?: {
3715
+ create?: boolean;
3716
+ annotations?: Record<string, string>;
3717
+ name?: string;
3718
+ automountServiceAccountToken?: boolean;
3719
+ };
3720
+ spec?: {
3721
+ backoffLimit?: number;
3722
+ };
3723
+ };
3724
+ courier?: {
3725
+ enabled?: boolean;
3726
+ };
3727
+ watcher?: {
3728
+ enabled?: boolean;
3729
+ image?: string;
3730
+ mountFile?: string;
3731
+ podMetadata?: {
3732
+ labels?: Record<string, string>;
3733
+ annotations?: Record<string, string>;
3734
+ };
3735
+ watchLabelKey?: string;
3736
+ revisionHistoryLimit?: number;
3737
+ automountServiceAccountToken?: boolean;
3738
+ podSecurityContext?: object;
3739
+ securityContext?: object;
3740
+ resources?: {
3741
+ limits?: object;
3742
+ requests?: object;
3743
+ };
3744
+ };
3745
+ cleanup?: {
3746
+ enabled?: boolean;
3747
+ batchSize?: number;
3748
+ sleepTables?: string;
3749
+ keepLast?: string;
3750
+ };
3751
+ cronjob?: {
3752
+ cleanup?: {
3753
+ annotations?: Record<string, string>;
3754
+ labels?: Record<string, string>;
3755
+ extraContainers?: string | object[];
3756
+ extraEnv?: object[];
3757
+ podMetadata?: {
3758
+ labels?: Record<string, string>;
3759
+ annotations?: Record<string, string>;
3760
+ };
3761
+ extraInitContainers?: string;
3762
+ nodeSelector?: Record<string, string>;
3763
+ resources?: {
3764
+ limits?: object;
3765
+ requests?: object;
3766
+ };
3767
+ tolerations?: object[];
3768
+ lifecycle?: string | object;
3769
+ automountServiceAccountToken?: boolean;
3770
+ shareProcessNamespace?: boolean;
3771
+ serviceAccount?: {
3772
+ create?: boolean;
3773
+ annotations?: Record<string, string>;
3774
+ name?: string;
3775
+ automountServiceAccountToken?: boolean;
3776
+ };
3777
+ spec?: {
3778
+ backoffLimit?: number;
3779
+ };
3780
+ };
3781
+ };
3782
+ pdb?: {
3783
+ enabled?: boolean;
3784
+ spec?: {
3785
+ minAvailable?: string | number;
3786
+ maxUnavailable?: string | number;
3787
+ };
3788
+ };
3789
+ serviceMonitor?: {
3790
+ enabled?: boolean;
3791
+ scheme?: string;
3792
+ scrapeInterval?: string;
3793
+ scrapeTimeout?: string;
3794
+ relabelings?: object[];
3795
+ metricRelabelings?: object[];
3796
+ labels?: Record<string, string>;
3797
+ tlsConfig?: object;
3798
+ targetLabels?: string[];
3799
+ };
3800
+ configmap?: {
3801
+ hashSumEnabled?: boolean;
3802
+ annotations?: Record<string, string>;
3803
+ };
3804
+ test?: {
3805
+ labels?: Record<string, string>;
3806
+ busybox?: {
3807
+ registry?: string;
3808
+ repository?: string;
3809
+ tag?: string;
3810
+ };
3811
+ };
3812
+ };
3813
+ };
3814
+ keto?: {
3815
+ dsn?: {
3816
+ value: string;
3817
+ } | {
3818
+ secretRef: {
3819
+ name: string;
3820
+ key: string;
3821
+ };
3822
+ };
3823
+ namespaces?: {
3824
+ id: number;
3825
+ name: string;
3826
+ }[];
3827
+ replicaCount?: number;
3828
+ resources?: {
3829
+ requests?: {
3830
+ cpu?: string;
3831
+ memory?: string;
3832
+ };
3833
+ limits?: {
3834
+ cpu?: string;
3835
+ memory?: string;
3836
+ };
3837
+ };
3838
+ serviceMonitor?: {
3839
+ enabled?: boolean;
3840
+ };
3841
+ values?: {
3842
+ global?: {
3843
+ imageRegistry?: string;
3844
+ podMetadata?: {
3845
+ labels?: Record<string, string>;
3846
+ annotations?: Record<string, string>;
3847
+ };
3848
+ };
3849
+ replicaCount?: number;
3850
+ image?: {
3851
+ registry?: string;
3852
+ repository?: string;
3853
+ tag?: string;
3854
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
3855
+ };
3856
+ imagePullSecrets?: object[];
3857
+ nameOverride?: string;
3858
+ fullnameOverride?: string;
3859
+ priorityClassName?: string;
3860
+ serviceAccount?: {
3861
+ create?: boolean;
3862
+ annotations?: Record<string, string>;
3863
+ name?: string;
3864
+ automountServiceAccountToken?: boolean;
3865
+ };
3866
+ podSecurityContext?: object;
3867
+ securityContext?: object;
3868
+ job?: {
3869
+ annotations?: Record<string, string>;
3870
+ labels?: Record<string, string>;
3871
+ extraContainers?: string | object[];
3872
+ extraEnv?: object[];
3873
+ podMetadata?: {
3874
+ labels?: Record<string, string>;
3875
+ annotations?: Record<string, string>;
3876
+ };
3877
+ extraInitContainers?: string;
3878
+ nodeSelector?: Record<string, string>;
3879
+ resources?: {
3880
+ limits?: object;
3881
+ requests?: object;
3882
+ };
3883
+ tolerations?: object[];
3884
+ lifecycle?: string | object;
3885
+ automountServiceAccountToken?: boolean;
3886
+ shareProcessNamespace?: boolean;
3887
+ serviceAccount?: {
3888
+ create?: boolean;
3889
+ annotations?: Record<string, string>;
3890
+ name?: string;
3891
+ automountServiceAccountToken?: boolean;
3892
+ };
3893
+ spec?: {
3894
+ backoffLimit?: number;
3895
+ };
3896
+ };
3897
+ ingress?: {
3898
+ read?: {
3899
+ enabled?: boolean;
3900
+ className?: string;
3901
+ annotations?: Record<string, string>;
3902
+ hosts?: {
3903
+ host?: string;
3904
+ paths?: {
3905
+ path?: string;
3906
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
3907
+ }[];
3908
+ }[];
3909
+ tls?: {
3910
+ secretName?: string;
3911
+ hosts?: string[];
3912
+ }[];
3913
+ defaultBackend?: object;
3914
+ };
3915
+ write?: {
3916
+ enabled?: boolean;
3917
+ className?: string;
3918
+ annotations?: Record<string, string>;
3919
+ hosts?: {
3920
+ host?: string;
3921
+ paths?: {
3922
+ path?: string;
3923
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
3924
+ }[];
3925
+ }[];
3926
+ tls?: {
3927
+ secretName?: string;
3928
+ hosts?: string[];
3929
+ }[];
3930
+ defaultBackend?: object;
3931
+ };
3932
+ };
3933
+ service?: {
3934
+ read?: {
3935
+ enabled?: boolean;
3936
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
3937
+ clusterIP?: string;
3938
+ loadBalancerIP?: string;
3939
+ nodePort?: string | number;
3940
+ port?: number;
3941
+ containerPort?: number;
3942
+ name?: string;
3943
+ annotations?: Record<string, string>;
3944
+ labels?: Record<string, string>;
3945
+ metricsPath?: string;
3946
+ appProtocol?: string;
3947
+ externalTrafficPolicy?: string;
3948
+ internalTrafficPolicy?: string;
3949
+ headless?: {
3950
+ enabled?: boolean;
3951
+ };
3952
+ };
3953
+ write?: {
3954
+ enabled?: boolean;
3955
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
3956
+ clusterIP?: string;
3957
+ loadBalancerIP?: string;
3958
+ nodePort?: string | number;
3959
+ port?: number;
3960
+ containerPort?: number;
3961
+ name?: string;
3962
+ annotations?: Record<string, string>;
3963
+ labels?: Record<string, string>;
3964
+ metricsPath?: string;
3965
+ appProtocol?: string;
3966
+ externalTrafficPolicy?: string;
3967
+ internalTrafficPolicy?: string;
3968
+ headless?: {
3969
+ enabled?: boolean;
3970
+ };
3971
+ };
3972
+ metrics?: {
3973
+ enabled?: boolean;
3974
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
3975
+ clusterIP?: string;
3976
+ loadBalancerIP?: string;
3977
+ nodePort?: string | number;
3978
+ port?: number;
3979
+ containerPort?: number;
3980
+ name?: string;
3981
+ annotations?: Record<string, string>;
3982
+ labels?: Record<string, string>;
3983
+ metricsPath?: string;
3984
+ appProtocol?: string;
3985
+ externalTrafficPolicy?: string;
3986
+ internalTrafficPolicy?: string;
3987
+ headless?: {
3988
+ enabled?: boolean;
3989
+ };
3990
+ };
3991
+ };
3992
+ extraServices?: object;
3993
+ secret?: {
3994
+ enabled?: boolean;
3995
+ nameOverride?: string;
3996
+ enableDefaultAnnotations?: boolean;
3997
+ secretAnnotations?: Record<string, string>;
3998
+ extraAnnotations?: Record<string, string>;
3999
+ hashSumEnabled?: boolean;
4000
+ mountPath?: string;
4001
+ filename?: string;
4002
+ };
4003
+ keto?: {
4004
+ command?: string[];
4005
+ customArgs?: string[];
4006
+ automigration?: {
4007
+ enabled?: boolean;
4008
+ type?: "job" | "initContainer";
4009
+ customCommand?: string[];
4010
+ customArgs?: string[];
4011
+ resources?: {
4012
+ limits?: object;
4013
+ requests?: object;
4014
+ };
4015
+ extraEnv?: object[];
4016
+ };
4017
+ config?: object;
4018
+ customMigrations?: {
4019
+ jobs?: object;
4020
+ };
4021
+ };
4022
+ deployment?: {
4023
+ strategy?: {
4024
+ type?: string;
4025
+ rollingUpdate?: {
4026
+ maxSurge?: string | number;
4027
+ maxUnavailable?: string | number;
4028
+ };
4029
+ };
4030
+ minReadySeconds?: number;
4031
+ podAnnotations?: Record<string, string>;
4032
+ lifecycle?: object;
4033
+ readinessProbe?: {
4034
+ initialDelaySeconds?: number;
4035
+ periodSeconds?: number;
4036
+ failureThreshold?: number;
4037
+ successThreshold?: number;
4038
+ timeoutSeconds?: number;
4039
+ };
4040
+ startupProbe?: {
4041
+ initialDelaySeconds?: number;
4042
+ periodSeconds?: number;
4043
+ failureThreshold?: number;
4044
+ successThreshold?: number;
4045
+ timeoutSeconds?: number;
4046
+ };
4047
+ customLivenessProbe?: object;
4048
+ customReadinessProbe?: object;
4049
+ customStartupProbe?: object;
4050
+ annotations?: Record<string, string>;
4051
+ autoscaling?: {
4052
+ enabled?: boolean;
4053
+ minReplicas?: number;
4054
+ maxReplicas?: number;
4055
+ targetCPU?: object;
4056
+ targetMemory?: object;
4057
+ behavior?: object;
4058
+ extraMetrics?: object[];
4059
+ };
4060
+ extraContainers?: string;
4061
+ extraEnv?: object[];
4062
+ extraVolumes?: object[];
4063
+ extraVolumeMounts?: object[];
4064
+ extraInitContainers?: string | object;
4065
+ extraLabels?: Record<string, string>;
4066
+ extraPorts?: object[];
4067
+ automigration?: {
4068
+ extraEnv?: object[];
4069
+ };
4070
+ revisionHistoryLimit?: number;
4071
+ resources?: {
4072
+ limits?: object;
4073
+ requests?: object;
4074
+ };
4075
+ podSecurityContext?: object;
4076
+ securityContext?: object;
4077
+ nodeSelector?: Record<string, string>;
4078
+ tolerations?: object[];
4079
+ affinity?: object;
4080
+ topologySpreadConstraints?: object[];
4081
+ dnsConfig?: object;
4082
+ podMetadata?: {
4083
+ labels?: Record<string, string>;
4084
+ annotations?: Record<string, string>;
4085
+ };
4086
+ automountServiceAccountToken?: boolean;
4087
+ terminationGracePeriodSeconds?: number;
4088
+ };
4089
+ watcher?: {
4090
+ enabled?: boolean;
4091
+ image?: string;
4092
+ mountFile?: string;
4093
+ podMetadata?: {
4094
+ labels?: Record<string, string>;
4095
+ annotations?: Record<string, string>;
4096
+ };
4097
+ watchLabelKey?: string;
4098
+ revisionHistoryLimit?: number;
4099
+ automountServiceAccountToken?: boolean;
4100
+ podSecurityContext?: object;
4101
+ securityContext?: object;
4102
+ resources?: {
4103
+ limits?: object;
4104
+ requests?: object;
4105
+ };
4106
+ };
4107
+ pdb?: {
4108
+ enabled?: boolean;
4109
+ spec?: {
4110
+ minAvailable?: string | number;
4111
+ maxUnavailable?: string | number;
4112
+ };
4113
+ };
4114
+ serviceMonitor?: {
4115
+ enabled?: boolean;
4116
+ scheme?: string;
4117
+ scrapeInterval?: string;
4118
+ scrapeTimeout?: string;
4119
+ relabelings?: object[];
4120
+ metricRelabelings?: object[];
4121
+ labels?: Record<string, string>;
4122
+ tlsConfig?: object;
4123
+ targetLabels?: string[];
4124
+ };
4125
+ configmap?: {
4126
+ hashSumEnabled?: boolean;
4127
+ annotations?: Record<string, string>;
4128
+ };
4129
+ test?: {
4130
+ labels?: Record<string, string>;
4131
+ busybox?: {
4132
+ registry?: string;
4133
+ repository?: string;
4134
+ tag?: string;
4135
+ };
4136
+ };
4137
+ };
4138
+ };
4139
+ oathkeeper?: {
4140
+ managedAccessRules?: boolean;
4141
+ mutatorIdTokenJwks?: {
4142
+ value: string;
4143
+ } | {
4144
+ secretRef: {
4145
+ name: string;
4146
+ key: string;
4147
+ };
4148
+ };
4149
+ replicaCount?: number;
4150
+ resources?: {
4151
+ requests?: {
4152
+ cpu?: string;
4153
+ memory?: string;
4154
+ };
4155
+ limits?: {
4156
+ cpu?: string;
4157
+ memory?: string;
4158
+ };
4159
+ };
4160
+ serviceMonitor?: {
4161
+ enabled?: boolean;
4162
+ };
4163
+ values?: {
4164
+ global?: {
4165
+ imageRegistry?: string;
4166
+ ory?: object;
4167
+ podMetadata?: {
4168
+ labels?: Record<string, string>;
4169
+ annotations?: Record<string, string>;
4170
+ };
4171
+ };
4172
+ replicaCount?: number;
4173
+ revisionHistoryLimit?: number;
4174
+ image?: {
4175
+ registry?: string;
4176
+ repository?: string;
4177
+ tag?: string;
4178
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
4179
+ initContainer?: {
4180
+ repository?: string;
4181
+ tag?: string;
4182
+ };
4183
+ };
4184
+ sidecar?: {
4185
+ image?: {
4186
+ repository?: string;
4187
+ tag?: string;
4188
+ };
4189
+ envs?: object;
4190
+ };
4191
+ priorityClassName?: string;
4192
+ imagePullSecrets?: object[];
4193
+ nameOverride?: string;
4194
+ fullnameOverride?: string;
4195
+ securityContext?: object;
4196
+ podSecurityContext?: object;
4197
+ demo?: boolean;
4198
+ service?: {
4199
+ proxy?: {
4200
+ enabled?: boolean;
4201
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
4202
+ clusterIP?: string;
4203
+ loadBalancerIP?: string;
4204
+ nodePort?: string | number;
4205
+ port?: number;
4206
+ containerPort?: number;
4207
+ name?: string;
4208
+ annotations?: Record<string, string>;
4209
+ labels?: Record<string, string>;
4210
+ metricsPath?: string;
4211
+ appProtocol?: string;
4212
+ externalTrafficPolicy?: string;
4213
+ internalTrafficPolicy?: string;
4214
+ headless?: {
4215
+ enabled?: boolean;
4216
+ };
4217
+ };
4218
+ api?: {
4219
+ enabled?: boolean;
4220
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
4221
+ clusterIP?: string;
4222
+ loadBalancerIP?: string;
4223
+ nodePort?: string | number;
4224
+ port?: number;
4225
+ containerPort?: number;
4226
+ name?: string;
4227
+ annotations?: Record<string, string>;
4228
+ labels?: Record<string, string>;
4229
+ metricsPath?: string;
4230
+ appProtocol?: string;
4231
+ externalTrafficPolicy?: string;
4232
+ internalTrafficPolicy?: string;
4233
+ headless?: {
4234
+ enabled?: boolean;
4235
+ };
4236
+ };
4237
+ metrics?: {
4238
+ enabled?: boolean;
4239
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
4240
+ clusterIP?: string;
4241
+ loadBalancerIP?: string;
4242
+ nodePort?: string | number;
4243
+ port?: number;
4244
+ containerPort?: number;
4245
+ name?: string;
4246
+ annotations?: Record<string, string>;
4247
+ labels?: Record<string, string>;
4248
+ metricsPath?: string;
4249
+ appProtocol?: string;
4250
+ externalTrafficPolicy?: string;
4251
+ internalTrafficPolicy?: string;
4252
+ headless?: {
4253
+ enabled?: boolean;
4254
+ };
4255
+ };
4256
+ };
4257
+ ingress?: {
4258
+ proxy?: {
4259
+ enabled?: boolean;
4260
+ className?: string;
4261
+ annotations?: Record<string, string>;
4262
+ hosts?: {
4263
+ host?: string;
4264
+ paths?: {
4265
+ path?: string;
4266
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
4267
+ }[];
4268
+ }[];
4269
+ tls?: {
4270
+ secretName?: string;
4271
+ hosts?: string[];
4272
+ }[];
4273
+ defaultBackend?: object;
4274
+ };
4275
+ api?: {
4276
+ enabled?: boolean;
4277
+ className?: string;
4278
+ annotations?: Record<string, string>;
4279
+ hosts?: {
4280
+ host?: string;
4281
+ paths?: {
4282
+ path?: string;
4283
+ pathType?: "Prefix" | "Exact" | "ImplementationSpecific";
4284
+ }[];
4285
+ }[];
4286
+ tls?: {
4287
+ secretName?: string;
4288
+ hosts?: string[];
4289
+ }[];
4290
+ defaultBackend?: object;
4291
+ };
4292
+ };
4293
+ oathkeeper?: {
4294
+ helmTemplatedConfigEnabled?: boolean;
4295
+ configFileOverride?: {
4296
+ enabled?: boolean;
4297
+ nameOverride?: string;
4298
+ };
4299
+ config?: object;
4300
+ mutatorIdTokenJWKs?: string;
4301
+ accessRulesOverride?: {
4302
+ nameOverride?: string;
4303
+ };
4304
+ accessRules?: string;
4305
+ managedAccessRules?: boolean;
4306
+ };
4307
+ secret?: {
4308
+ enabled?: boolean;
4309
+ nameOverride?: string;
4310
+ enableDefaultAnnotations?: boolean;
4311
+ secretAnnotations?: Record<string, string>;
4312
+ extraAnnotations?: Record<string, string>;
4313
+ hashSumEnabled?: boolean;
4314
+ mountPath?: string;
4315
+ filename?: string;
4316
+ };
4317
+ deployment?: {
4318
+ strategy?: {
4319
+ type?: string;
4320
+ rollingUpdate?: {
4321
+ maxSurge?: string | number;
4322
+ maxUnavailable?: string | number;
4323
+ };
4324
+ };
4325
+ lifecycle?: object;
4326
+ readinessProbe?: {
4327
+ initialDelaySeconds?: number;
4328
+ periodSeconds?: number;
4329
+ failureThreshold?: number;
4330
+ successThreshold?: number;
4331
+ timeoutSeconds?: number;
4332
+ };
4333
+ startupProbe?: {
4334
+ initialDelaySeconds?: number;
4335
+ periodSeconds?: number;
4336
+ failureThreshold?: number;
4337
+ successThreshold?: number;
4338
+ timeoutSeconds?: number;
4339
+ };
4340
+ customLivenessProbe?: object;
4341
+ customReadinessProbe?: object;
4342
+ customStartupProbe?: object;
4343
+ serviceAccount?: {
4344
+ create?: boolean;
4345
+ annotations?: Record<string, string>;
4346
+ name?: string;
4347
+ automountServiceAccountToken?: boolean;
4348
+ };
4349
+ extraEnv?: object[];
4350
+ extraArgs?: string[];
4351
+ extraVolumes?: object[];
4352
+ extraVolumeMounts?: object[];
4353
+ extraContainers?: string;
4354
+ extraInitContainers?: string;
4355
+ labels?: Record<string, string>;
4356
+ annotations?: Record<string, string>;
4357
+ autoscaling?: {
4358
+ enabled?: boolean;
4359
+ minReplicas?: number;
4360
+ maxReplicas?: number;
4361
+ targetCPU?: object;
4362
+ targetMemory?: object;
4363
+ behavior?: object;
4364
+ extraMetrics?: object[];
4365
+ };
4366
+ resources?: {
4367
+ limits?: object;
4368
+ requests?: object;
4369
+ };
4370
+ podSecurityContext?: object;
4371
+ securityContext?: object;
4372
+ nodeSelector?: Record<string, string>;
4373
+ tolerations?: object[];
4374
+ affinity?: object;
4375
+ topologySpreadConstraints?: object[];
4376
+ dnsConfig?: object;
4377
+ podMetadata?: {
4378
+ labels?: Record<string, string>;
4379
+ annotations?: Record<string, string>;
4380
+ };
4381
+ automountServiceAccountToken?: boolean;
4382
+ terminationGracePeriodSeconds?: number;
4383
+ };
4384
+ affinity?: object;
4385
+ maester?: {
4386
+ enabled?: boolean;
4387
+ };
4388
+ pdb?: {
4389
+ enabled?: boolean;
4390
+ spec?: {
4391
+ minAvailable?: string | number;
4392
+ maxUnavailable?: string | number;
4393
+ };
4394
+ };
4395
+ serviceMonitor?: {
4396
+ enabled?: boolean;
4397
+ scheme?: string;
4398
+ scrapeInterval?: string;
4399
+ scrapeTimeout?: string;
4400
+ relabelings?: object[];
4401
+ metricRelabelings?: object[];
4402
+ labels?: Record<string, string>;
4403
+ tlsConfig?: object;
4404
+ targetLabels?: string[];
4405
+ };
4406
+ configmap?: {
4407
+ hashSumEnabled?: boolean;
4408
+ annotations?: Record<string, string>;
4409
+ };
4410
+ test?: {
4411
+ labels?: Record<string, string>;
4412
+ busybox?: {
4413
+ registry?: string;
4414
+ repository?: string;
4415
+ tag?: string;
4416
+ };
4417
+ };
4418
+ };
4419
+ };
4420
+ maester?: {
4421
+ hydra?: {
4422
+ enabled?: boolean;
4423
+ singleNamespaceMode?: boolean;
4424
+ enabledNamespaces?: string[];
4425
+ serviceMonitor?: {
4426
+ enabled?: boolean;
4427
+ };
4428
+ };
4429
+ oathkeeper?: {
4430
+ enabled?: boolean;
4431
+ singleNamespaceMode?: boolean;
4432
+ rulesConfigmapNamespace?: string;
4433
+ rulesFileName?: string;
4434
+ };
4435
+ hydraValues?: {
4436
+ global?: {
4437
+ imageRegistry?: string;
4438
+ podMetadata?: {
4439
+ labels?: Record<string, string>;
4440
+ annotations?: Record<string, string>;
4441
+ };
4442
+ };
4443
+ replicaCount?: number;
4444
+ revisionHistoryLimit?: number;
4445
+ enabledNamespaces?: string[];
4446
+ singleNamespaceMode?: boolean;
4447
+ image?: {
4448
+ registry?: string;
4449
+ repository?: string;
4450
+ tag?: string;
4451
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
4452
+ };
4453
+ imagePullSecrets?: object[];
4454
+ priorityClassName?: string;
4455
+ adminService?: {
4456
+ name?: string;
4457
+ port?: number;
4458
+ endpoint?: string;
4459
+ scheme?: string;
4460
+ tlsTrustStorePath?: string;
4461
+ insecureSkipVerify?: boolean;
4462
+ };
4463
+ forwardedProto?: string;
4464
+ deployment?: {
4465
+ args?: {
4466
+ syncPeriod?: string;
4467
+ };
4468
+ extraEnv?: object[];
4469
+ extraVolumes?: object[];
4470
+ extraVolumeMounts?: object[];
4471
+ serviceAccount?: {
4472
+ create?: boolean;
4473
+ annotations?: Record<string, string>;
4474
+ name?: string;
4475
+ automountServiceAccountToken?: boolean;
4476
+ };
4477
+ resources?: {
4478
+ limits?: object;
4479
+ requests?: object;
4480
+ };
4481
+ podSecurityContext?: object;
4482
+ securityContext?: object;
4483
+ nodeSelector?: Record<string, string>;
4484
+ tolerations?: object[];
4485
+ affinity?: object;
4486
+ topologySpreadConstraints?: object[];
4487
+ dnsConfig?: object;
4488
+ podMetadata?: {
4489
+ labels?: Record<string, string>;
4490
+ annotations?: Record<string, string>;
4491
+ };
4492
+ automountServiceAccountToken?: boolean;
4493
+ terminationGracePeriodSeconds?: number;
4494
+ };
4495
+ affinity?: object;
4496
+ pdb?: {
4497
+ enabled?: boolean;
4498
+ spec?: {
4499
+ minAvailable?: string | number;
4500
+ maxUnavailable?: string | number;
4501
+ };
4502
+ };
4503
+ service?: {
4504
+ metrics?: {
4505
+ enabled?: boolean;
4506
+ type?: "ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName";
4507
+ clusterIP?: string;
4508
+ loadBalancerIP?: string;
4509
+ nodePort?: string | number;
4510
+ port?: number;
4511
+ containerPort?: number;
4512
+ name?: string;
4513
+ annotations?: Record<string, string>;
4514
+ labels?: Record<string, string>;
4515
+ metricsPath?: string;
4516
+ appProtocol?: string;
4517
+ externalTrafficPolicy?: string;
4518
+ internalTrafficPolicy?: string;
4519
+ headless?: {
4520
+ enabled?: boolean;
4521
+ };
4522
+ };
4523
+ };
4524
+ serviceMonitor?: {
4525
+ enabled?: boolean;
4526
+ scheme?: string;
4527
+ scrapeInterval?: string;
4528
+ scrapeTimeout?: string;
4529
+ relabelings?: object[];
4530
+ metricRelabelings?: object[];
4531
+ labels?: Record<string, string>;
4532
+ tlsConfig?: object;
4533
+ targetLabels?: string[];
4534
+ };
4535
+ };
4536
+ oathkeeperValues?: {
4537
+ global?: {
4538
+ imageRegistry?: string;
4539
+ ory?: object;
4540
+ podMetadata?: {
4541
+ labels?: Record<string, string>;
4542
+ annotations?: Record<string, string>;
4543
+ };
4544
+ };
4545
+ replicaCount?: number;
4546
+ revisionHistoryLimit?: number;
4547
+ singleNamespaceMode?: boolean;
4548
+ rulesConfigmapNamespace?: string;
4549
+ rulesFileName?: string;
4550
+ image?: {
4551
+ registry?: string;
4552
+ repository?: string;
4553
+ tag?: string;
4554
+ pullPolicy?: "Always" | "IfNotPresent" | "Never";
4555
+ };
4556
+ imagePullSecrets?: object[];
4557
+ securityContext?: object;
4558
+ podSecurityContext?: object;
4559
+ deployment?: {
4560
+ envs?: object;
4561
+ extraLabels?: Record<string, string>;
4562
+ annotations?: Record<string, string>;
4563
+ };
4564
+ affinity?: object;
4565
+ pdb?: {
4566
+ enabled?: boolean;
4567
+ spec?: {
4568
+ minAvailable?: string | number;
4569
+ maxUnavailable?: string | number;
4570
+ };
4571
+ };
4572
+ };
4573
+ };
4574
+ resources?: {
4575
+ oauth2Clients?: {
4576
+ name: string;
4577
+ spec: {
4578
+ grantTypes: ("client_credentials" | "authorization_code" | "implicit" | "refresh_token")[];
4579
+ secretName: string;
4580
+ accessTokenStrategy?: "opaque" | "jwt";
4581
+ allowedCorsOrigins?: string[];
4582
+ audience?: string[];
4583
+ backChannelLogoutSessionRequired?: boolean;
4584
+ backChannelLogoutURI?: string;
4585
+ clientName?: string;
4586
+ clientSecretExpiresAt?: number;
4587
+ clientUri?: string;
4588
+ contacts?: string[];
4589
+ deletionPolicy?: "delete" | "orphan";
4590
+ frontChannelLogoutSessionRequired?: boolean;
4591
+ frontChannelLogoutURI?: string;
4592
+ hydraAdmin?: {
4593
+ endpoint?: string;
4594
+ forwardedProto?: string;
4595
+ port?: number;
4596
+ url?: string;
4597
+ };
4598
+ jwksUri?: string;
4599
+ logoUri?: string;
4600
+ metadata?: object;
4601
+ policyUri?: string;
4602
+ postLogoutRedirectUris?: string[];
4603
+ redirectUris?: string[];
4604
+ requestObjectSigningAlg?: string;
4605
+ requestUris?: string[];
4606
+ responseTypes?: ("code" | "token" | "id_token" | "code token" | "code id_token" | "id_token token" | "code id_token token")[];
4607
+ scope?: string;
4608
+ scopeArray?: string[];
4609
+ sectorIdentifierUri?: string;
4610
+ skipConsent?: boolean;
4611
+ skipLogoutConsent?: boolean;
4612
+ subjectType?: "public" | "pairwise";
4613
+ tokenEndpointAuthMethod?: "none" | "client_secret_basic" | "client_secret_post" | "private_key_jwt";
4614
+ tokenEndpointAuthSigningAlg?: string;
4615
+ tokenLifespans?: {
4616
+ authorization_code_grant_access_token_lifespan?: string;
4617
+ authorization_code_grant_id_token_lifespan?: string;
4618
+ authorization_code_grant_refresh_token_lifespan?: string;
4619
+ client_credentials_grant_access_token_lifespan?: string;
4620
+ implicit_grant_access_token_lifespan?: string;
4621
+ implicit_grant_id_token_lifespan?: string;
4622
+ jwt_bearer_grant_access_token_lifespan?: string;
4623
+ refresh_token_grant_access_token_lifespan?: string;
4624
+ refresh_token_grant_id_token_lifespan?: string;
4625
+ refresh_token_grant_refresh_token_lifespan?: string;
4626
+ };
4627
+ tosUri?: string;
4628
+ userinfoSignedResponseAlg?: string;
4629
+ };
4630
+ id?: string;
4631
+ namespace?: string;
4632
+ }[];
4633
+ oathkeeperRules?: {
4634
+ name: string;
4635
+ spec: {
4636
+ match: {
4637
+ methods: string[];
4638
+ url: string;
4639
+ };
4640
+ authenticators?: {
4641
+ handler: string;
4642
+ config?: object;
4643
+ }[];
4644
+ authorizer?: {
4645
+ handler: string;
4646
+ config?: object;
4647
+ };
4648
+ configMapName?: string;
4649
+ errors?: {
4650
+ handler: string;
4651
+ config?: object;
4652
+ }[];
4653
+ mutators?: {
4654
+ handler: string;
4655
+ config?: object;
4656
+ }[];
4657
+ upstream?: {
4658
+ url: string;
4659
+ preserveHost?: boolean;
4660
+ stripPath?: string;
4661
+ };
4662
+ };
4663
+ id?: string;
4664
+ namespace?: string;
4665
+ }[];
4666
+ };
4667
+ managed?: {
4668
+ databases?: boolean;
4669
+ secrets?: boolean;
4670
+ routes?: boolean;
4671
+ sampleUpstream?: boolean;
4672
+ courierSes?: boolean;
4673
+ };
4674
+ }, {}>;
4675
+ export declare const OryIdentityStackStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
4676
+ ready: boolean;
4677
+ phase: "Ready" | "Installing";
4678
+ components: {
4679
+ hydra: boolean;
4680
+ kratos: boolean;
4681
+ keto: boolean;
4682
+ oathkeeper: boolean;
4683
+ };
4684
+ maester: {
4685
+ hydra: boolean;
4686
+ oathkeeper: boolean;
4687
+ };
4688
+ endpoints: {
4689
+ hydraPublic: {
4690
+ url: string;
4691
+ scheme: string;
4692
+ host: string;
4693
+ clusterIP?: string;
4694
+ port?: number;
4695
+ serviceName?: string;
4696
+ namespace?: string;
4697
+ };
4698
+ hydraAdmin: {
4699
+ url: string;
4700
+ scheme: string;
4701
+ host: string;
4702
+ clusterIP?: string;
4703
+ port?: number;
4704
+ serviceName?: string;
4705
+ namespace?: string;
4706
+ };
4707
+ kratosPublic: {
4708
+ url: string;
4709
+ scheme: string;
4710
+ host: string;
4711
+ clusterIP?: string;
4712
+ port?: number;
4713
+ serviceName?: string;
4714
+ namespace?: string;
4715
+ };
4716
+ kratosAdmin: {
4717
+ url: string;
4718
+ scheme: string;
4719
+ host: string;
4720
+ clusterIP?: string;
4721
+ port?: number;
4722
+ serviceName?: string;
4723
+ namespace?: string;
4724
+ };
4725
+ ketoRead: {
4726
+ url: string;
4727
+ scheme: string;
4728
+ host: string;
4729
+ clusterIP?: string;
4730
+ port?: number;
4731
+ serviceName?: string;
4732
+ namespace?: string;
4733
+ };
4734
+ ketoWrite: {
4735
+ url: string;
4736
+ scheme: string;
4737
+ host: string;
4738
+ clusterIP?: string;
4739
+ port?: number;
4740
+ serviceName?: string;
4741
+ namespace?: string;
4742
+ };
4743
+ oathkeeperProxy: {
4744
+ url: string;
4745
+ scheme: string;
4746
+ host: string;
4747
+ clusterIP?: string;
4748
+ port?: number;
4749
+ serviceName?: string;
4750
+ namespace?: string;
4751
+ };
4752
+ oathkeeperApi: {
4753
+ url: string;
4754
+ scheme: string;
4755
+ host: string;
4756
+ clusterIP?: string;
4757
+ port?: number;
4758
+ serviceName?: string;
4759
+ namespace?: string;
4760
+ };
4761
+ };
4762
+ version?: string;
4763
+ }, {}>;
4764
+ /** ArkType schema for `OryPlatformStackStatus`. */
4765
+ export declare const OryPlatformStackStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
4766
+ ready: boolean;
4767
+ phase: "Ready" | "Installing";
4768
+ infrastructure: {
4769
+ databases: boolean;
4770
+ secrets: boolean;
4771
+ routes: boolean;
4772
+ upstream: boolean;
4773
+ courier: boolean;
4774
+ };
4775
+ dependencies: {
4776
+ hydraDatabase: "managed" | "external";
4777
+ kratosDatabase: "managed" | "external";
4778
+ ketoDatabase: "managed" | "external";
4779
+ secrets: "managed" | "external";
4780
+ routes: "managed" | "external";
4781
+ upstream: "managed" | "external";
4782
+ courier: "managed" | "external";
4783
+ };
4784
+ ory: {
4785
+ ready: boolean;
4786
+ phase: "Ready" | "Installing";
4787
+ components: {
4788
+ hydra: boolean;
4789
+ kratos: boolean;
4790
+ keto: boolean;
4791
+ oathkeeper: boolean;
4792
+ };
4793
+ maester: {
4794
+ hydra: boolean;
4795
+ oathkeeper: boolean;
4796
+ };
4797
+ endpoints: {
4798
+ hydraPublic: {
4799
+ url: string;
4800
+ scheme: string;
4801
+ host: string;
4802
+ clusterIP?: string;
4803
+ port?: number;
4804
+ serviceName?: string;
4805
+ namespace?: string;
4806
+ };
4807
+ hydraAdmin: {
4808
+ url: string;
4809
+ scheme: string;
4810
+ host: string;
4811
+ clusterIP?: string;
4812
+ port?: number;
4813
+ serviceName?: string;
4814
+ namespace?: string;
4815
+ };
4816
+ kratosPublic: {
4817
+ url: string;
4818
+ scheme: string;
4819
+ host: string;
4820
+ clusterIP?: string;
4821
+ port?: number;
4822
+ serviceName?: string;
4823
+ namespace?: string;
4824
+ };
4825
+ kratosAdmin: {
4826
+ url: string;
4827
+ scheme: string;
4828
+ host: string;
4829
+ clusterIP?: string;
4830
+ port?: number;
4831
+ serviceName?: string;
4832
+ namespace?: string;
4833
+ };
4834
+ ketoRead: {
4835
+ url: string;
4836
+ scheme: string;
4837
+ host: string;
4838
+ clusterIP?: string;
4839
+ port?: number;
4840
+ serviceName?: string;
4841
+ namespace?: string;
4842
+ };
4843
+ ketoWrite: {
4844
+ url: string;
4845
+ scheme: string;
4846
+ host: string;
4847
+ clusterIP?: string;
4848
+ port?: number;
4849
+ serviceName?: string;
4850
+ namespace?: string;
4851
+ };
4852
+ oathkeeperProxy: {
4853
+ url: string;
4854
+ scheme: string;
4855
+ host: string;
4856
+ clusterIP?: string;
4857
+ port?: number;
4858
+ serviceName?: string;
4859
+ namespace?: string;
4860
+ };
4861
+ oathkeeperApi: {
4862
+ url: string;
4863
+ scheme: string;
4864
+ host: string;
4865
+ clusterIP?: string;
4866
+ port?: number;
4867
+ serviceName?: string;
4868
+ namespace?: string;
4869
+ };
4870
+ };
4871
+ version?: string;
4872
+ };
4873
+ endpoints: {
4874
+ hydraPublic: {
4875
+ url: string;
4876
+ scheme: string;
4877
+ host: string;
4878
+ clusterIP?: string;
4879
+ port?: number;
4880
+ serviceName?: string;
4881
+ namespace?: string;
4882
+ };
4883
+ hydraAdmin: {
4884
+ url: string;
4885
+ scheme: string;
4886
+ host: string;
4887
+ clusterIP?: string;
4888
+ port?: number;
4889
+ serviceName?: string;
4890
+ namespace?: string;
4891
+ };
4892
+ kratosPublic: {
4893
+ url: string;
4894
+ scheme: string;
4895
+ host: string;
4896
+ clusterIP?: string;
4897
+ port?: number;
4898
+ serviceName?: string;
4899
+ namespace?: string;
4900
+ };
4901
+ kratosAdmin: {
4902
+ url: string;
4903
+ scheme: string;
4904
+ host: string;
4905
+ clusterIP?: string;
4906
+ port?: number;
4907
+ serviceName?: string;
4908
+ namespace?: string;
4909
+ };
4910
+ ketoRead: {
4911
+ url: string;
4912
+ scheme: string;
4913
+ host: string;
4914
+ clusterIP?: string;
4915
+ port?: number;
4916
+ serviceName?: string;
4917
+ namespace?: string;
4918
+ };
4919
+ ketoWrite: {
4920
+ url: string;
4921
+ scheme: string;
4922
+ host: string;
4923
+ clusterIP?: string;
4924
+ port?: number;
4925
+ serviceName?: string;
4926
+ namespace?: string;
4927
+ };
4928
+ oathkeeperProxy: {
4929
+ url: string;
4930
+ scheme: string;
4931
+ host: string;
4932
+ clusterIP?: string;
4933
+ port?: number;
4934
+ serviceName?: string;
4935
+ namespace?: string;
4936
+ };
4937
+ oathkeeperApi: {
4938
+ url: string;
4939
+ scheme: string;
4940
+ host: string;
4941
+ clusterIP?: string;
4942
+ port?: number;
4943
+ serviceName?: string;
4944
+ namespace?: string;
4945
+ };
4946
+ };
4947
+ }, {}>;
4948
+ //# sourceMappingURL=types.d.ts.map