@r8s/recipes 0.2.1 → 0.3.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 (59) hide show
  1. package/dist/app.d.ts +1 -1
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +3 -6
  4. package/dist/app.js.map +1 -1
  5. package/dist/auth.d.ts.map +1 -1
  6. package/dist/auth.js +6 -10
  7. package/dist/auth.js.map +1 -1
  8. package/dist/backup.d.ts +18 -2
  9. package/dist/backup.d.ts.map +1 -1
  10. package/dist/backup.js +54 -6
  11. package/dist/backup.js.map +1 -1
  12. package/dist/cert-provider.d.ts.map +1 -1
  13. package/dist/cert-provider.js +2 -5
  14. package/dist/cert-provider.js.map +1 -1
  15. package/dist/database.d.ts +38 -13
  16. package/dist/database.d.ts.map +1 -1
  17. package/dist/database.js +103 -23
  18. package/dist/database.js.map +1 -1
  19. package/dist/dns-provider.d.ts.map +1 -1
  20. package/dist/dns-provider.js +2 -5
  21. package/dist/dns-provider.js.map +1 -1
  22. package/dist/endpoint.d.ts.map +1 -1
  23. package/dist/endpoint.js +11 -20
  24. package/dist/endpoint.js.map +1 -1
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +11 -8
  28. package/dist/index.js.map +1 -1
  29. package/dist/monitoring.d.ts.map +1 -1
  30. package/dist/monitoring.js +6 -13
  31. package/dist/monitoring.js.map +1 -1
  32. package/dist/platform.d.ts +3 -2
  33. package/dist/platform.d.ts.map +1 -1
  34. package/dist/platform.js +3 -2
  35. package/dist/platform.js.map +1 -1
  36. package/dist/r8s-cluster.d.ts +1 -1
  37. package/dist/r8s-cluster.d.ts.map +1 -1
  38. package/dist/r8s-cluster.js +25 -16
  39. package/dist/r8s-cluster.js.map +1 -1
  40. package/dist/s3-provider.d.ts +151 -0
  41. package/dist/s3-provider.d.ts.map +1 -0
  42. package/dist/s3-provider.js +126 -0
  43. package/dist/s3-provider.js.map +1 -0
  44. package/dist/secret-provider.d.ts +6 -6
  45. package/dist/secret-provider.d.ts.map +1 -1
  46. package/dist/secret-provider.js +6 -9
  47. package/dist/secret-provider.js.map +1 -1
  48. package/dist/use-operators.d.ts +7 -0
  49. package/dist/use-operators.d.ts.map +1 -0
  50. package/dist/use-operators.js +13 -0
  51. package/dist/use-operators.js.map +1 -0
  52. package/dist/web-service.d.ts.map +1 -1
  53. package/dist/web-service.js +2 -5
  54. package/dist/web-service.js.map +1 -1
  55. package/package.json +30 -5
  56. package/dist/operators.d.ts +0 -33
  57. package/dist/operators.d.ts.map +0 -1
  58. package/dist/operators.js +0 -56
  59. package/dist/operators.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.tsx"],"names":[],"mappings":";;AAyIA,4BA4DC;AArMD,oCAAqD;AACrD,iDAO2B;AAE3B,uDAA4E;AAC5E,iDAAmE;AACnE,2DAI4B;AAmD5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,SAAgB,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,OAAO,GAAG,SAAS,EACnB,gBAAgB,GAAG,IAAI,EACvB,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,EACP,GAAG,EACH,QAAQ,GACT,GAAG,KAAK,CAAA;IAET,IAAI,MAAM,GAAY,QAAQ,CAAA;IAE9B,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,IAAA,UAAG,EAAC,eAAQ,EAAE;YACrB,QAAQ,EAAE;gBACR,IAAA,UAAG,EAAC,WAAW,EAAE;oBACf,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9B,CAAC;gBACF,MAAM;aACP;SACF,CAAC,CAAA;IACJ,CAAC;IAED,qFAAqF;IACrF,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,IAAA,UAAG,EAAC,0BAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,iEAAiE;IACjE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,IAAA,UAAG,EAAC,gCAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,6CAA6C;IAC7C,MAAM,gBAAgB,GACpB,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IACjG,MAAM,GAAG,IAAA,UAAG,EAAC,oCAAgB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAEhF,0BAA0B;IAC1B,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,IAAA,UAAG,EAAC,0BAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,IAAA,UAAG,EAAC,iBAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,0BAA0B;IAC1B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,IAAA,UAAG,EAAC,oBAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.tsx"],"names":[],"mappings":";;AA0IA,4BA4DC;AAtMD,oCAAqD;AACrD,iDAO2B;AAE3B,uDAA4E;AAC5E,iDAAmE;AACnE,2DAI4B;AAmD5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,SAAgB,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,OAAO,GAAG,SAAS,EACnB,gBAAgB,GAAG,IAAI,EACvB,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,EACP,GAAG,EACH,QAAQ,GACT,GAAG,KAAK,CAAA;IAET,IAAI,MAAM,GAAY,QAAQ,CAAA;IAE9B,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,IAAA,UAAG,EAAC,eAAQ,EAAE;YACrB,QAAQ,EAAE;gBACR,IAAA,UAAG,EAAC,WAAW,EAAE;oBACf,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9B,CAAC;gBACF,MAAM;aACP;SACF,CAAC,CAAA;IACJ,CAAC;IAED,qFAAqF;IACrF,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,IAAA,UAAG,EAAC,0BAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,iEAAiE;IACjE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,IAAA,UAAG,EAAC,gCAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,6CAA6C;IAC7C,MAAM,gBAAgB,GACpB,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IACjG,MAAM,GAAG,IAAA,UAAG,EAAC,oCAAgB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAEhF,0BAA0B;IAC1B,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,IAAA,UAAG,EAAC,0BAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,IAAA,UAAG,EAAC,iBAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,0BAA0B;IAC1B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,IAAA,UAAG,EAAC,oBAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -94,7 +94,7 @@ export interface R8sClusterProps {
94
94
  * dns={{ server: 'ns1.example.com', zone: 'example.com', tsigPath: 'dns/tsig' }}
95
95
  * >
96
96
  * <Platform namespace="production">
97
- * <Database name="api-db" storage="20Gi" />
97
+ * <Database backup={false} name="api-db" storage="20Gi" />
98
98
  * <App name="api" image="api:v1" host="api.example.com" />
99
99
  * </Platform>
100
100
  * </R8sCluster>
@@ -1 +1 @@
1
- {"version":3,"file":"r8s-cluster.d.ts","sourceRoot":"","sources":["../src/r8s-cluster.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,OAAO,EAAE;QACP,0CAA0C;QAC1C,KAAK,EAAE,MAAM,CAAA;QACb,gEAAgE;QAChE,IAAI,EAAE,MAAM,CAAA;QACZ,uCAAuC;QACvC,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD;;;;;OAKG;IACH,GAAG,EAAE;QACH,oDAAoD;QACpD,MAAM,EAAE,MAAM,CAAA;QACd,qCAAqC;QACrC,IAAI,EAAE,MAAM,CAAA;QACZ,kDAAkD;QAClD,QAAQ,EAAE,MAAM,CAAA;QAChB,sDAAsD;QACtD,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,WA2KhD"}
1
+ {"version":3,"file":"r8s-cluster.d.ts","sourceRoot":"","sources":["../src/r8s-cluster.tsx"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,OAAO,EAAE;QACP,0CAA0C;QAC1C,KAAK,EAAE,MAAM,CAAA;QACb,gEAAgE;QAChE,IAAI,EAAE,MAAM,CAAA;QACZ,uCAAuC;QACvC,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD;;;;;OAKG;IACH,GAAG,EAAE;QACH,oDAAoD;QACpD,MAAM,EAAE,MAAM,CAAA;QACd,qCAAqC;QACrC,IAAI,EAAE,MAAM,CAAA;QACZ,kDAAkD;QAClD,QAAQ,EAAE,MAAM,CAAA;QAChB,sDAAsD;QACtD,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,WA6KhD"}
@@ -3,7 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.R8sCluster = R8sCluster;
4
4
  const core_1 = require("@r8s/core");
5
5
  const defaults_1 = require("@r8s/core/defaults");
6
- const crds_1 = require("@r8s/crds");
6
+ const operator_cert_manager_1 = require("@r8s/operator-cert-manager");
7
+ const operator_external_dns_1 = require("@r8s/operator-external-dns");
8
+ const operator_envoy_gateway_1 = require("@r8s/operator-envoy-gateway");
9
+ const operator_vault_secrets_1 = require("@r8s/operator-vault-secrets");
10
+ const operator_prometheus_1 = require("@r8s/operator-prometheus");
11
+ const operator_loki_1 = require("@r8s/operator-loki");
12
+ const operator_logging_1 = require("@r8s/operator-logging");
7
13
  const loki_1 = require("@r8s/crds/loki");
8
14
  const logging_1 = require("@r8s/crds/logging");
9
15
  const secret_provider_1 = require("./secret-provider");
@@ -42,7 +48,7 @@ const endpoint_provider_1 = require("./endpoint-provider");
42
48
  * dns={{ server: 'ns1.example.com', zone: 'example.com', tsigPath: 'dns/tsig' }}
43
49
  * >
44
50
  * <Platform namespace="production">
45
- * <Database name="api-db" storage="20Gi" />
51
+ * <Database backup={false} name="api-db" storage="20Gi" />
46
52
  * <App name="api" image="api:v1" host="api.example.com" />
47
53
  * </Platform>
48
54
  * </R8sCluster>
@@ -56,21 +62,24 @@ function R8sCluster(props) {
56
62
  // cnpg, keycloak) via their own logic.
57
63
  const sharedOperators = (0, core_1.useContext)(defaults_1.OperatorContext);
58
64
  const declared = [];
59
- const clusterOperators = [
60
- 'cert-manager',
61
- 'external-dns',
62
- 'envoy-gateway',
63
- 'vault-secrets-operator',
64
- 'prometheus',
65
- 'loki',
66
- 'logging-operator',
65
+ // R8sCluster's standard stack — each operator package's factory + its
66
+ // OPERATOR_KEY (the name lives in the package, not here). Seeds the
67
+ // children's OperatorContext so they never re-declare.
68
+ const clusterStack = [
69
+ [operator_cert_manager_1.operatorFactory, operator_cert_manager_1.OPERATOR_KEY],
70
+ [operator_external_dns_1.operatorFactory, operator_external_dns_1.OPERATOR_KEY],
71
+ [operator_envoy_gateway_1.operatorFactory, operator_envoy_gateway_1.OPERATOR_KEY],
72
+ [operator_vault_secrets_1.operatorFactory, operator_vault_secrets_1.OPERATOR_KEY],
73
+ [operator_prometheus_1.operatorFactory, operator_prometheus_1.OPERATOR_KEY],
74
+ [operator_loki_1.operatorFactory, operator_loki_1.OPERATOR_KEY],
75
+ [operator_logging_1.operatorFactory, operator_logging_1.OPERATOR_KEY],
67
76
  ];
68
- for (const opName of clusterOperators) {
69
- const alreadyDeclared = sharedOperators.some((op) => op.name === opName) ||
70
- preinstalled.some((op) => op.name === opName) ||
71
- declared.some((op) => op.name === opName);
72
- if (!alreadyDeclared && crds_1.operators[opName]) {
73
- declared.push(crds_1.operators[opName]());
77
+ for (const [factory, key] of clusterStack) {
78
+ const alreadyDeclared = sharedOperators.some((op) => op.name === key) ||
79
+ preinstalled.some((op) => op.name === key) ||
80
+ declared.some((op) => op.name === key);
81
+ if (!alreadyDeclared) {
82
+ declared.push(factory());
74
83
  }
75
84
  }
76
85
  // Build the secrets provider (OpenBao VSO)
@@ -1 +1 @@
1
- {"version":3,"file":"r8s-cluster.js","sourceRoot":"","sources":["../src/r8s-cluster.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"r8s-cluster.js","sourceRoot":"","sources":["../src/r8s-cluster.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * S3 capability — the platform's single source of object-storage truth.
3
+ *
4
+ * The provider publishes ONLY a store interface (which S3 is in play:
5
+ * MinIO, RustFS, AWS, …) plus the generic scoping descriptor. Consumers
6
+ * (Velero, CNPG, app packages) read it via useS3()/useContext and own
7
+ * their own conventions — prefix layout, credential keys, WAL archives.
8
+ * Nothing here knows which subsystems exist downstream.
9
+ */
10
+ /**
11
+ * Shared S3 (or S3-compatible) object storage configuration.
12
+ *
13
+ * `credentialsSecret` lives in each consumer's namespace and carries the
14
+ * keys that consumer's convention requires.
15
+ */
16
+ export interface S3Config {
17
+ /** Endpoint URL incl. scheme (e.g. 'https://s3.example.com') */
18
+ endpoint: string;
19
+ /** Bucket holding all consumer prefixes */
20
+ bucket: string;
21
+ /** Region (default: 'us-east-1' — the convention for MinIO/RustFS) */
22
+ region?: string;
23
+ /**
24
+ * Path-style addressing (default: true — virtually every non-AWS store
25
+ * requires it; AWS sets it via the AwsS3 convenience component)
26
+ */
27
+ forcePathStyle?: boolean;
28
+ /**
29
+ * Existing Secret holding the access keys. Must live in each
30
+ * consumer's namespace; the consumer decides which keys to read.
31
+ */
32
+ credentialsSecret: string;
33
+ /**
34
+ * Optional path prefix scoping every consumer destination inside the
35
+ * bucket (set via <Bucket name="…"> — one path segment, no slashes).
36
+ */
37
+ prefix?: string;
38
+ }
39
+ /**
40
+ * MinIO / RustFS convenience config — path style on, region default.
41
+ *
42
+ * @example
43
+ * import { S3Provider, MinIO } from '@r8s/recipes'
44
+ *
45
+ * export default (
46
+ * <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
47
+ * …consumers read the context…
48
+ * </S3Provider>
49
+ * )
50
+ */
51
+ export interface MinIOProps {
52
+ endpoint: string;
53
+ bucket: string;
54
+ credentialsSecret: string;
55
+ region?: string;
56
+ }
57
+ export declare function MinIO(props: MinIOProps): S3Config;
58
+ /**
59
+ * AWS S3 convenience config — virtual-hosted style, endpoint derived from region.
60
+ *
61
+ * @example
62
+ * import { S3Provider, AwsS3 } from '@r8s/recipes'
63
+ *
64
+ * export default (
65
+ * <S3Provider provider={<AwsS3 region="eu-north-1" bucket="infra-backups" credentialsSecret="aws-creds" />}>
66
+ * …consumers read the context…
67
+ * </S3Provider>
68
+ * )
69
+ */
70
+ export interface AwsS3Props {
71
+ region: string;
72
+ bucket: string;
73
+ credentialsSecret: string;
74
+ endpoint?: string;
75
+ }
76
+ export declare function AwsS3(props: AwsS3Props): S3Config;
77
+ export declare const S3Context: import("../../core/src/context").Context<S3Config | null>;
78
+ /** Read the surrounding S3 configuration (null when no provider is set). */
79
+ export declare function useS3(): S3Config | null;
80
+ export interface S3ProviderProps {
81
+ /**
82
+ * S3 configuration — the plain config object, or choose the convenience
83
+ * components <MinIO /> / <AwsS3 /> which are themselves S3Config values.
84
+ *
85
+ * @example
86
+ * <S3Provider provider={{ endpoint: 'https://s3.example.com', bucket: 'infra', credentialsSecret: 's3-creds' }}>
87
+ * <Database name="api-db" backup />
88
+ * </S3Provider>
89
+ */
90
+ provider: S3Config;
91
+ /** Child components */
92
+ children?: unknown;
93
+ }
94
+ /**
95
+ * S3Provider — publishes the platform's object store on context.
96
+ *
97
+ * Consumers resolve their own destinations from useS3(); <Bucket>
98
+ * scopes them; explicit per-consumer values always win.
99
+ */
100
+ export declare function S3Provider(props: S3ProviderProps): import("@r8s/core").r8sElement;
101
+ export interface BucketProps {
102
+ /** Prefix segment under the bucket (single path segment, no slashes) */
103
+ name: string;
104
+ /** Point at another bucket than the surrounding provider's (isolates tenant prefixes) */
105
+ bucket?: string;
106
+ /** Point at another endpoint than the surrounding provider's */
107
+ endpoint?: string;
108
+ /** Point at another credentials Secret than the surrounding provider's */
109
+ credentialsSecret?: string;
110
+ }
111
+ /**
112
+ * Bucket — a declarative pointer at an S3 destination to pass into
113
+ * consumers' backup/bucket props:
114
+ *
115
+ * <Database name="api-db" backup={<Bucket name="matrix_backup" />} />
116
+ *
117
+ * Endpoint/credentials resolve from the surrounding S3Provider unless the
118
+ * descriptor overrides them, so the call site shows exactly where data
119
+ * goes without repeating store config. Consumers append their own
120
+ * conventional suffix (`-cnpg`, `velero`, …).
121
+ *
122
+ * @example
123
+ * import { S3Provider, MinIO, Bucket, Database, Backup } from '@r8s/recipes'
124
+ *
125
+ * export default (
126
+ * <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
127
+ * <Database name="matrix-db" backup={<Bucket name="matrix_backup" />} />
128
+ * </S3Provider>
129
+ * )
130
+ */
131
+ export declare function Bucket(props: BucketProps): void;
132
+ export interface ResolvedBucket {
133
+ /** Effective store config after descriptor overrides */
134
+ s3: S3Config;
135
+ /** Prefix under the bucket the consumer composes with */
136
+ prefix: string;
137
+ /** Destination root including prefix (no consumer suffix) */
138
+ root: string;
139
+ }
140
+ /** Element check for the Bucket descriptor. */
141
+ export declare function isBucketElement(value: unknown): value is {
142
+ props: BucketProps;
143
+ };
144
+ /**
145
+ * Resolve a Bucket descriptor against the enclosing S3Provider (or its own
146
+ * full overrides) — children never need to know which half came from where.
147
+ */
148
+ export declare function resolveBucket(element: {
149
+ props: BucketProps;
150
+ }, s3: S3Config | null): ResolvedBucket;
151
+ //# sourceMappingURL=s3-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-provider.d.ts","sourceRoot":"","sources":["../src/s3-provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAEjD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAQjD;AAED,eAAO,MAAM,SAAS,2DAAuC,CAAA;AAE7D,4EAA4E;AAC5E,wBAAgB,KAAK,IAAI,QAAQ,GAAG,IAAI,CAEvC;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;;;;OAQG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAClB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,kCAoBhD;AAED,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,QAOxC;AAED,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,EAAE,EAAE,QAAQ,CAAA;IACZ,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;CACb;AAED,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAO/E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,EAC/B,EAAE,EAAE,QAAQ,GAAG,IAAI,GAClB,cAAc,CA+BhB"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ /**
3
+ * S3 capability — the platform's single source of object-storage truth.
4
+ *
5
+ * The provider publishes ONLY a store interface (which S3 is in play:
6
+ * MinIO, RustFS, AWS, …) plus the generic scoping descriptor. Consumers
7
+ * (Velero, CNPG, app packages) read it via useS3()/useContext and own
8
+ * their own conventions — prefix layout, credential keys, WAL archives.
9
+ * Nothing here knows which subsystems exist downstream.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.S3Context = void 0;
13
+ exports.MinIO = MinIO;
14
+ exports.AwsS3 = AwsS3;
15
+ exports.useS3 = useS3;
16
+ exports.S3Provider = S3Provider;
17
+ exports.Bucket = Bucket;
18
+ exports.isBucketElement = isBucketElement;
19
+ exports.resolveBucket = resolveBucket;
20
+ const core_1 = require("@r8s/core");
21
+ const defaults_1 = require("@r8s/core/defaults");
22
+ function MinIO(props) {
23
+ return { region: 'us-east-1', forcePathStyle: true, ...props };
24
+ }
25
+ function AwsS3(props) {
26
+ const { region, endpoint, ...rest } = props;
27
+ return {
28
+ endpoint: endpoint ?? `https://s3.${region}.amazonaws.com`,
29
+ region,
30
+ forcePathStyle: false,
31
+ ...rest,
32
+ };
33
+ }
34
+ exports.S3Context = (0, defaults_1.createContext)(null);
35
+ /** Read the surrounding S3 configuration (null when no provider is set). */
36
+ function useS3() {
37
+ return (0, core_1.useContext)(exports.S3Context);
38
+ }
39
+ /**
40
+ * S3Provider — publishes the platform's object store on context.
41
+ *
42
+ * Consumers resolve their own destinations from useS3(); <Bucket>
43
+ * scopes them; explicit per-consumer values always win.
44
+ */
45
+ function S3Provider(props) {
46
+ const { provider, children } = props;
47
+ // Resolve the provider value: JSX elements of the convenience factories
48
+ // are invoked with their props; plain S3Config objects pass through.
49
+ let config;
50
+ if (provider &&
51
+ typeof provider === 'object' &&
52
+ 'type' in provider &&
53
+ typeof provider.type === 'function') {
54
+ config = provider.type(provider.props);
55
+ }
56
+ else {
57
+ config = provider;
58
+ }
59
+ return (0, core_1.jsx)(exports.S3Context.Provider, { value: config, children });
60
+ }
61
+ /**
62
+ * Bucket — a declarative pointer at an S3 destination to pass into
63
+ * consumers' backup/bucket props:
64
+ *
65
+ * <Database name="api-db" backup={<Bucket name="matrix_backup" />} />
66
+ *
67
+ * Endpoint/credentials resolve from the surrounding S3Provider unless the
68
+ * descriptor overrides them, so the call site shows exactly where data
69
+ * goes without repeating store config. Consumers append their own
70
+ * conventional suffix (`-cnpg`, `velero`, …).
71
+ *
72
+ * @example
73
+ * import { S3Provider, MinIO, Bucket, Database, Backup } from '@r8s/recipes'
74
+ *
75
+ * export default (
76
+ * <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
77
+ * <Database name="matrix-db" backup={<Bucket name="matrix_backup" />} />
78
+ * </S3Provider>
79
+ * )
80
+ */
81
+ function Bucket(props) {
82
+ // Descriptors are VALUES — the renderer only reaches this body if someone
83
+ // renders <Bucket /> directly. Fail loudly instead of recursing.
84
+ throw new Error('Bucket is a descriptor, not a renderable component — pass it to consumers:' +
85
+ ` <Database backup={<Bucket name="${props?.name ?? '…'}" />} />`);
86
+ }
87
+ /** Element check for the Bucket descriptor. */
88
+ function isBucketElement(value) {
89
+ return (!!value &&
90
+ typeof value === 'object' &&
91
+ 'type' in value &&
92
+ value.type === Bucket);
93
+ }
94
+ /**
95
+ * Resolve a Bucket descriptor against the enclosing S3Provider (or its own
96
+ * full overrides) — children never need to know which half came from where.
97
+ */
98
+ function resolveBucket(element, s3) {
99
+ const { name, bucket, endpoint, credentialsSecret } = element.props;
100
+ if (!name || name.includes('/') || name.includes('..')) {
101
+ throw new Error(`Bucket name "${name}" must be a single path segment without slashes or '..' — it becomes the prefix under s3://<bucket>/`);
102
+ }
103
+ const effective = {
104
+ ...s3,
105
+ ...(endpoint !== undefined && { endpoint }),
106
+ ...(bucket !== undefined && { bucket }),
107
+ ...(credentialsSecret !== undefined && { credentialsSecret }),
108
+ };
109
+ if (!effective.endpoint || !effective.bucket || !effective.credentialsSecret) {
110
+ throw new Error(`Bucket "${name}" cannot resolve its store config:\n` +
111
+ `\n` +
112
+ `Wrap the consumer in an <S3Provider> (endpoint/credentials derive from it)\n` +
113
+ `or give the descriptor the full config:\n` +
114
+ ` <Bucket name="${name}" bucket="…" endpoint="https://…" credentialsSecret="…" />`);
115
+ }
116
+ // A bucket override isolates the destination — the provider's tenant
117
+ // prefix must not leak into another store.
118
+ const ownPrefix = bucket === undefined ? s3?.prefix : undefined;
119
+ const prefix = [ownPrefix, name].filter(Boolean).join('/');
120
+ return {
121
+ s3: effective,
122
+ prefix,
123
+ root: `s3://${effective.bucket}/${prefix}`,
124
+ };
125
+ }
126
+ //# sourceMappingURL=s3-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-provider.js","sourceRoot":"","sources":["../src/s3-provider.tsx"],"names":[],"mappings":"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"}
@@ -69,7 +69,7 @@ export interface SecretProviderProps {
69
69
  *
70
70
  * export default (
71
71
  * <SecretProvider provider="openbao">
72
- * <Database name="app-db" />
72
+ * <Database backup={false} name="app-db" />
73
73
  * </SecretProvider>
74
74
  * )
75
75
  *
@@ -78,7 +78,7 @@ export interface SecretProviderProps {
78
78
  *
79
79
  * export default (
80
80
  * <SecretProvider provider={<OpenBao mount="secret" path="infra" authRef="custom" />}>
81
- * <Database name="app-db" />
81
+ * <Database backup={false} name="app-db" />
82
82
  * </SecretProvider>
83
83
  * )
84
84
  */
@@ -97,7 +97,7 @@ export interface SecretProviderProps {
97
97
  *
98
98
  * export default (
99
99
  * <SecretProvider provider="openbao">
100
- * <Database name="app-db" />
100
+ * <Database backup={false} name="app-db" />
101
101
  * </SecretProvider>
102
102
  * )
103
103
  *
@@ -106,7 +106,7 @@ export interface SecretProviderProps {
106
106
  *
107
107
  * export default (
108
108
  * <SecretProvider provider={<OpenBao mount="secret" path="infra" authRef="custom-auth" />}>
109
- * <Database name="app-db" />
109
+ * <Database backup={false} name="app-db" />
110
110
  * </SecretProvider>
111
111
  * )
112
112
  *
@@ -115,7 +115,7 @@ export interface SecretProviderProps {
115
115
  *
116
116
  * export default (
117
117
  * <SecretProvider provider={<Vault mount="kv" path="apps" />}>
118
- * <Database name="app-db" />
118
+ * <Database backup={false} name="app-db" />
119
119
  * </SecretProvider>
120
120
  * )
121
121
  *
@@ -124,7 +124,7 @@ export interface SecretProviderProps {
124
124
  *
125
125
  * export default (
126
126
  * <SecretProvider provider="sealed-secrets">
127
- * <Database name="app-db" />
127
+ * <Database backup={false} name="app-db" />
128
128
  * </SecretProvider>
129
129
  * )
130
130
  */
@@ -1 +1 @@
1
- {"version":3,"file":"secret-provider.d.ts","sourceRoot":"","sources":["../src/secret-provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,IAAI,oBAAoB,EAC3C,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAA;AAI3B;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAChD,iBAAiB,GAAG,SAAS,CAO/B;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAChD,QAAQ,IAAI,oBAAoB,CAElC;AA2DD;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,oBAAoB,CAQjE;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,CAQ7D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAI7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;CAAG;AAEtC,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAI7E;AAED,kDAAkD;AAClD,MAAM,MAAM,mBAAmB,GAC7B,SAAS,GAAG,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,CAAA;AAElF,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,kCA0CxD"}
1
+ {"version":3,"file":"secret-provider.d.ts","sourceRoot":"","sources":["../src/secret-provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,IAAI,oBAAoB,EAC3C,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAA;AAI3B;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAChD,iBAAiB,GAAG,SAAS,CAO/B;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAChD,QAAQ,IAAI,oBAAoB,CAElC;AA2DD;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,oBAAoB,CAQjE;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,oBAAoB,CAQ7D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAI7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;CAAG;AAEtC,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAI7E;AAED,kDAAkD;AAClD,MAAM,MAAM,mBAAmB,GAC7B,SAAS,GAAG,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,CAAA;AAElF,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,kCAuCxD"}
@@ -10,7 +10,7 @@ exports.SecretProvider = SecretProvider;
10
10
  const core_1 = require("@r8s/core");
11
11
  const defaults_1 = require("@r8s/core/defaults");
12
12
  const defaults_2 = require("@r8s/core/defaults");
13
- const crds_1 = require("@r8s/crds");
13
+ const operator_vault_secrets_1 = require("@r8s/operator-vault-secrets");
14
14
  /**
15
15
  * Provisioner resolution — THE single identity-aware point in the platform.
16
16
  * Everything downstream codes against the `provision()` capability; new
@@ -122,7 +122,7 @@ function ManualSecrets(props) {
122
122
  *
123
123
  * export default (
124
124
  * <SecretProvider provider="openbao">
125
- * <Database name="app-db" />
125
+ * <Database backup={false} name="app-db" />
126
126
  * </SecretProvider>
127
127
  * )
128
128
  *
@@ -131,7 +131,7 @@ function ManualSecrets(props) {
131
131
  *
132
132
  * export default (
133
133
  * <SecretProvider provider={<OpenBao mount="secret" path="infra" authRef="custom-auth" />}>
134
- * <Database name="app-db" />
134
+ * <Database backup={false} name="app-db" />
135
135
  * </SecretProvider>
136
136
  * )
137
137
  *
@@ -140,7 +140,7 @@ function ManualSecrets(props) {
140
140
  *
141
141
  * export default (
142
142
  * <SecretProvider provider={<Vault mount="kv" path="apps" />}>
143
- * <Database name="app-db" />
143
+ * <Database backup={false} name="app-db" />
144
144
  * </SecretProvider>
145
145
  * )
146
146
  *
@@ -149,7 +149,7 @@ function ManualSecrets(props) {
149
149
  *
150
150
  * export default (
151
151
  * <SecretProvider provider="sealed-secrets">
152
- * <Database name="app-db" />
152
+ * <Database backup={false} name="app-db" />
153
153
  * </SecretProvider>
154
154
  * )
155
155
  */
@@ -189,10 +189,7 @@ function SecretProvider(props) {
189
189
  const resources = [];
190
190
  // Declare VSO for vault/openbao
191
191
  if (config.backend === 'vault' || config.backend === 'openbao') {
192
- const hasVSO = sharedOperators.some((op) => op.name === 'vault-secrets-operator');
193
- if (!hasVSO) {
194
- resources.push((0, core_1.declareOperator)(crds_1.operators['vault-secrets-operator']()));
195
- }
192
+ resources.push(...(0, operator_vault_secrets_1.declareIfMissing)(sharedOperators));
196
193
  }
197
194
  return (0, core_1.jsx)(core_1.Fragment, {
198
195
  children: [...resources, (0, core_1.jsx)(defaults_1.SecretContext.Provider, { value: config, children })],
@@ -1 +1 @@
1
- {"version":3,"file":"secret-provider.js","sourceRoot":"","sources":["../src/secret-provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret-provider.js","sourceRoot":"","sources":["../src/secret-provider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Operator } from '@r8s/k8s-types';
2
+ /**
3
+ * Read the operators the surrounding Platform already provides — the
4
+ * dedupe-seed shared with every consumer's `declareIfMissing`.
5
+ */
6
+ export declare function useOperators(): Operator[];
7
+ //# sourceMappingURL=use-operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-operators.d.ts","sourceRoot":"","sources":["../src/use-operators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;GAGG;AACH,wBAAgB,YAAY,IAAI,QAAQ,EAAE,CAEzC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOperators = useOperators;
4
+ const core_1 = require("@r8s/core");
5
+ const defaults_1 = require("@r8s/core/defaults");
6
+ /**
7
+ * Read the operators the surrounding Platform already provides — the
8
+ * dedupe-seed shared with every consumer's `declareIfMissing`.
9
+ */
10
+ function useOperators() {
11
+ return (0, core_1.useContext)(defaults_1.OperatorContext);
12
+ }
13
+ //# sourceMappingURL=use-operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-operators.js","sourceRoot":"","sources":["../src/use-operators.ts"],"names":[],"mappings":";;AAQA,oCAEC;AAVD,oCAAsC;AACtC,iDAAoD;AAGpD;;;GAGG;AACH,SAAgB,YAAY;IAC1B,OAAO,IAAA,iBAAU,EAAC,0BAAe,CAAC,CAAA;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-service.d.ts","sourceRoot":"","sources":["../src/web-service.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-service.d.ts","sourceRoot":"","sources":["../src/web-service.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WebService = WebService;
4
4
  const core_1 = require("@r8s/core");
5
5
  const defaults_1 = require("@r8s/core/defaults");
6
- const operators_1 = require("./operators");
6
+ const operator_vault_secrets_1 = require("@r8s/operator-vault-secrets");
7
7
  /**
8
8
  * Simple web service (backend or frontend).
9
9
  *
@@ -195,10 +195,7 @@ function WebService(props) {
195
195
  // Declare Vault Secrets Operator if vault secrets are used
196
196
  if (Object.keys(vault).length > 0) {
197
197
  const sharedOperators = (0, core_1.useContext)(defaults_1.OperatorContext);
198
- const hasVSO = sharedOperators.some((op) => op.name === 'vault-secrets-operator');
199
- if (!hasVSO) {
200
- vaultResources.push((0, core_1.declareOperator)((0, operators_1.vaultSecretsOperator)()));
201
- }
198
+ vaultResources.push(...(0, operator_vault_secrets_1.declareIfMissing)(sharedOperators));
202
199
  }
203
200
  const deployment = {
204
201
  apiVersion: 'apps/v1',