typekro 0.10.1 → 0.12.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +4 -4
- package/dist/core/aspects/apply.d.ts.map +1 -1
- package/dist/core/aspects/apply.js +42 -1
- package/dist/core/aspects/apply.js.map +1 -1
- package/dist/core/aspects/values-merge.d.ts +8 -0
- package/dist/core/aspects/values-merge.d.ts.map +1 -0
- package/dist/core/aspects/values-merge.js +21 -0
- package/dist/core/aspects/values-merge.js.map +1 -0
- package/dist/core/deployment/direct-factory.d.ts +5 -1
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +21 -2
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +1 -0
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +28 -7
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +26 -3
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.d.ts +1 -0
- package/dist/core/deployment/strategies/base-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/base-strategy.js +35 -33
- package/dist/core/deployment/strategies/base-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts +4 -0
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +40 -29
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/references/cel.d.ts +13 -0
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +42 -3
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/references/external-refs.d.ts +13 -0
- package/dist/core/references/external-refs.d.ts.map +1 -1
- package/dist/core/references/external-refs.js +18 -0
- package/dist/core/references/external-refs.js.map +1 -1
- package/dist/core/references/index.d.ts +1 -1
- package/dist/core/references/index.d.ts.map +1 -1
- package/dist/core/references/index.js +1 -1
- package/dist/core/references/index.js.map +1 -1
- package/dist/core/references/schema-proxy.d.ts.map +1 -1
- package/dist/core/references/schema-proxy.js +7 -3
- package/dist/core/references/schema-proxy.js.map +1 -1
- package/dist/core/serialization/cel-references.d.ts +2 -7
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +451 -35
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +95 -62
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/yaml.d.ts +2 -2
- package/dist/core/serialization/yaml.d.ts.map +1 -1
- package/dist/core/serialization/yaml.js +14 -4
- package/dist/core/serialization/yaml.js.map +1 -1
- package/dist/core/types/common.d.ts +41 -0
- package/dist/core/types/common.d.ts.map +1 -1
- package/dist/core/types/deployment.d.ts +2 -0
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/deployment.js +1 -1
- package/dist/core/types/deployment.js.map +1 -1
- package/dist/core/types/references.d.ts +1 -1
- package/dist/core/types/references.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +26 -8
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/factories/apisix/resources/helm.d.ts +3 -2
- package/dist/factories/apisix/resources/helm.d.ts.map +1 -1
- package/dist/factories/apisix/resources/helm.js +1 -1
- package/dist/factories/apisix/resources/helm.js.map +1 -1
- package/dist/factories/cert-manager/types.d.ts +2 -1
- package/dist/factories/cert-manager/types.d.ts.map +1 -1
- package/dist/factories/cert-manager/types.js.map +1 -1
- package/dist/factories/cilium/resources/helm.d.ts +1 -1
- package/dist/factories/cilium/resources/helm.d.ts.map +1 -1
- package/dist/factories/cilium/types.d.ts +2 -1
- package/dist/factories/cilium/types.d.ts.map +1 -1
- package/dist/factories/cilium/types.js.map +1 -1
- package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts +894 -0
- package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts.map +1 -0
- package/dist/factories/dagster/compositions/dagster-bootstrap.js +75 -0
- package/dist/factories/dagster/compositions/dagster-bootstrap.js.map +1 -0
- package/dist/factories/dagster/compositions/index.d.ts +2 -0
- package/dist/factories/dagster/compositions/index.d.ts.map +1 -0
- package/dist/factories/dagster/compositions/index.js +2 -0
- package/dist/factories/dagster/compositions/index.js.map +1 -0
- package/dist/factories/dagster/index.d.ts +31 -0
- package/dist/factories/dagster/index.d.ts.map +1 -0
- package/dist/factories/dagster/index.js +31 -0
- package/dist/factories/dagster/index.js.map +1 -0
- package/dist/factories/dagster/resources/helm.d.ts +32 -0
- package/dist/factories/dagster/resources/helm.d.ts.map +1 -0
- package/dist/factories/dagster/resources/helm.js +60 -0
- package/dist/factories/dagster/resources/helm.js.map +1 -0
- package/dist/factories/dagster/resources/index.d.ts +2 -0
- package/dist/factories/dagster/resources/index.d.ts.map +1 -0
- package/dist/factories/dagster/resources/index.js +2 -0
- package/dist/factories/dagster/resources/index.js.map +1 -0
- package/dist/factories/dagster/types.d.ts +2048 -0
- package/dist/factories/dagster/types.d.ts.map +1 -0
- package/dist/factories/dagster/types.js +354 -0
- package/dist/factories/dagster/types.js.map +1 -0
- package/dist/factories/dagster/utils/helm-values-mapper.d.ts +21 -0
- package/dist/factories/dagster/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/dagster/utils/helm-values-mapper.js +470 -0
- package/dist/factories/dagster/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/dagster/utils/index.d.ts +2 -0
- package/dist/factories/dagster/utils/index.d.ts.map +1 -0
- package/dist/factories/dagster/utils/index.js +2 -0
- package/dist/factories/dagster/utils/index.js.map +1 -0
- package/dist/factories/external-dns/resources/helm.d.ts +2 -1
- package/dist/factories/external-dns/resources/helm.d.ts.map +1 -1
- package/dist/factories/external-dns/resources/helm.js +6 -1
- package/dist/factories/external-dns/resources/helm.js.map +1 -1
- package/dist/factories/external-dns/types.d.ts +2 -2
- package/dist/factories/external-dns/types.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.d.ts +9 -4
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/types.d.ts +7 -2
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +1 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +4 -0
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/inngest/types.d.ts +5 -1
- package/dist/factories/inngest/types.d.ts.map +1 -1
- package/dist/factories/inngest/types.js.map +1 -1
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
- package/dist/factories/kro/resource-graph-definition.js +27 -11
- package/dist/factories/kro/resource-graph-definition.js.map +1 -1
- package/dist/factories/ory/compositions/index.d.ts +3 -0
- package/dist/factories/ory/compositions/index.d.ts.map +1 -0
- package/dist/factories/ory/compositions/index.js +3 -0
- package/dist/factories/ory/compositions/index.js.map +1 -0
- package/dist/factories/ory/compositions/ory-identity-stack.d.ts +2073 -0
- package/dist/factories/ory/compositions/ory-identity-stack.d.ts.map +1 -0
- package/dist/factories/ory/compositions/ory-identity-stack.js +432 -0
- package/dist/factories/ory/compositions/ory-identity-stack.js.map +1 -0
- package/dist/factories/ory/compositions/ory-platform-stack.d.ts +185 -0
- package/dist/factories/ory/compositions/ory-platform-stack.d.ts.map +1 -0
- package/dist/factories/ory/compositions/ory-platform-stack.js +536 -0
- package/dist/factories/ory/compositions/ory-platform-stack.js.map +1 -0
- package/dist/factories/ory/index.d.ts +5 -0
- package/dist/factories/ory/index.d.ts.map +1 -0
- package/dist/factories/ory/index.js +5 -0
- package/dist/factories/ory/index.js.map +1 -0
- package/dist/factories/ory/resources/helm.d.ts +20 -0
- package/dist/factories/ory/resources/helm.d.ts.map +1 -0
- package/dist/factories/ory/resources/helm.js +52 -0
- package/dist/factories/ory/resources/helm.js.map +1 -0
- package/dist/factories/ory/resources/index.d.ts +4 -0
- package/dist/factories/ory/resources/index.d.ts.map +1 -0
- package/dist/factories/ory/resources/index.js +4 -0
- package/dist/factories/ory/resources/index.js.map +1 -0
- package/dist/factories/ory/resources/oathkeeper-rule.d.ts +4 -0
- package/dist/factories/ory/resources/oathkeeper-rule.d.ts.map +1 -0
- package/dist/factories/ory/resources/oathkeeper-rule.js +19 -0
- package/dist/factories/ory/resources/oathkeeper-rule.js.map +1 -0
- package/dist/factories/ory/resources/oauth2-client.d.ts +4 -0
- package/dist/factories/ory/resources/oauth2-client.d.ts.map +1 -0
- package/dist/factories/ory/resources/oauth2-client.js +20 -0
- package/dist/factories/ory/resources/oauth2-client.js.map +1 -0
- package/dist/factories/ory/schemas/chart-values.d.ts +253 -0
- package/dist/factories/ory/schemas/chart-values.d.ts.map +1 -0
- package/dist/factories/ory/schemas/chart-values.js +10 -0
- package/dist/factories/ory/schemas/chart-values.js.map +1 -0
- package/dist/factories/ory/schemas/hydra-maester.d.ts +152 -0
- package/dist/factories/ory/schemas/hydra-maester.d.ts.map +1 -0
- package/dist/factories/ory/schemas/hydra-maester.js +3 -0
- package/dist/factories/ory/schemas/hydra-maester.js.map +1 -0
- package/dist/factories/ory/schemas/hydra.d.ts +115 -0
- package/dist/factories/ory/schemas/hydra.d.ts.map +1 -0
- package/dist/factories/ory/schemas/hydra.js +3 -0
- package/dist/factories/ory/schemas/hydra.js.map +1 -0
- package/dist/factories/ory/schemas/index.d.ts +20 -0
- package/dist/factories/ory/schemas/index.d.ts.map +1 -0
- package/dist/factories/ory/schemas/index.js +2 -0
- package/dist/factories/ory/schemas/index.js.map +1 -0
- package/dist/factories/ory/schemas/keto.d.ts +86 -0
- package/dist/factories/ory/schemas/keto.d.ts.map +1 -0
- package/dist/factories/ory/schemas/keto.js +3 -0
- package/dist/factories/ory/schemas/keto.js.map +1 -0
- package/dist/factories/ory/schemas/kratos.d.ts +124 -0
- package/dist/factories/ory/schemas/kratos.d.ts.map +1 -0
- package/dist/factories/ory/schemas/kratos.js +3 -0
- package/dist/factories/ory/schemas/kratos.js.map +1 -0
- package/dist/factories/ory/schemas/maester-crds.d.ts +9 -0
- package/dist/factories/ory/schemas/maester-crds.d.ts.map +1 -0
- package/dist/factories/ory/schemas/maester-crds.js +8 -0
- package/dist/factories/ory/schemas/maester-crds.js.map +1 -0
- package/dist/factories/ory/schemas/oathkeeper-maester.d.ts +80 -0
- package/dist/factories/ory/schemas/oathkeeper-maester.d.ts.map +1 -0
- package/dist/factories/ory/schemas/oathkeeper-maester.js +3 -0
- package/dist/factories/ory/schemas/oathkeeper-maester.js.map +1 -0
- package/dist/factories/ory/schemas/oathkeeper.d.ts +105 -0
- package/dist/factories/ory/schemas/oathkeeper.d.ts.map +1 -0
- package/dist/factories/ory/schemas/oathkeeper.js +3 -0
- package/dist/factories/ory/schemas/oathkeeper.js.map +1 -0
- package/dist/factories/ory/types.d.ts +4948 -0
- package/dist/factories/ory/types.d.ts.map +1 -0
- package/dist/factories/ory/types.js +581 -0
- package/dist/factories/ory/types.js.map +1 -0
- package/dist/factories/ory/utils/helm-values-mapper.d.ts +7 -0
- package/dist/factories/ory/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/ory/utils/helm-values-mapper.js +534 -0
- package/dist/factories/ory/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/ory/utils/index.d.ts +2 -0
- package/dist/factories/ory/utils/index.d.ts.map +1 -0
- package/dist/factories/ory/utils/index.js +2 -0
- package/dist/factories/ory/utils/index.js.map +1 -0
- package/dist/factories/pebble/resources/helm.d.ts +2 -2
- package/dist/factories/pebble/resources/helm.d.ts.map +1 -1
- package/dist/factories/pebble/resources/helm.js.map +1 -1
- package/dist/factories/pebble/types.d.ts +2 -1
- package/dist/factories/pebble/types.d.ts.map +1 -1
- package/dist/factories/pebble/types.js.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.d.ts.map +1 -1
- package/dist/factories/searxng/compositions/searxng-bootstrap.js +152 -42
- package/dist/factories/searxng/compositions/searxng-bootstrap.js.map +1 -1
- package/dist/factories/searxng/types.d.ts.map +1 -1
- package/dist/factories/searxng/types.js +9 -1
- package/dist/factories/searxng/types.js.map +1 -1
- package/dist/factories/simple/helm/index.d.ts +2 -1
- package/dist/factories/simple/helm/index.d.ts.map +1 -1
- package/dist/factories/simple/helm/index.js.map +1 -1
- package/dist/factories/valkey/types.d.ts +5 -1
- package/dist/factories/valkey/types.d.ts.map +1 -1
- package/dist/factories/valkey/types.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/shared/brands.d.ts +7 -5
- package/dist/shared/brands.d.ts.map +1 -1
- package/dist/shared/brands.js +5 -3
- package/dist/shared/brands.js.map +1 -1
- package/package.json +10 -1
|
@@ -0,0 +1,536 @@
|
|
|
1
|
+
import { type } from 'arktype';
|
|
2
|
+
import { kubernetesComposition } from '../../../core/composition/imperative.js';
|
|
3
|
+
import { Cel } from '../../../core/references/cel.js';
|
|
4
|
+
import { isKubernetesRef } from '../../../utils/type-guards.js';
|
|
5
|
+
import { cluster } from '../../cnpg/resources/cluster.js';
|
|
6
|
+
import { secret } from '../../kubernetes/config/secret.js';
|
|
7
|
+
import { configMap } from '../../kubernetes/config/config-map.js';
|
|
8
|
+
import { customResource } from '../../kubernetes/extensions/custom-resource.js';
|
|
9
|
+
import { simple } from '../../simple/index.js';
|
|
10
|
+
import { OryPlatformStackConfigSchema, OryPlatformStackStatusSchema, } from '../types.js';
|
|
11
|
+
import { oryIdentityStack } from './ory-identity-stack.js';
|
|
12
|
+
import { oathkeeperRule } from '../resources/oathkeeper-rule.js';
|
|
13
|
+
const apisixRouteSpecSchema = type({
|
|
14
|
+
'http?': 'object[]',
|
|
15
|
+
});
|
|
16
|
+
function dependencySources(config) {
|
|
17
|
+
const routeSource = (url, resourceName) => defined({ mode: 'managed', resourceName, url });
|
|
18
|
+
return {
|
|
19
|
+
hydra: {
|
|
20
|
+
database: { dsn: { mode: 'managed', resourceName: config.hydraDatabaseSecretName, secretKey: 'uri' } },
|
|
21
|
+
systemSecret: { mode: 'managed', secretName: config.hydraSystemSecretName, secretKey: 'system' },
|
|
22
|
+
issuerUrl: { url: routeSource(config.hydraPublicRouteUrl, config.hydraPublicRouteName) },
|
|
23
|
+
loginUrl: { url: routeSource(config.kratosPublicRouteUrl, config.kratosPublicRouteName) },
|
|
24
|
+
consentUrl: { url: routeSource(config.kratosPublicRouteUrl, config.kratosPublicRouteName) },
|
|
25
|
+
logoutUrl: { url: routeSource(config.kratosPublicRouteUrl, config.kratosPublicRouteName) },
|
|
26
|
+
},
|
|
27
|
+
kratos: {
|
|
28
|
+
database: { dsn: { mode: 'managed', resourceName: config.kratosDatabaseSecretName, secretKey: 'uri' } },
|
|
29
|
+
publicBaseUrl: { url: routeSource(config.kratosPublicRouteUrl, config.kratosPublicRouteName) },
|
|
30
|
+
browserBaseUrl: { url: routeSource(config.kratosPublicRouteUrl, config.kratosPublicRouteName) },
|
|
31
|
+
secrets: {
|
|
32
|
+
cookie: { mode: 'managed', secretName: config.kratosSecretsName, secretKey: 'cookie' },
|
|
33
|
+
cipher: { mode: 'managed', secretName: config.kratosSecretsName, secretKey: 'cipher' },
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
keto: {
|
|
37
|
+
database: { dsn: { mode: 'managed', resourceName: config.ketoDatabaseSecretName, secretKey: 'uri' } },
|
|
38
|
+
},
|
|
39
|
+
oathkeeper: {
|
|
40
|
+
proxyRoute: { url: routeSource(config.oathkeeperProxyRouteUrl, config.oathkeeperProxyRouteName) },
|
|
41
|
+
apiRoute: { url: routeSource(config.oathkeeperApiRouteUrl, config.oathkeeperApiRouteName) },
|
|
42
|
+
upstream: { url: { mode: 'managed', resourceName: config.sampleUpstreamName } },
|
|
43
|
+
mutatorIdTokenJwks: { mode: 'managed', secretName: config.oathkeeperSecretsName, secretKey: 'jwks' },
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function managedDependencySources(config, managed) {
|
|
48
|
+
const defaults = dependencySources(config);
|
|
49
|
+
const manageDatabases = managedFlagEnabled(managed, 'databases');
|
|
50
|
+
const manageSecrets = managedFlagEnabled(managed, 'secrets');
|
|
51
|
+
const manageRoutes = managedFlagEnabled(managed, 'routes');
|
|
52
|
+
const manageSampleUpstream = managedFlagEnabled(managed, 'sampleUpstream');
|
|
53
|
+
const hydra = {};
|
|
54
|
+
const kratos = {};
|
|
55
|
+
const keto = {};
|
|
56
|
+
const oathkeeper = {};
|
|
57
|
+
if (manageDatabases) {
|
|
58
|
+
if (defaults.hydra?.database)
|
|
59
|
+
hydra.database = defaults.hydra.database;
|
|
60
|
+
if (defaults.kratos?.database)
|
|
61
|
+
kratos.database = defaults.kratos.database;
|
|
62
|
+
if (defaults.keto?.database)
|
|
63
|
+
keto.database = defaults.keto.database;
|
|
64
|
+
}
|
|
65
|
+
if (manageSecrets) {
|
|
66
|
+
if (defaults.hydra?.systemSecret)
|
|
67
|
+
hydra.systemSecret = defaults.hydra.systemSecret;
|
|
68
|
+
if (defaults.kratos?.secrets)
|
|
69
|
+
kratos.secrets = defaults.kratos.secrets;
|
|
70
|
+
if (defaults.oathkeeper?.mutatorIdTokenJwks) {
|
|
71
|
+
oathkeeper.mutatorIdTokenJwks = defaults.oathkeeper.mutatorIdTokenJwks;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (manageRoutes) {
|
|
75
|
+
if (defaults.hydra?.issuerUrl)
|
|
76
|
+
hydra.issuerUrl = defaults.hydra.issuerUrl;
|
|
77
|
+
if (defaults.hydra?.loginUrl)
|
|
78
|
+
hydra.loginUrl = defaults.hydra.loginUrl;
|
|
79
|
+
if (defaults.hydra?.consentUrl)
|
|
80
|
+
hydra.consentUrl = defaults.hydra.consentUrl;
|
|
81
|
+
if (defaults.hydra?.logoutUrl)
|
|
82
|
+
hydra.logoutUrl = defaults.hydra.logoutUrl;
|
|
83
|
+
if (defaults.kratos?.publicBaseUrl)
|
|
84
|
+
kratos.publicBaseUrl = defaults.kratos.publicBaseUrl;
|
|
85
|
+
if (defaults.kratos?.browserBaseUrl)
|
|
86
|
+
kratos.browserBaseUrl = defaults.kratos.browserBaseUrl;
|
|
87
|
+
if (defaults.oathkeeper?.proxyRoute)
|
|
88
|
+
oathkeeper.proxyRoute = defaults.oathkeeper.proxyRoute;
|
|
89
|
+
if (defaults.oathkeeper?.apiRoute)
|
|
90
|
+
oathkeeper.apiRoute = defaults.oathkeeper.apiRoute;
|
|
91
|
+
}
|
|
92
|
+
if (manageSampleUpstream) {
|
|
93
|
+
if (defaults.oathkeeper?.upstream)
|
|
94
|
+
oathkeeper.upstream = defaults.oathkeeper.upstream;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
hydra,
|
|
98
|
+
kratos,
|
|
99
|
+
keto,
|
|
100
|
+
oathkeeper,
|
|
101
|
+
...(managed?.courierSes ? { courier: { mode: 'managed', resourceName: config.courierSesName } } : {}),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function managedFlagEnabled(managed, key) {
|
|
105
|
+
return managed?.[key] !== false;
|
|
106
|
+
}
|
|
107
|
+
function apisixRoute(id, name, namespace, host, serviceName, servicePort) {
|
|
108
|
+
return customResource({ apiVersion: 'apisix.apache.org/v2', kind: 'ApisixRoute', spec: apisixRouteSpecSchema }, {
|
|
109
|
+
id,
|
|
110
|
+
metadata: { name, namespace },
|
|
111
|
+
spec: {
|
|
112
|
+
http: [
|
|
113
|
+
{
|
|
114
|
+
name,
|
|
115
|
+
match: { hosts: [host], paths: ['/*'] },
|
|
116
|
+
backends: [{ serviceName, servicePort }],
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function mergeDependencySources(managed, explicit) {
|
|
123
|
+
const hydra = explicit?.hydra;
|
|
124
|
+
const kratos = explicit?.kratos;
|
|
125
|
+
const keto = explicit?.keto;
|
|
126
|
+
const oathkeeper = explicit?.oathkeeper;
|
|
127
|
+
return defined({
|
|
128
|
+
hydra: defined({
|
|
129
|
+
database: defined({
|
|
130
|
+
dsn: mergeDependencySource(managed.hydra?.database?.dsn, hydra?.database?.dsn),
|
|
131
|
+
databaseName: hydra?.database?.databaseName ?? managed.hydra?.database?.databaseName,
|
|
132
|
+
}),
|
|
133
|
+
systemSecret: mergeDependencySource(managed.hydra?.systemSecret, hydra?.systemSecret),
|
|
134
|
+
issuerUrl: defined({
|
|
135
|
+
url: mergeDependencySource(managed.hydra?.issuerUrl?.url, hydra?.issuerUrl?.url),
|
|
136
|
+
}),
|
|
137
|
+
loginUrl: defined({
|
|
138
|
+
url: mergeDependencySource(managed.hydra?.loginUrl?.url, hydra?.loginUrl?.url),
|
|
139
|
+
}),
|
|
140
|
+
consentUrl: defined({
|
|
141
|
+
url: mergeDependencySource(managed.hydra?.consentUrl?.url, hydra?.consentUrl?.url),
|
|
142
|
+
}),
|
|
143
|
+
logoutUrl: defined({
|
|
144
|
+
url: mergeDependencySource(managed.hydra?.logoutUrl?.url, hydra?.logoutUrl?.url),
|
|
145
|
+
}),
|
|
146
|
+
}),
|
|
147
|
+
kratos: defined({
|
|
148
|
+
database: defined({
|
|
149
|
+
dsn: mergeDependencySource(managed.kratos?.database?.dsn, kratos?.database?.dsn),
|
|
150
|
+
databaseName: kratos?.database?.databaseName ?? managed.kratos?.database?.databaseName,
|
|
151
|
+
}),
|
|
152
|
+
publicBaseUrl: defined({
|
|
153
|
+
url: mergeDependencySource(managed.kratos?.publicBaseUrl?.url, kratos?.publicBaseUrl?.url),
|
|
154
|
+
}),
|
|
155
|
+
browserBaseUrl: defined({
|
|
156
|
+
url: mergeDependencySource(managed.kratos?.browserBaseUrl?.url, kratos?.browserBaseUrl?.url),
|
|
157
|
+
}),
|
|
158
|
+
secrets: defined({
|
|
159
|
+
cookie: mergeDependencySource(managed.kratos?.secrets?.cookie, kratos?.secrets?.cookie),
|
|
160
|
+
cipher: mergeDependencySource(managed.kratos?.secrets?.cipher, kratos?.secrets?.cipher),
|
|
161
|
+
}),
|
|
162
|
+
courier: mergeDependencySource(managed.kratos?.courier, kratos?.courier),
|
|
163
|
+
}),
|
|
164
|
+
keto: defined({
|
|
165
|
+
database: defined({
|
|
166
|
+
dsn: mergeDependencySource(managed.keto?.database?.dsn, keto?.database?.dsn),
|
|
167
|
+
databaseName: keto?.database?.databaseName ?? managed.keto?.database?.databaseName,
|
|
168
|
+
}),
|
|
169
|
+
}),
|
|
170
|
+
oathkeeper: defined({
|
|
171
|
+
proxyRoute: defined({
|
|
172
|
+
url: mergeDependencySource(managed.oathkeeper?.proxyRoute?.url, oathkeeper?.proxyRoute?.url),
|
|
173
|
+
}),
|
|
174
|
+
apiRoute: defined({
|
|
175
|
+
url: mergeDependencySource(managed.oathkeeper?.apiRoute?.url, oathkeeper?.apiRoute?.url),
|
|
176
|
+
}),
|
|
177
|
+
upstream: defined({
|
|
178
|
+
url: mergeDependencySource(managed.oathkeeper?.upstream?.url, oathkeeper?.upstream?.url),
|
|
179
|
+
}),
|
|
180
|
+
mutatorIdTokenJwks: mergeDependencySource(managed.oathkeeper?.mutatorIdTokenJwks, oathkeeper?.mutatorIdTokenJwks),
|
|
181
|
+
}),
|
|
182
|
+
courier: mergeDependencySource(managed.courier, explicit?.courier),
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
function defined(value) {
|
|
186
|
+
return Object.fromEntries(Object.entries(value).filter(([, entry]) => entry !== undefined));
|
|
187
|
+
}
|
|
188
|
+
function mergeDependencySource(defaults, explicit) {
|
|
189
|
+
if (!defaults)
|
|
190
|
+
return explicit;
|
|
191
|
+
if (!explicit)
|
|
192
|
+
return defaults;
|
|
193
|
+
const explicitValue = explicit.value;
|
|
194
|
+
const defaultManaged = defaults.mode === 'managed' ? defaults : undefined;
|
|
195
|
+
const explicitManaged = explicit.mode === 'managed' ? explicit : undefined;
|
|
196
|
+
return defined({
|
|
197
|
+
mode: defaulted(explicit.mode, defaults.mode),
|
|
198
|
+
value: explicitValue,
|
|
199
|
+
url: defaulted(explicit.url, defaults.url),
|
|
200
|
+
resourceName: defaulted(explicit.resourceName, defaults.resourceName),
|
|
201
|
+
namespace: defaulted(explicitManaged?.namespace, defaultManaged?.namespace),
|
|
202
|
+
secretName: defaulted(explicitManaged?.secretName, defaultManaged?.secretName),
|
|
203
|
+
secretKey: defaulted(explicitManaged?.secretKey, defaultManaged?.secretKey),
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
function defaulted(explicit, fallback) {
|
|
207
|
+
if (explicit === undefined)
|
|
208
|
+
return fallback;
|
|
209
|
+
if (fallback !== undefined && isKubernetesRef(explicit)) {
|
|
210
|
+
return Cel.default(explicit, fallback);
|
|
211
|
+
}
|
|
212
|
+
return explicit;
|
|
213
|
+
}
|
|
214
|
+
function mode(value) {
|
|
215
|
+
return value?.mode ?? 'external';
|
|
216
|
+
}
|
|
217
|
+
function routeEndpoint(url, port = 80) {
|
|
218
|
+
const parsed = new URL(url);
|
|
219
|
+
const parsedPort = parsed.port ? Number(parsed.port) : parsed.protocol === 'https:' ? 443 : port;
|
|
220
|
+
return {
|
|
221
|
+
url,
|
|
222
|
+
scheme: parsed.protocol.replace(':', ''),
|
|
223
|
+
host: parsed.hostname,
|
|
224
|
+
port: parsedPort,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
function serviceEndpoint(stackName, serviceSuffix, namespaceName, port, scheme = 'http') {
|
|
228
|
+
const serviceName = Cel.template('%s-%s', stackName, serviceSuffix);
|
|
229
|
+
const host = Cel.template('%s-%s.%s.svc.cluster.local', stackName, serviceSuffix, namespaceName);
|
|
230
|
+
return {
|
|
231
|
+
url: Cel.template(`${scheme}://%s-%s.%s.svc.cluster.local:${port}`, stackName, serviceSuffix, namespaceName),
|
|
232
|
+
scheme,
|
|
233
|
+
host,
|
|
234
|
+
port,
|
|
235
|
+
serviceName,
|
|
236
|
+
namespace: namespaceName,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
function hasPath(path) {
|
|
240
|
+
const parts = path.split('.');
|
|
241
|
+
const guards = [];
|
|
242
|
+
for (let index = 2; index < parts.length; index++) {
|
|
243
|
+
guards.push(`has(${parts.slice(0, index + 1).join('.')})`);
|
|
244
|
+
}
|
|
245
|
+
return guards.join(' && ');
|
|
246
|
+
}
|
|
247
|
+
function platformGraphUrl(sourcePath, explicitPath, fallback) {
|
|
248
|
+
const sourceUrlPath = `${sourcePath}.url`;
|
|
249
|
+
const sourceNamePath = `${sourcePath}.resourceName`;
|
|
250
|
+
return Cel.expr(`(${hasPath(sourceUrlPath)} ? ${sourceUrlPath} : (${hasPath(explicitPath)} ? ${explicitPath} : (${hasPath(sourceNamePath)} ? "http://" + string(${sourceNamePath}) : ${JSON.stringify(fallback)})))`);
|
|
251
|
+
}
|
|
252
|
+
function platformEndpoints(stackName, namespaceName, emitRouteResources) {
|
|
253
|
+
return {
|
|
254
|
+
hydraPublic: emitRouteResources
|
|
255
|
+
? routeEndpoint('http://hydra.localhost')
|
|
256
|
+
: serviceEndpoint(stackName, 'hydra-public', namespaceName, 4444),
|
|
257
|
+
hydraAdmin: serviceEndpoint(stackName, 'hydra-admin', namespaceName, 4445),
|
|
258
|
+
kratosPublic: emitRouteResources
|
|
259
|
+
? routeEndpoint('http://kratos.localhost')
|
|
260
|
+
: serviceEndpoint(stackName, 'kratos-public', namespaceName, 4433),
|
|
261
|
+
kratosAdmin: serviceEndpoint(stackName, 'kratos-admin', namespaceName, 4434),
|
|
262
|
+
ketoRead: serviceEndpoint(stackName, 'keto-read', namespaceName, 4466),
|
|
263
|
+
ketoWrite: serviceEndpoint(stackName, 'keto-write', namespaceName, 4467),
|
|
264
|
+
oathkeeperProxy: emitRouteResources
|
|
265
|
+
? routeEndpoint('http://identity.localhost', 4455)
|
|
266
|
+
: serviceEndpoint(stackName, 'oathkeeper-proxy', namespaceName, 4455),
|
|
267
|
+
oathkeeperApi: emitRouteResources
|
|
268
|
+
? routeEndpoint('http://oathkeeper-api.localhost', 4456)
|
|
269
|
+
: serviceEndpoint(stackName, 'oathkeeper-api', namespaceName, 4456),
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
function isSchemaSpec(value) {
|
|
273
|
+
return (!!value &&
|
|
274
|
+
typeof value === 'object' &&
|
|
275
|
+
value.__schemaProxyBasePath === 'spec');
|
|
276
|
+
}
|
|
277
|
+
export const oryPlatformStack = kubernetesComposition({
|
|
278
|
+
name: 'ory-platform-stack',
|
|
279
|
+
kind: 'OryPlatformStack',
|
|
280
|
+
spec: OryPlatformStackConfigSchema,
|
|
281
|
+
status: OryPlatformStackStatusSchema,
|
|
282
|
+
}, (spec) => {
|
|
283
|
+
const namespaceName = spec.namespace ?? 'ory-system';
|
|
284
|
+
const concreteSpec = !isSchemaSpec(spec) &&
|
|
285
|
+
![spec.name, spec.namespace, spec.managed, spec.dependencySources].some((value) => isKubernetesRef(value));
|
|
286
|
+
const manageDatabasesIncludeWhen = Cel.expr('!has(schema.spec.managed) || !has(schema.spec.managed.databases) || schema.spec.managed.databases != false');
|
|
287
|
+
let manageDatabases = manageDatabasesIncludeWhen;
|
|
288
|
+
let manageSecrets = Cel.expr('!has(schema.spec.managed) || !has(schema.spec.managed.secrets) || schema.spec.managed.secrets != false');
|
|
289
|
+
let manageRoutes = Cel.expr('!has(schema.spec.managed) || !has(schema.spec.managed.routes) || schema.spec.managed.routes != false');
|
|
290
|
+
let manageSampleUpstream = Cel.expr('!has(schema.spec.managed) || !has(schema.spec.managed.sampleUpstream) || schema.spec.managed.sampleUpstream != false');
|
|
291
|
+
if (concreteSpec) {
|
|
292
|
+
manageDatabases = managedFlagEnabled(spec.managed, 'databases');
|
|
293
|
+
manageSecrets = managedFlagEnabled(spec.managed, 'secrets');
|
|
294
|
+
manageRoutes = managedFlagEnabled(spec.managed, 'routes');
|
|
295
|
+
manageSampleUpstream = managedFlagEnabled(spec.managed, 'sampleUpstream');
|
|
296
|
+
}
|
|
297
|
+
const createManagedDatabases = !concreteSpec || manageDatabases;
|
|
298
|
+
const createManagedSecrets = !concreteSpec || manageSecrets;
|
|
299
|
+
const createManagedSampleUpstream = !concreteSpec || manageSampleUpstream;
|
|
300
|
+
const emitRouteResources = manageRoutes && concreteSpec;
|
|
301
|
+
let hydraDatabaseSecretName = `${spec.name}-hydra-db-app`;
|
|
302
|
+
let kratosDatabaseSecretName = `${spec.name}-kratos-db-app`;
|
|
303
|
+
let ketoDatabaseSecretName = `${spec.name}-keto-db-app`;
|
|
304
|
+
let hydraSystemSecretName = `${spec.name}-hydra-secrets`;
|
|
305
|
+
let kratosSecretsName = `${spec.name}-kratos-secrets`;
|
|
306
|
+
let oathkeeperSecretsName = `${spec.name}-oathkeeper-secrets`;
|
|
307
|
+
let sampleUpstreamName = `${spec.name}-sample-upstream`;
|
|
308
|
+
const hydraConfig = concreteSpec
|
|
309
|
+
? spec.hydra
|
|
310
|
+
: {
|
|
311
|
+
...(spec.hydra ?? {}),
|
|
312
|
+
issuerUrl: platformGraphUrl('schema.spec.dependencySources.hydra.issuerUrl.url', 'schema.spec.hydra.issuerUrl', 'http://hydra.localhost'),
|
|
313
|
+
loginUrl: platformGraphUrl('schema.spec.dependencySources.hydra.loginUrl.url', 'schema.spec.hydra.loginUrl', 'http://kratos.localhost'),
|
|
314
|
+
consentUrl: platformGraphUrl('schema.spec.dependencySources.hydra.consentUrl.url', 'schema.spec.hydra.consentUrl', 'http://kratos.localhost'),
|
|
315
|
+
logoutUrl: platformGraphUrl('schema.spec.dependencySources.hydra.logoutUrl.url', 'schema.spec.hydra.logoutUrl', 'http://kratos.localhost'),
|
|
316
|
+
};
|
|
317
|
+
const kratosConfig = concreteSpec
|
|
318
|
+
? spec.kratos
|
|
319
|
+
: {
|
|
320
|
+
...(spec.kratos ?? {}),
|
|
321
|
+
publicBaseUrl: platformGraphUrl('schema.spec.dependencySources.kratos.publicBaseUrl.url', 'schema.spec.kratos.publicBaseUrl', 'http://kratos.localhost'),
|
|
322
|
+
browserBaseUrl: platformGraphUrl('schema.spec.dependencySources.kratos.browserBaseUrl.url', 'schema.spec.kratos.browserBaseUrl', 'http://kratos.localhost'),
|
|
323
|
+
};
|
|
324
|
+
if (createManagedDatabases) {
|
|
325
|
+
cluster({
|
|
326
|
+
id: 'hydraDatabase',
|
|
327
|
+
name: `${spec.name}-hydra-db`,
|
|
328
|
+
namespace: namespaceName,
|
|
329
|
+
spec: {
|
|
330
|
+
instances: 1,
|
|
331
|
+
storage: { size: '1Gi' },
|
|
332
|
+
bootstrap: { initdb: { database: 'hydra', owner: 'hydra' } },
|
|
333
|
+
},
|
|
334
|
+
}).withIncludeWhen(manageDatabasesIncludeWhen);
|
|
335
|
+
hydraDatabaseSecretName = `${spec.name}-hydra-db-app`;
|
|
336
|
+
secret({
|
|
337
|
+
id: 'hydraDsnSecret',
|
|
338
|
+
metadata: { name: `${spec.name}-hydra-db`, namespace: namespaceName },
|
|
339
|
+
type: 'Opaque',
|
|
340
|
+
stringData: { dsn: `postgres://hydra@${spec.name}-hydra-db-rw.${namespaceName}.svc.cluster.local:5432/hydra` },
|
|
341
|
+
}).withIncludeWhen(manageDatabasesIncludeWhen);
|
|
342
|
+
cluster({
|
|
343
|
+
id: 'kratosDatabase',
|
|
344
|
+
name: `${spec.name}-kratos-db`,
|
|
345
|
+
namespace: namespaceName,
|
|
346
|
+
spec: {
|
|
347
|
+
instances: 1,
|
|
348
|
+
storage: { size: '1Gi' },
|
|
349
|
+
bootstrap: { initdb: { database: 'kratos', owner: 'kratos' } },
|
|
350
|
+
},
|
|
351
|
+
}).withIncludeWhen(manageDatabasesIncludeWhen);
|
|
352
|
+
kratosDatabaseSecretName = `${spec.name}-kratos-db-app`;
|
|
353
|
+
secret({
|
|
354
|
+
id: 'kratosDsnSecret',
|
|
355
|
+
metadata: { name: `${spec.name}-kratos-db`, namespace: namespaceName },
|
|
356
|
+
type: 'Opaque',
|
|
357
|
+
stringData: { dsn: `postgres://kratos@${spec.name}-kratos-db-rw.${namespaceName}.svc.cluster.local:5432/kratos` },
|
|
358
|
+
}).withIncludeWhen(manageDatabasesIncludeWhen);
|
|
359
|
+
cluster({
|
|
360
|
+
id: 'ketoDatabase',
|
|
361
|
+
name: `${spec.name}-keto-db`,
|
|
362
|
+
namespace: namespaceName,
|
|
363
|
+
spec: {
|
|
364
|
+
instances: 1,
|
|
365
|
+
storage: { size: '1Gi' },
|
|
366
|
+
bootstrap: { initdb: { database: 'keto', owner: 'keto' } },
|
|
367
|
+
},
|
|
368
|
+
}).withIncludeWhen(manageDatabasesIncludeWhen);
|
|
369
|
+
ketoDatabaseSecretName = `${spec.name}-keto-db-app`;
|
|
370
|
+
secret({
|
|
371
|
+
id: 'ketoDsnSecret',
|
|
372
|
+
metadata: { name: `${spec.name}-keto-db`, namespace: namespaceName },
|
|
373
|
+
type: 'Opaque',
|
|
374
|
+
stringData: { dsn: `postgres://keto@${spec.name}-keto-db-rw.${namespaceName}.svc.cluster.local:5432/keto` },
|
|
375
|
+
}).withIncludeWhen(manageDatabasesIncludeWhen);
|
|
376
|
+
}
|
|
377
|
+
if (createManagedSecrets) {
|
|
378
|
+
const hydraSystemSecret = secret({
|
|
379
|
+
id: 'hydraSystemSecret',
|
|
380
|
+
metadata: {
|
|
381
|
+
name: `${spec.name}-hydra-secrets`,
|
|
382
|
+
namespace: namespaceName,
|
|
383
|
+
annotations: { 'typekro.dev/local-default': 'true' },
|
|
384
|
+
},
|
|
385
|
+
type: 'Opaque',
|
|
386
|
+
stringData: { system: 'hydra-local-system-secret-000000' },
|
|
387
|
+
}).withIncludeWhen(manageSecrets);
|
|
388
|
+
hydraSystemSecretName = hydraSystemSecret.metadata.name ?? hydraSystemSecretName;
|
|
389
|
+
const kratosSecrets = secret({
|
|
390
|
+
id: 'kratosSecrets',
|
|
391
|
+
metadata: {
|
|
392
|
+
name: `${spec.name}-kratos-secrets`,
|
|
393
|
+
namespace: namespaceName,
|
|
394
|
+
annotations: { 'typekro.dev/local-default': 'true' },
|
|
395
|
+
},
|
|
396
|
+
type: 'Opaque',
|
|
397
|
+
stringData: {
|
|
398
|
+
cookie: 'kratos-local-cookie-secret-00000',
|
|
399
|
+
cipher: 'kratos-local-cipher-secret-00010',
|
|
400
|
+
},
|
|
401
|
+
}).withIncludeWhen(manageSecrets);
|
|
402
|
+
kratosSecretsName = kratosSecrets.metadata.name ?? kratosSecretsName;
|
|
403
|
+
const oathkeeperSecrets = secret({
|
|
404
|
+
id: 'oathkeeperSecrets',
|
|
405
|
+
metadata: {
|
|
406
|
+
name: `${spec.name}-oathkeeper-secrets`,
|
|
407
|
+
namespace: namespaceName,
|
|
408
|
+
annotations: { 'typekro.dev/local-default': 'true' },
|
|
409
|
+
},
|
|
410
|
+
type: 'Opaque',
|
|
411
|
+
stringData: { jwks: '{"keys":[]}' },
|
|
412
|
+
}).withIncludeWhen(manageSecrets);
|
|
413
|
+
oathkeeperSecretsName = oathkeeperSecrets.metadata.name ?? oathkeeperSecretsName;
|
|
414
|
+
}
|
|
415
|
+
if (createManagedSampleUpstream) {
|
|
416
|
+
simple.Deployment({
|
|
417
|
+
id: 'sampleUpstream',
|
|
418
|
+
name: `${spec.name}-sample-upstream`,
|
|
419
|
+
namespace: namespaceName,
|
|
420
|
+
image: 'nginx:1.27-alpine',
|
|
421
|
+
replicas: 1,
|
|
422
|
+
ports: [{ containerPort: 80 }],
|
|
423
|
+
}).withIncludeWhen(manageSampleUpstream);
|
|
424
|
+
const sampleUpstreamService = simple.Service({
|
|
425
|
+
id: 'sampleUpstreamService',
|
|
426
|
+
name: `${spec.name}-sample-upstream`,
|
|
427
|
+
namespace: namespaceName,
|
|
428
|
+
selector: { app: `${spec.name}-sample-upstream` },
|
|
429
|
+
ports: [{ port: 80, targetPort: 80 }],
|
|
430
|
+
}).withIncludeWhen(manageSampleUpstream);
|
|
431
|
+
sampleUpstreamName = sampleUpstreamService.metadata.name ?? sampleUpstreamName;
|
|
432
|
+
}
|
|
433
|
+
const managedSources = managedDependencySources({
|
|
434
|
+
hydraDatabaseSecretName,
|
|
435
|
+
hydraSystemSecretName,
|
|
436
|
+
kratosDatabaseSecretName,
|
|
437
|
+
kratosSecretsName,
|
|
438
|
+
ketoDatabaseSecretName,
|
|
439
|
+
oathkeeperSecretsName,
|
|
440
|
+
hydraPublicRouteUrl: 'http://hydra.localhost',
|
|
441
|
+
kratosPublicRouteUrl: 'http://kratos.localhost',
|
|
442
|
+
oathkeeperProxyRouteUrl: 'http://identity.localhost',
|
|
443
|
+
oathkeeperApiRouteUrl: 'http://oathkeeper-api.localhost',
|
|
444
|
+
...(concreteSpec
|
|
445
|
+
? {
|
|
446
|
+
hydraPublicRouteName: `${spec.name}-hydra-public-route`,
|
|
447
|
+
kratosPublicRouteName: `${spec.name}-kratos-public-route`,
|
|
448
|
+
oathkeeperProxyRouteName: `${spec.name}-oathkeeper-proxy-route`,
|
|
449
|
+
oathkeeperApiRouteName: `${spec.name}-oathkeeper-api-route`,
|
|
450
|
+
}
|
|
451
|
+
: {}),
|
|
452
|
+
sampleUpstreamName,
|
|
453
|
+
courierSesName: `${spec.name}-courier-ses`,
|
|
454
|
+
}, concreteSpec
|
|
455
|
+
? { ...spec.managed, routes: emitRouteResources }
|
|
456
|
+
: {
|
|
457
|
+
databases: true,
|
|
458
|
+
secrets: true,
|
|
459
|
+
routes: true,
|
|
460
|
+
sampleUpstream: true,
|
|
461
|
+
...(spec.managed?.courierSes !== undefined ? { courierSes: spec.managed.courierSes } : {}),
|
|
462
|
+
});
|
|
463
|
+
const resolvedSources = mergeDependencySources(managedSources, spec.dependencySources);
|
|
464
|
+
const ory = oryIdentityStack({
|
|
465
|
+
...spec,
|
|
466
|
+
hydra: hydraConfig,
|
|
467
|
+
kratos: kratosConfig,
|
|
468
|
+
namespace: namespaceName,
|
|
469
|
+
dependencySources: resolvedSources,
|
|
470
|
+
});
|
|
471
|
+
const oryStatus = {
|
|
472
|
+
ready: ory.status.ready,
|
|
473
|
+
phase: Cel.expr(ory.status.ready, ' ? "Ready" : "Installing"'),
|
|
474
|
+
components: {
|
|
475
|
+
hydra: ory.status.components.hydra,
|
|
476
|
+
kratos: ory.status.components.kratos,
|
|
477
|
+
keto: ory.status.components.keto,
|
|
478
|
+
oathkeeper: ory.status.components.oathkeeper,
|
|
479
|
+
},
|
|
480
|
+
maester: {
|
|
481
|
+
hydra: ory.status.maester.hydra,
|
|
482
|
+
oathkeeper: ory.status.maester.oathkeeper,
|
|
483
|
+
},
|
|
484
|
+
endpoints: platformEndpoints(spec.name, namespaceName, emitRouteResources),
|
|
485
|
+
version: Cel.template('%s', spec.version ?? '0.62.0'),
|
|
486
|
+
};
|
|
487
|
+
configMap({
|
|
488
|
+
id: 'oryPlatformStackMetadata',
|
|
489
|
+
metadata: { name: `${spec.name}-platform-metadata`, namespace: namespaceName },
|
|
490
|
+
data: {
|
|
491
|
+
'oryIdentityStack': spec.name,
|
|
492
|
+
'dependencies': 'managed-or-external',
|
|
493
|
+
},
|
|
494
|
+
});
|
|
495
|
+
if (emitRouteResources) {
|
|
496
|
+
oathkeeperRule({
|
|
497
|
+
id: 'sampleUpstreamOathkeeperRule',
|
|
498
|
+
name: `${spec.name}-sample-upstream`,
|
|
499
|
+
namespace: namespaceName,
|
|
500
|
+
spec: {
|
|
501
|
+
match: { methods: ['GET'], url: 'http://identity.localhost/<.*>' },
|
|
502
|
+
upstream: { url: `http://${sampleUpstreamName}.${namespaceName}.svc.cluster.local` },
|
|
503
|
+
authenticators: [{ handler: 'anonymous' }],
|
|
504
|
+
authorizer: { handler: 'allow' },
|
|
505
|
+
mutators: [{ handler: 'noop' }],
|
|
506
|
+
},
|
|
507
|
+
});
|
|
508
|
+
apisixRoute('hydraPublicApisixRoute', `${spec.name}-hydra-public-route`, namespaceName, 'hydra.localhost', `${spec.name}-hydra-public`, 4444);
|
|
509
|
+
apisixRoute('kratosPublicApisixRoute', `${spec.name}-kratos-public-route`, namespaceName, 'kratos.localhost', `${spec.name}-kratos-public`, 4433);
|
|
510
|
+
apisixRoute('oathkeeperProxyApisixRoute', `${spec.name}-oathkeeper-proxy-route`, namespaceName, 'identity.localhost', `${spec.name}-oathkeeper-proxy`, 4455);
|
|
511
|
+
apisixRoute('oathkeeperApiApisixRoute', `${spec.name}-oathkeeper-api-route`, namespaceName, 'oathkeeper-api.localhost', `${spec.name}-oathkeeper-api`, 4456);
|
|
512
|
+
}
|
|
513
|
+
return {
|
|
514
|
+
ready: ory.status.ready,
|
|
515
|
+
phase: Cel.expr(ory.status.ready, ' ? "Ready" : "Installing"'),
|
|
516
|
+
infrastructure: {
|
|
517
|
+
databases: manageDatabases,
|
|
518
|
+
secrets: manageSecrets,
|
|
519
|
+
routes: emitRouteResources,
|
|
520
|
+
upstream: manageSampleUpstream,
|
|
521
|
+
courier: spec.managed?.courierSes ?? false,
|
|
522
|
+
},
|
|
523
|
+
dependencies: {
|
|
524
|
+
hydraDatabase: mode(resolvedSources.hydra?.database?.dsn),
|
|
525
|
+
kratosDatabase: mode(resolvedSources.kratos?.database?.dsn),
|
|
526
|
+
ketoDatabase: mode(resolvedSources.keto?.database?.dsn),
|
|
527
|
+
secrets: mode(resolvedSources.hydra?.systemSecret),
|
|
528
|
+
routes: mode(resolvedSources.oathkeeper?.proxyRoute?.url),
|
|
529
|
+
upstream: mode(resolvedSources.oathkeeper?.upstream?.url),
|
|
530
|
+
courier: mode(resolvedSources.courier),
|
|
531
|
+
},
|
|
532
|
+
ory: oryStatus,
|
|
533
|
+
endpoints: oryStatus.endpoints,
|
|
534
|
+
};
|
|
535
|
+
});
|
|
536
|
+
//# sourceMappingURL=ory-platform-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ory-platform-stack.js","sourceRoot":"","sources":["../../../../src/factories/ory/compositions/ory-platform-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAML,4BAA4B,EAC5B,4BAA4B,GAE7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,qBAAqB,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,UAAU;CACpB,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,MAiB1B;IACC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,YAAqB,EAAuB,EAAE,CAC9E,OAAO,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3D,OAAO;QACL,KAAK,EAAE;YACL,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,uBAAuB,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACtG,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE;YAChG,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE;YACxF,QAAQ,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE;YACzF,UAAU,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE;YAC3F,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE;SAC3F;QACD,MAAM,EAAE;YACN,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,wBAAwB,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACvG,aAAa,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE;YAC9F,cAAc,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE;YAC/F,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE;gBACtF,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE;aACvF;SACF;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;SACtG;QACD,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,wBAAwB,CAAC,EAAE;YACjG,QAAQ,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,sBAAsB,CAAC,EAAE;YAC3F,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,kBAAkB,EAAE,EAAE;YAC/E,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,qBAAqB,EAAE,SAAS,EAAE,MAAM,EAAE;SACrG;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAA+C,EAC/C,OAA0C;IAE1C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAoD,EAAE,CAAC;IAClE,MAAM,MAAM,GAAqD,EAAE,CAAC;IACpE,MAAM,IAAI,GAAmD,EAAE,CAAC;IAChE,MAAM,UAAU,GAAyD,EAAE,CAAC;IAE5E,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,EAAE,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1E,IAAI,QAAQ,CAAC,IAAI,EAAE,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtE,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY;YAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QACnF,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACvE,IAAI,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC;YAC5C,UAAU,CAAC,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;QACzE,CAAC;IACH,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1E,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACvE,IAAI,QAAQ,CAAC,KAAK,EAAE,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7E,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,EAAE,aAAa;YAAE,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;QACzF,IAAI,QAAQ,CAAC,MAAM,EAAE,cAAc;YAAE,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QAC5F,IAAI,QAAQ,CAAC,UAAU,EAAE,UAAU;YAAE,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;QAC5F,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ;YAAE,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;IACxF,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ;YAAE,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;IACxF,CAAC;IAED,OAAO;QACL,KAAK;QACL,MAAM;QACN,IAAI;QACJ,UAAU;QACV,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,YAAY,EAAE,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/G,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA0C,EAC1C,GAA0D;IAE1D,OAAO,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAClB,EAAU,EACV,IAAY,EACZ,SAAiB,EACjB,IAAY,EACZ,WAAmB,EACnB,WAAmB;IAEnB,OAAO,cAAc,CACnB,EAAE,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAqB,EAAE,EACxF;QACE,EAAE;QACF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC7B,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ;oBACE,IAAI;oBACJ,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE;oBACvC,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;iBACzC;aACF;SACF;KACF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAkC,EAClC,QAA+C;IAE/C,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC;IAC5B,MAAM,UAAU,GAAG,QAAQ,EAAE,UAAU,CAAC;IAExC,OAAO,OAAO,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;YACb,QAAQ,EAAE,OAAO,CAAC;gBAChB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC;gBAC9E,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY;aACrF,CAAC;YACF,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC;YACrF,SAAS,EAAE,OAAO,CAAC;gBACjB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC;aACjF,CAAC;YACF,QAAQ,EAAE,OAAO,CAAC;gBAChB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC;aAC/E,CAAC;YACF,UAAU,EAAE,OAAO,CAAC;gBAClB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC;aACnF,CAAC;YACF,SAAS,EAAE,OAAO,CAAC;gBACjB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC;aACjF,CAAC;SACH,CAAC;QACF,MAAM,EAAE,OAAO,CAAC;YACd,QAAQ,EAAE,OAAO,CAAC;gBAChB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC;gBAChF,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY;aACvF,CAAC;YACF,aAAa,EAAE,OAAO,CAAC;gBACrB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC;aAC3F,CAAC;YACF,cAAc,EAAE,OAAO,CAAC;gBACtB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC;aAC7F,CAAC;YACF,OAAO,EAAE,OAAO,CAAC;gBACf,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;gBACvF,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;aACxF,CAAC;YACF,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;SACzE,CAAC;QACF,IAAI,EAAE,OAAO,CAAC;YACZ,QAAQ,EAAE,OAAO,CAAC;gBAChB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC;gBAC5E,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY;aACnF,CAAC;SACH,CAAC;QACF,UAAU,EAAE,OAAO,CAAC;YAClB,UAAU,EAAE,OAAO,CAAC;gBAClB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC;aAC7F,CAAC;YACF,QAAQ,EAAE,OAAO,CAAC;gBAChB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC;aACzF,CAAC;YACF,QAAQ,EAAE,OAAO,CAAC;gBAChB,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC;aACzF,CAAC;YACF,kBAAkB,EAChB,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,CAAC;SAChG,CAAC;QACF,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAmB,KAA2C;IAC5E,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAM,CAAC;AACnG,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAyC,EACzC,QAAyC;IAEzC,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/B,MAAM,aAAa,GAAI,QAAuC,CAAC,KAAK,CAAC;IACrE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3E,OAAO,OAAO,CAAC;QACb,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC7C,KAAK,EAAE,aAAa;QACpB,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;QAC1C,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;QACrE,SAAS,EAAE,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC;QAC3E,UAAU,EAAE,SAAS,CAAC,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC;QAC9E,SAAS,EAAE,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC;KAC5E,CAAwB,CAAC;AAC5B,CAAC;AAED,SAAS,SAAS,CAAmB,QAAuB,EAAE,QAAuB;IACnF,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAM,CAAC;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,IAAI,CAAC,KAAmD;IAC/D,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,IAAI,GAAG,EAAE;IAC3C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,OAAO;QACL,GAAG;QACH,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACxC,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,IAAI,EAAE,UAAU;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,SAAiB,EACjB,aAAqB,EACrB,aAAqB,EACrB,IAAY,EACZ,MAAM,GAAG,MAAM;IAEf,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAW,CAAC;IAC9E,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,4BAA4B,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,CAAW,CAAC;IAC3G,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,QAAQ,CACf,GAAG,MAAM,iCAAiC,IAAI,EAAE,EAChD,SAAS,EACT,aAAa,EACb,aAAa,CACJ;QACX,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,WAAW;QACX,SAAS,EAAE,aAAa;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,YAAoB,EAAE,QAAgB;IAClF,MAAM,aAAa,GAAG,GAAG,UAAU,MAAM,CAAC;IAC1C,MAAM,cAAc,GAAG,GAAG,UAAU,eAAe,CAAC;IACpD,OAAO,GAAG,CAAC,IAAI,CACb,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,aAAa,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,YAAY,OAAO,OAAO,CAAC,cAAc,CAAC,yBAAyB,cAAc,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAC3L,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAiB,EACjB,aAAqB,EACrB,kBAA2B;IAE3B,OAAO;QACL,WAAW,EAAE,kBAAkB;YAC7B,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC;YACzC,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC;QACnE,UAAU,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;QAC1E,YAAY,EAAE,kBAAkB;YAC9B,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAC1C,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC;QACpE,WAAW,EAAE,eAAe,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC;QAC5E,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC;QACtE,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC;QACxE,eAAe,EAAE,kBAAkB;YACjC,CAAC,CAAC,aAAa,CAAC,2BAA2B,EAAE,IAAI,CAAC;YAClD,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,IAAI,CAAC;QACvE,aAAa,EAAE,kBAAkB;YAC/B,CAAC,CAAC,aAAa,CAAC,iCAAiC,EAAE,IAAI,CAAC;YACxD,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACxB,KAA6C,CAAC,qBAAqB,KAAK,MAAM,CAChF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CACnD;IACE,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,4BAAuE;IAC7E,MAAM,EAAE,4BAA4B;CACrC,EACD,CAAC,IAA4B,EAAE,EAAE;IAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;IACrD,MAAM,YAAY,GAChB,CAAC,YAAY,CAAC,IAAI,CAAC;QACnB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAChF,eAAe,CAAC,KAAK,CAAC,CACvB,CAAC;IACJ,MAAM,0BAA0B,GAAG,GAAG,CAAC,IAAI,CACzC,4GAA4G,CAC7G,CAAC;IACF,IAAI,eAAe,GAAY,0BAA0B,CAAC;IAC1D,IAAI,aAAa,GAAY,GAAG,CAAC,IAAI,CACnC,wGAAwG,CACzG,CAAC;IACF,IAAI,YAAY,GAAY,GAAG,CAAC,IAAI,CAClC,sGAAsG,CACvG,CAAC;IACF,IAAI,oBAAoB,GAAY,GAAG,CAAC,IAAI,CAC1C,sHAAsH,CACvH,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChE,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1D,oBAAoB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,sBAAsB,GAAG,CAAC,YAAY,IAAI,eAAe,CAAC;IAChE,MAAM,oBAAoB,GAAG,CAAC,YAAY,IAAI,aAAa,CAAC;IAC5D,MAAM,2BAA2B,GAAG,CAAC,YAAY,IAAI,oBAAoB,CAAC;IAC1E,MAAM,kBAAkB,GAAG,YAAY,IAAI,YAAY,CAAC;IACxD,IAAI,uBAAuB,GAAG,GAAG,IAAI,CAAC,IAAI,eAAe,CAAC;IAC1D,IAAI,wBAAwB,GAAG,GAAG,IAAI,CAAC,IAAI,gBAAgB,CAAC;IAC5D,IAAI,sBAAsB,GAAG,GAAG,IAAI,CAAC,IAAI,cAAc,CAAC;IACxD,IAAI,qBAAqB,GAAG,GAAG,IAAI,CAAC,IAAI,gBAAgB,CAAC;IACzD,IAAI,iBAAiB,GAAG,GAAG,IAAI,CAAC,IAAI,iBAAiB,CAAC;IACtD,IAAI,qBAAqB,GAAG,GAAG,IAAI,CAAC,IAAI,qBAAqB,CAAC;IAC9D,IAAI,kBAAkB,GAAG,GAAG,IAAI,CAAC,IAAI,kBAAkB,CAAC;IACxD,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,IAAI,CAAC,KAAK;QACZ,CAAC,CAAC;YACE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACrB,SAAS,EAAE,gBAAgB,CACzB,mDAAmD,EACnD,6BAA6B,EAC7B,wBAAwB,CACzB;YACD,QAAQ,EAAE,gBAAgB,CACxB,kDAAkD,EAClD,4BAA4B,EAC5B,yBAAyB,CAC1B;YACD,UAAU,EAAE,gBAAgB,CAC1B,oDAAoD,EACpD,8BAA8B,EAC9B,yBAAyB,CAC1B;YACD,SAAS,EAAE,gBAAgB,CACzB,mDAAmD,EACnD,6BAA6B,EAC7B,yBAAyB,CAC1B;SACF,CAAC;IACN,MAAM,YAAY,GAAG,YAAY;QAC/B,CAAC,CAAC,IAAI,CAAC,MAAM;QACb,CAAC,CAAC;YACE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACtB,aAAa,EAAE,gBAAgB,CAC7B,wDAAwD,EACxD,kCAAkC,EAClC,yBAAyB,CAC1B;YACD,cAAc,EAAE,gBAAgB,CAC9B,yDAAyD,EACzD,mCAAmC,EACnC,yBAAyB,CAC1B;SACF,CAAC;IAEN,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,CAAC;YACN,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,WAAW;YAC7B,SAAS,EAAE,aAAa;YACxB,IAAI,EAAE;gBACJ,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxB,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;aAC7D;SACF,CAAC,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAC/C,uBAAuB,GAAG,GAAG,IAAI,CAAC,IAAI,eAAe,CAAC;QACtD,MAAM,CAAC;YACL,EAAE,EAAE,gBAAgB;YACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE;YACrE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,GAAG,EAAE,oBAAoB,IAAI,CAAC,IAAI,gBAAgB,aAAa,+BAA+B,EAAE;SAC/G,CAAC,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAC/C,OAAO,CAAC;YACN,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY;YAC9B,SAAS,EAAE,aAAa;YACxB,IAAI,EAAE;gBACJ,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxB,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;aAC/D;SACF,CAAC,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAC/C,wBAAwB,GAAG,GAAG,IAAI,CAAC,IAAI,gBAAgB,CAAC;QACxD,MAAM,CAAC;YACL,EAAE,EAAE,iBAAiB;YACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE;YACtE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,GAAG,EAAE,qBAAqB,IAAI,CAAC,IAAI,iBAAiB,aAAa,gCAAgC,EAAE;SAClH,CAAC,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAC/C,OAAO,CAAC;YACN,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,UAAU;YAC5B,SAAS,EAAE,aAAa;YACxB,IAAI,EAAE;gBACJ,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;gBACxB,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;aAC3D;SACF,CAAC,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAC/C,sBAAsB,GAAG,GAAG,IAAI,CAAC,IAAI,cAAc,CAAC;QACpD,MAAM,CAAC;YACL,EAAE,EAAE,eAAe;YACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE;YACpE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,GAAG,EAAE,mBAAmB,IAAI,CAAC,IAAI,eAAe,aAAa,8BAA8B,EAAE;SAC5G,CAAC,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,iBAAiB,GAAG,MAAM,CAAC;YAC/B,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,gBAAgB;gBAClC,SAAS,EAAE,aAAa;gBACxB,WAAW,EAAE,EAAE,2BAA2B,EAAE,MAAM,EAAE;aACrD;YACD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,MAAM,EAAE,kCAAkC,EAAE;SAC3D,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAClC,qBAAqB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,qBAAqB,CAAC;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC;YAC3B,EAAE,EAAE,eAAe;YACnB,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,iBAAiB;gBACnC,SAAS,EAAE,aAAa;gBACxB,WAAW,EAAE,EAAE,2BAA2B,EAAE,MAAM,EAAE;aACrD;YACD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,kCAAkC;gBAC1C,MAAM,EAAE,kCAAkC;aAC3C;SACF,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAClC,iBAAiB,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,IAAI,iBAAiB,CAAC;QACrE,MAAM,iBAAiB,GAAG,MAAM,CAAC;YAC/B,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,qBAAqB;gBACvC,SAAS,EAAE,aAAa;gBACxB,WAAW,EAAE,EAAE,2BAA2B,EAAE,MAAM,EAAE;aACrD;YACD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;SACpC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAClC,qBAAqB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,qBAAqB,CAAC;IACnF,CAAC;IAED,IAAI,2BAA2B,EAAE,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC;YAChB,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,kBAAkB;YACpC,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,mBAAmB;YAC1B,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;SAC/B,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACzC,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC;YAC3C,EAAE,EAAE,uBAAuB;YAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,kBAAkB;YACpC,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,kBAAkB,EAAE;YACjD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;SACtC,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACzC,kBAAkB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,IAAI,kBAAkB,CAAC;IACjF,CAAC;IAED,MAAM,cAAc,GAAG,wBAAwB,CAC7C;QACE,uBAAuB;QACvB,qBAAqB;QACrB,wBAAwB;QACxB,iBAAiB;QACjB,sBAAsB;QACtB,qBAAqB;QACrB,mBAAmB,EAAE,wBAAwB;QAC7C,oBAAoB,EAAE,yBAAyB;QAC/C,uBAAuB,EAAE,2BAA2B;QACpD,qBAAqB,EAAE,iCAAiC;QACxD,GAAG,CAAC,YAAY;YACd,CAAC,CAAC;gBACE,oBAAoB,EAAE,GAAG,IAAI,CAAC,IAAI,qBAAqB;gBACvD,qBAAqB,EAAE,GAAG,IAAI,CAAC,IAAI,sBAAsB;gBACzD,wBAAwB,EAAE,GAAG,IAAI,CAAC,IAAI,yBAAyB;gBAC/D,sBAAsB,EAAE,GAAG,IAAI,CAAC,IAAI,uBAAuB;aAC5D;YACH,CAAC,CAAC,EAAE,CAAC;QACP,kBAAkB;QAClB,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,cAAc;KAC3C,EACD,YAAY;QACV,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE;QACjD,CAAC,CAAC;YACE,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,IAAI;YACpB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3F,CACN,CAAC;IACF,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEvF,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC3B,GAAG,IAAI;QACP,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,aAAa;QACxB,iBAAiB,EAAE,eAAe;KACO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;QACvB,KAAK,EAAE,GAAG,CAAC,IAAI,CAAyB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,2BAA2B,CAAC;QACtF,UAAU,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;YAClC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM;YACpC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;YAChC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU;SAC7C;QACD,OAAO,EAAE;YACP,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK;YAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU;SAC1C;QACD,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,kBAAkB,CAAC;QAC1E,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;KACtD,CAAC;IAEF,SAAS,CAAC;QACR,EAAE,EAAE,0BAA0B;QAC9B,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE;QAC9E,IAAI,EAAE;YACJ,kBAAkB,EAAE,IAAI,CAAC,IAAI;YAC7B,cAAc,EAAE,qBAAqB;SACtC;KACF,CAAC,CAAC;IAEH,IAAI,kBAAkB,EAAE,CAAC;QACvB,cAAc,CAAC;YACb,EAAE,EAAE,8BAA8B;YAClC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,kBAAkB;YACpC,SAAS,EAAE,aAAa;YACxB,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,gCAAgC,EAAE;gBAClE,QAAQ,EAAE,EAAE,GAAG,EAAE,UAAU,kBAAkB,IAAI,aAAa,oBAAoB,EAAE;gBACpF,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;gBAC1C,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;gBAChC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;aAChC;SACF,CAAC,CAAC;QACH,WAAW,CACT,wBAAwB,EACxB,GAAG,IAAI,CAAC,IAAI,qBAAqB,EACjC,aAAa,EACb,iBAAiB,EACjB,GAAG,IAAI,CAAC,IAAI,eAAe,EAC3B,IAAI,CACL,CAAC;QACF,WAAW,CACT,yBAAyB,EACzB,GAAG,IAAI,CAAC,IAAI,sBAAsB,EAClC,aAAa,EACb,kBAAkB,EAClB,GAAG,IAAI,CAAC,IAAI,gBAAgB,EAC5B,IAAI,CACL,CAAC;QACF,WAAW,CACT,4BAA4B,EAC5B,GAAG,IAAI,CAAC,IAAI,yBAAyB,EACrC,aAAa,EACb,oBAAoB,EACpB,GAAG,IAAI,CAAC,IAAI,mBAAmB,EAC/B,IAAI,CACL,CAAC;QACF,WAAW,CACT,0BAA0B,EAC1B,GAAG,IAAI,CAAC,IAAI,uBAAuB,EACnC,aAAa,EACb,0BAA0B,EAC1B,GAAG,IAAI,CAAC,IAAI,iBAAiB,EAC7B,IAAI,CACL,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;QACvB,KAAK,EAAE,GAAG,CAAC,IAAI,CAAyB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,2BAA2B,CAAC;QACtF,cAAc,EAAE;YACd,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK;SAC3C;QACD,YAAY,EAAE;YACZ,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC;YACzD,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC;YAC3D,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC;YACvD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC;YACzD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC;YACzD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;SACvC;QACD,GAAG,EAAE,SAAS;QACd,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/ory/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/ory/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ory Helm integration resources.
|
|
3
|
+
*
|
|
4
|
+
* These wrappers install the official Ory charts through Flux HelmRepository and
|
|
5
|
+
* HelmRelease resources while preserving TypeKro resource ids and typed values.
|
|
6
|
+
*/
|
|
7
|
+
import type { OryDefaultChartVersion, OryDefaultHelmRepositoryUrl, OryHelmRepositoryFactory, OryHydraHelmReleaseFactory, OryKetoHelmReleaseFactory, OryKratosHelmReleaseFactory, OryOathkeeperHelmReleaseFactory } from '../types.js';
|
|
8
|
+
export declare const ORY_HELM_REPOSITORY_URL: OryDefaultHelmRepositoryUrl;
|
|
9
|
+
export declare const ORY_CHART_VERSION: OryDefaultChartVersion;
|
|
10
|
+
/** Create the official Ory HelmRepository resource. */
|
|
11
|
+
export declare const oryHelmRepository: OryHelmRepositoryFactory;
|
|
12
|
+
/** Create a Flux HelmRelease for the official Ory Hydra chart. */
|
|
13
|
+
export declare const hydraHelmRelease: OryHydraHelmReleaseFactory;
|
|
14
|
+
/** Create a Flux HelmRelease for the official Ory Kratos chart. */
|
|
15
|
+
export declare const kratosHelmRelease: OryKratosHelmReleaseFactory;
|
|
16
|
+
/** Create a Flux HelmRelease for the official Ory Keto chart. */
|
|
17
|
+
export declare const ketoHelmRelease: OryKetoHelmReleaseFactory;
|
|
18
|
+
/** Create a Flux HelmRelease for the official Ory Oathkeeper chart. */
|
|
19
|
+
export declare const oathkeeperHelmRelease: OryOathkeeperHelmReleaseFactory;
|
|
20
|
+
//# sourceMappingURL=helm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/ory/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAE3B,wBAAwB,EACxB,0BAA0B,EAE1B,yBAAyB,EAEzB,2BAA2B,EAE3B,+BAA+B,EAEhC,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,uBAAuB,EAAE,2BACJ,CAAC;AACnC,eAAO,MAAM,iBAAiB,EAAE,sBAAiC,CAAC;AAKlE,uDAAuD;AACvD,eAAO,MAAM,iBAAiB,EAAE,wBAY/B,CAAC;AAwCF,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,EAAE,0BACQ,CAAC;AAExC,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,EAAE,2BACQ,CAAC;AAEzC,iEAAiE;AACjE,eAAO,MAAM,eAAe,EAAE,yBACQ,CAAC;AAEvC,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,EAAE,+BACQ,CAAC"}
|