@r8s/recipes 0.2.1 → 0.3.1
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/app.d.ts +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +3 -6
- package/dist/app.js.map +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +6 -10
- package/dist/auth.js.map +1 -1
- package/dist/backup.d.ts +18 -2
- package/dist/backup.d.ts.map +1 -1
- package/dist/backup.js +54 -6
- package/dist/backup.js.map +1 -1
- package/dist/cert-provider.d.ts.map +1 -1
- package/dist/cert-provider.js +2 -5
- package/dist/cert-provider.js.map +1 -1
- package/dist/database.d.ts +43 -15
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +114 -23
- package/dist/database.js.map +1 -1
- package/dist/dns-provider.d.ts.map +1 -1
- package/dist/dns-provider.js +6 -6
- package/dist/dns-provider.js.map +1 -1
- package/dist/endpoint.d.ts.map +1 -1
- package/dist/endpoint.js +11 -20
- package/dist/endpoint.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -8
- package/dist/index.js.map +1 -1
- package/dist/monitoring.d.ts.map +1 -1
- package/dist/monitoring.js +6 -13
- package/dist/monitoring.js.map +1 -1
- package/dist/namespace.d.ts +41 -0
- package/dist/namespace.d.ts.map +1 -0
- package/dist/namespace.js +78 -0
- package/dist/namespace.js.map +1 -0
- package/dist/platform.d.ts +3 -2
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +7 -18
- package/dist/platform.js.map +1 -1
- package/dist/r8s-cluster.d.ts +1 -1
- package/dist/r8s-cluster.d.ts.map +1 -1
- package/dist/r8s-cluster.js +25 -16
- package/dist/r8s-cluster.js.map +1 -1
- package/dist/s3-provider.d.ts +151 -0
- package/dist/s3-provider.d.ts.map +1 -0
- package/dist/s3-provider.js +126 -0
- package/dist/s3-provider.js.map +1 -0
- package/dist/secret-provider.d.ts +6 -6
- package/dist/secret-provider.d.ts.map +1 -1
- package/dist/secret-provider.js +6 -9
- package/dist/secret-provider.js.map +1 -1
- package/dist/use-operators.d.ts +7 -0
- package/dist/use-operators.d.ts.map +1 -0
- package/dist/use-operators.js +13 -0
- package/dist/use-operators.js.map +1 -0
- package/dist/web-service.d.ts.map +1 -1
- package/dist/web-service.js +2 -5
- package/dist/web-service.js.map +1 -1
- package/package.json +30 -5
- package/dist/operators.d.ts +0 -33
- package/dist/operators.d.ts.map +0 -1
- package/dist/operators.js +0 -56
- package/dist/operators.js.map +0 -1
package/dist/app.d.ts
CHANGED
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAG/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;4FACwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,CAAA;IAC5C,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC,2DAA2D;IAC3D,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC5C,MAAM,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAC3C,CAAA;IACD,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2DAA2D;IAC3D,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;;OAGG;IACH,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACpD,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAG/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;4FACwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8CAA8C;IAC9C,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,CAAA;IAC5C,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC,2DAA2D;IAC3D,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC5C,MAAM,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAC3C,CAAA;IACD,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2DAA2D;IAC3D,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;;OAGG;IACH,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACpD,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,kCAuFlC"}
|
package/dist/app.js
CHANGED
|
@@ -5,7 +5,7 @@ const core_1 = require("@r8s/core");
|
|
|
5
5
|
const web_service_1 = require("./web-service");
|
|
6
6
|
const endpoint_1 = require("./endpoint");
|
|
7
7
|
const defaults_1 = require("@r8s/core/defaults");
|
|
8
|
-
const
|
|
8
|
+
const operator_redis_1 = require("@r8s/operator-redis");
|
|
9
9
|
const redis_1 = require("@r8s/crds/redis");
|
|
10
10
|
/**
|
|
11
11
|
* Simple application — Deployment + Service + Endpoint.
|
|
@@ -48,7 +48,7 @@ const redis_1 = require("@r8s/crds/redis");
|
|
|
48
48
|
*
|
|
49
49
|
* export default (
|
|
50
50
|
* <>
|
|
51
|
-
* <Database name="myapp-db" storage="20Gi" />
|
|
51
|
+
* <Database backup={false} name="myapp-db" storage="20Gi" />
|
|
52
52
|
* <App
|
|
53
53
|
* name="myapp"
|
|
54
54
|
* image="myapp/web:v1.2.3"
|
|
@@ -90,10 +90,7 @@ function App(props) {
|
|
|
90
90
|
// Redis cache
|
|
91
91
|
if (cache) {
|
|
92
92
|
const sharedOperators = (0, core_1.useContext)(defaults_1.OperatorContext);
|
|
93
|
-
|
|
94
|
-
if (!hasRedis) {
|
|
95
|
-
elements.push((0, core_1.declareOperator)(crds_1.operators['redis-operator']()));
|
|
96
|
-
}
|
|
93
|
+
elements.push(...(0, operator_redis_1.declareIfMissing)(sharedOperators));
|
|
97
94
|
elements.push((0, redis_1.RedisClusterComponent)({
|
|
98
95
|
metadata: { name: `${name}-cache`, namespace },
|
|
99
96
|
spec: {
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":";;AAmGA,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":";;AAmGA,kBAuFC;AA1LD,oCAAsE;AACtE,+CAA+E;AAC/E,yCAAqC;AACrC,iDAAkE;AAElE,wDAAsD;AACtD,2CAAuD;AA0CvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,SAAgB,GAAG,CAAC,KAAe;IACjC,MAAM,EACJ,IAAI,EACJ,SAAS,EAAE,aAAa,EACxB,KAAK,EACL,IAAI,GAAG,IAAI,EACX,QAAQ,GAAG,CAAC,EACZ,IAAI,EACJ,GAAG,EACH,GAAG,GAAG,EAAE,EACR,OAAO,GAAG,EAAE,EACZ,KAAK,GAAG,EAAE,EACV,SAAS,EACT,KAAK,GAAG,KAAK,EACb,GAAG,EACH,aAAa,EACb,QAAQ,GACT,GAAG,KAAK,CAAA;IAET,kEAAkE;IAClE,MAAM,SAAS,GAAG,IAAA,uBAAY,EAAC,aAAa,CAAC,CAAA;IAE7C,MAAM,QAAQ,GAA6B,EAAE,CAAA;IAE7C,QAAQ,CAAC,IAAI,CACX,IAAA,UAAG,EAAC,wBAAU,EAAE;QACd,IAAI;QACJ,SAAS;QACT,KAAK;QACL,IAAI;QACJ,QAAQ;QACR,GAAG;QACH,OAAO;QACP,KAAK;QACL,SAAS;KACV,CAAC,CACH,CAAA;IAED,2CAA2C;IAC3C,IAAI,IAAI,EAAE,CAAC;QACT,QAAQ,CAAC,IAAI,CACX,IAAA,UAAG,EAAC,mBAAQ,EAAE;YACZ,IAAI,EAAE,GAAG,IAAI,WAAW;YACxB,SAAS;YACT,IAAI;YACJ,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,EAAE;YACf,GAAG;YACH,GAAG;YACH,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;SACxC,CAAC,CACH,CAAA;IACH,CAAC;IAED,cAAc;IACd,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,0BAAe,CAAC,CAAA;QACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,iCAAgB,EAAC,eAAe,CAAC,CAAC,CAAA;QACnD,QAAQ,CAAC,IAAI,CACX,IAAA,6BAAqB,EAAC;YACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,SAAS,EAAE;YAC9C,IAAI,EAAE;gBACJ,WAAW,EAAE,CAAC;gBACd,gBAAgB,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAC/C,OAAO,EAAE;oBACP,mBAAmB,EAAE;wBACnB,IAAI,EAAE;4BACJ,WAAW,EAAE,CAAC,eAAe,CAAC;4BAC9B,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;yBAC5C;qBACF;iBACF;aACF;SACF,CAAC,CACH,CAAA;QACD,8BAA8B;QAC9B,GAAG,CAAC,SAAS,GAAG,WAAW,IAAI,iBAAiB,SAAS,yBAAyB,CAAA;IACpF,CAAC;IAED,oEAAoE;IACpE,sEAAsE;IACtE,0DAA0D;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,eAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,IAAA,UAAG,EAAC,eAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC9C,CAAC"}
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAa/C,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oCAAoC;IACpC,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,kCA4GpC"}
|
package/dist/auth.js
CHANGED
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Auth = Auth;
|
|
4
4
|
const core_1 = require("@r8s/core");
|
|
5
5
|
const defaults_1 = require("@r8s/core/defaults");
|
|
6
|
-
const
|
|
6
|
+
const operator_keycloak_1 = require("@r8s/operator-keycloak");
|
|
7
|
+
const operator_cnpg_1 = require("@r8s/operator-cnpg");
|
|
7
8
|
const database_1 = require("./database");
|
|
8
9
|
const endpoint_1 = require("./endpoint");
|
|
9
10
|
const components_1 = require("./auth/components");
|
|
@@ -85,19 +86,14 @@ function Auth(props) {
|
|
|
85
86
|
// Inherit namespace from <Platform> context if not explicitly set
|
|
86
87
|
const namespace = (0, defaults_1.useNamespace)(namespaceProp);
|
|
87
88
|
const sharedOperators = (0, core_1.useContext)(defaults_1.OperatorContext);
|
|
88
|
-
const hasKeycloak = sharedOperators.some((op) => op.name === 'keycloak-operator');
|
|
89
|
-
const hasCNPG = sharedOperators.some((op) => op.name === 'cnpg');
|
|
90
89
|
const resources = [];
|
|
91
|
-
// Declare operators if not already provided
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
if (!hasCNPG) {
|
|
96
|
-
resources.push((0, core_1.declareOperator)(crds_1.operators['cnpg']()));
|
|
97
|
-
}
|
|
90
|
+
// Declare operators if not already provided — via the operator-package contracts
|
|
91
|
+
resources.push(...(0, operator_keycloak_1.declareIfMissing)(sharedOperators));
|
|
92
|
+
resources.push(...(0, operator_cnpg_1.declareCnpg)(sharedOperators));
|
|
98
93
|
// Database for Keycloak — auto-wired via DatabaseContext.
|
|
99
94
|
// Credentials are managed by the secrets backend configured on the Platform.
|
|
100
95
|
resources.push((0, core_1.jsx)(database_1.Database, {
|
|
96
|
+
backup: false,
|
|
101
97
|
name: `${name}-db`,
|
|
102
98
|
namespace,
|
|
103
99
|
storage,
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.tsx"],"names":[],"mappings":"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"}
|
package/dist/backup.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { r8sElement } from '@r8s/core';
|
|
1
2
|
export interface BackupProps {
|
|
2
3
|
/** Resource name */
|
|
3
4
|
name: string;
|
|
@@ -7,8 +8,23 @@ export interface BackupProps {
|
|
|
7
8
|
schedule?: string;
|
|
8
9
|
/** Namespaces to include in backups (defaults to the current namespace) */
|
|
9
10
|
namespaces?: string[];
|
|
10
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Velero storage location name. With an S3 provider on the Platform this
|
|
13
|
+
* defaults to this component's name (the emitted BackupStorageLocation);
|
|
14
|
+
* without one, 'default' (an externally-managed location must exist).
|
|
15
|
+
*/
|
|
11
16
|
storageLocation?: string;
|
|
17
|
+
/**
|
|
18
|
+
* <Bucket name="…"/> descriptor element — scopes the BackupStorageLocation
|
|
19
|
+
* to that prefix (`<name>/velero`) of the surrounding provider's bucket.
|
|
20
|
+
*/
|
|
21
|
+
bucket?: r8sElement;
|
|
22
|
+
/**
|
|
23
|
+
* Key inside the store's credentials Secret holding a velero-format
|
|
24
|
+
* cloud credentials file (`[default] aws_access_key_id = …`). Omit on
|
|
25
|
+
* workload-identity / IRSA clusters.
|
|
26
|
+
*/
|
|
27
|
+
credentialKey?: string;
|
|
12
28
|
/** Backup retention (e.g., '720h' for 30 days) */
|
|
13
29
|
ttl?: string;
|
|
14
30
|
}
|
|
@@ -41,5 +57,5 @@ export interface BackupProps {
|
|
|
41
57
|
* />
|
|
42
58
|
* )
|
|
43
59
|
*/
|
|
44
|
-
export declare function Backup(props: BackupProps):
|
|
60
|
+
export declare function Backup(props: BackupProps): r8sElement;
|
|
45
61
|
//# sourceMappingURL=backup.d.ts.map
|
package/dist/backup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../src/backup.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB
|
|
1
|
+
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../src/backup.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB;;;;OAIG;IAEH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,cA4FxC"}
|
package/dist/backup.js
CHANGED
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Backup = Backup;
|
|
4
4
|
const core_1 = require("@r8s/core");
|
|
5
5
|
const defaults_1 = require("@r8s/core/defaults");
|
|
6
|
-
const
|
|
6
|
+
const operator_velero_1 = require("@r8s/operator-velero");
|
|
7
|
+
const s3_provider_1 = require("./s3-provider");
|
|
7
8
|
/**
|
|
8
9
|
* Backup — scheduled cluster backups with Velero.
|
|
9
10
|
*
|
|
@@ -34,12 +35,59 @@ const crds_1 = require("@r8s/crds");
|
|
|
34
35
|
* )
|
|
35
36
|
*/
|
|
36
37
|
function Backup(props) {
|
|
37
|
-
const { name, namespace = 'default', schedule = '0 2 * * *', namespaces, storageLocation
|
|
38
|
+
const { name, namespace = 'default', schedule = '0 2 * * *', namespaces, storageLocation, bucket: bucketProp, credentialKey: credentialKeyProp, ttl = '720h', } = props;
|
|
38
39
|
const sharedOperators = (0, core_1.useContext)(defaults_1.OperatorContext);
|
|
39
|
-
const
|
|
40
|
+
const s3 = (0, s3_provider_1.useS3)();
|
|
41
|
+
let bucketDesc;
|
|
42
|
+
if (bucketProp) {
|
|
43
|
+
if (!(0, s3_provider_1.isBucketElement)(bucketProp)) {
|
|
44
|
+
throw new Error('Backup "bucket" prop takes a <Bucket name="…" /> descriptor — got ' +
|
|
45
|
+
(typeof bucketProp === 'object' ? 'another element/object' : `a ${typeof bucketProp}`));
|
|
46
|
+
}
|
|
47
|
+
bucketDesc = (0, s3_provider_1.resolveBucket)(bucketProp, s3);
|
|
48
|
+
}
|
|
49
|
+
if (storageLocation && (bucketProp || credentialKeyProp)) {
|
|
50
|
+
throw new Error(`<Backup "${name}">: storageLocation points at an externally-managed
|
|
51
|
+
` +
|
|
52
|
+
`BackupStorageLocation — bucket/credentialKey would be ignored.\n` +
|
|
53
|
+
`\n` +
|
|
54
|
+
`Remove storageLocation to target the platform S3 store, or drop\n` +
|
|
55
|
+
`bucket/credentialKey to keep the external location.`);
|
|
56
|
+
}
|
|
57
|
+
const storeS3 = bucketDesc ? bucketDesc.s3 : s3;
|
|
58
|
+
const storePrefix = bucketDesc ? bucketDesc.prefix : undefined;
|
|
40
59
|
const resources = [];
|
|
41
|
-
|
|
42
|
-
|
|
60
|
+
resources.push(...(0, operator_velero_1.declareIfMissing)(sharedOperators));
|
|
61
|
+
// S3 provider: emit the BackupStorageLocation against the 'velero/'
|
|
62
|
+
// prefix of the platform bucket and point the schedule at it. Without a
|
|
63
|
+
// provider the schedule references 'default' — a storage location the
|
|
64
|
+
// cluster is expected to manage itself.
|
|
65
|
+
const locationName = storeS3 && !storageLocation ? name : (storageLocation ?? 'default');
|
|
66
|
+
if (storeS3 && !storageLocation) {
|
|
67
|
+
resources.push((0, core_1.jsx)('BackupStorageLocation', {
|
|
68
|
+
apiVersion: 'velero.io/v1',
|
|
69
|
+
kind: 'BackupStorageLocation',
|
|
70
|
+
metadata: { name, namespace: 'velero' },
|
|
71
|
+
spec: {
|
|
72
|
+
// no `default: true` — two <Backup> components must not fight over
|
|
73
|
+
// it; each Schedule pins its storageLocation explicitly
|
|
74
|
+
provider: 'aws',
|
|
75
|
+
objectStorage: {
|
|
76
|
+
bucket: storeS3.bucket,
|
|
77
|
+
prefix: storePrefix ? `${storePrefix}/velero` : 'velero',
|
|
78
|
+
},
|
|
79
|
+
config: {
|
|
80
|
+
region: storeS3.region ?? 'us-east-1',
|
|
81
|
+
...(storeS3.forcePathStyle !== false && { s3ForcePathStyle: 'true' }),
|
|
82
|
+
s3Url: storeS3.endpoint,
|
|
83
|
+
},
|
|
84
|
+
// Velero owns how it reads the credential — its key inside the
|
|
85
|
+
// store's Secret. Omit on workload-identity/IRSA clusters.
|
|
86
|
+
...(credentialKeyProp && {
|
|
87
|
+
credential: { name: storeS3.credentialsSecret, key: credentialKeyProp },
|
|
88
|
+
}),
|
|
89
|
+
},
|
|
90
|
+
}));
|
|
43
91
|
}
|
|
44
92
|
resources.push((0, core_1.jsx)('Schedule', {
|
|
45
93
|
apiVersion: 'velero.io/v1',
|
|
@@ -49,7 +97,7 @@ function Backup(props) {
|
|
|
49
97
|
schedule,
|
|
50
98
|
template: {
|
|
51
99
|
includedNamespaces: namespaces ?? [namespace],
|
|
52
|
-
storageLocation,
|
|
100
|
+
storageLocation: locationName,
|
|
53
101
|
ttl,
|
|
54
102
|
},
|
|
55
103
|
},
|
package/dist/backup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../src/backup.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../src/backup.tsx"],"names":[],"mappings":";;AAkEA,wBA4FC;AA9JD,oCAAsE;AACtE,iDAAoD;AACpD,0DAAuD;AACvD,+CAAuF;AAkCvF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAgB,MAAM,CAAC,KAAkB;IACvC,MAAM,EACJ,IAAI,EACJ,SAAS,GAAG,SAAS,EACrB,QAAQ,GAAG,WAAW,EACtB,UAAU,EACV,eAAe,EACf,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,iBAAiB,EAChC,GAAG,GAAG,MAAM,GACb,GAAG,KAAK,CAAA;IAET,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,0BAAe,CAAC,CAAA;IACnD,MAAM,EAAE,GAAG,IAAA,mBAAK,GAAE,CAAA;IAClB,IAAI,UAAwD,CAAA;IAC5D,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,IAAA,6BAAe,EAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,oEAAoE;gBAClE,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,OAAO,UAAU,EAAE,CAAC,CACzF,CAAA;QACH,CAAC;QACD,UAAU,GAAG,IAAA,2BAAa,EAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC5C,CAAC;IACD,IAAI,eAAe,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CACb,YAAY,IAAI;CACrB;YACO,kEAAkE;YAClE,IAAI;YACJ,mEAAmE;YACnE,qDAAqD,CACxD,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,MAAM,SAAS,GAA6B,EAAE,CAAA;IAE9C,SAAS,CAAC,IAAI,CAAC,GAAG,IAAA,kCAAgB,EAAC,eAAe,CAAC,CAAC,CAAA;IAEpD,oEAAoE;IACpE,wEAAwE;IACxE,sEAAsE;IACtE,wCAAwC;IACxC,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAA;IAExF,IAAI,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,SAAS,CAAC,IAAI,CACZ,IAAA,UAAG,EAAC,uBAAuB,EAAE;YAC3B,UAAU,EAAE,cAAc;YAC1B,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;YACvC,IAAI,EAAE;gBACJ,mEAAmE;gBACnE,wDAAwD;gBACxD,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE;oBACb,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,SAAS,CAAC,CAAC,CAAC,QAAQ;iBACzD;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,WAAW;oBACrC,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC;oBACrE,KAAK,EAAE,OAAO,CAAC,QAAQ;iBACxB;gBACD,+DAA+D;gBAC/D,2DAA2D;gBAC3D,GAAG,CAAC,iBAAiB,IAAI;oBACvB,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE;iBACxE,CAAC;aACH;SACF,CAAC,CACH,CAAA;IACH,CAAC;IAED,SAAS,CAAC,IAAI,CACZ,IAAA,UAAG,EAAC,UAAU,EAAE;QACd,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;QACvC,IAAI,EAAE;YACJ,QAAQ;YACR,QAAQ,EAAE;gBACR,kBAAkB,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC;gBAC7C,eAAe,EAAE,YAAY;gBAC7B,GAAG;aACJ;SACF;KACF,CAAC,CACH,CAAA;IAED,OAAO,IAAA,UAAG,EAAC,eAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cert-provider.d.ts","sourceRoot":"","sources":["../src/cert-provider.tsx"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAS/D;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,QAAQ,EAAE,cAAc,CAAA;IACxB,iCAAiC;IACjC,QAAQ,EAAE;QACR,4BAA4B;QAC5B,aAAa,EAAE,MAAM,CAAA;QACrB,mCAAmC;QACnC,QAAQ,EAAE,MAAM,CAAA;QAChB,kCAAkC;QAClC,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,UAAU,CAAA;AAE3D,eAAO,MAAM,WAAW,6DAAyC,CAAA;AAEjE,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"cert-provider.d.ts","sourceRoot":"","sources":["../src/cert-provider.tsx"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAS/D;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,QAAQ,EAAE,cAAc,CAAA;IACxB,iCAAiC;IACjC,QAAQ,EAAE;QACR,4BAA4B;QAC5B,aAAa,EAAE,MAAM,CAAA;QACrB,mCAAmC;QACnC,QAAQ,EAAE,MAAM,CAAA;QAChB,kCAAkC;QAClC,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,UAAU,CAAA;AAE3D,eAAO,MAAM,WAAW,6DAAyC,CAAA;AAEjE,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,kCA0BpD"}
|
package/dist/cert-provider.js
CHANGED
|
@@ -6,7 +6,7 @@ exports.CertProvider = CertProvider;
|
|
|
6
6
|
const core_1 = require("@r8s/core");
|
|
7
7
|
const defaults_1 = require("@r8s/core/defaults");
|
|
8
8
|
const defaults_2 = require("@r8s/core/defaults");
|
|
9
|
-
const
|
|
9
|
+
const operator_cert_manager_1 = require("@r8s/operator-cert-manager");
|
|
10
10
|
function CertManager(props) {
|
|
11
11
|
return {
|
|
12
12
|
provider: 'cert-manager',
|
|
@@ -60,10 +60,7 @@ function CertProvider(props) {
|
|
|
60
60
|
: provider;
|
|
61
61
|
const resources = [];
|
|
62
62
|
// Declare cert-manager operator
|
|
63
|
-
|
|
64
|
-
if (!hasCertManager) {
|
|
65
|
-
resources.push((0, core_1.declareOperator)(crds_1.operators['cert-manager']()));
|
|
66
|
-
}
|
|
63
|
+
resources.push(...(0, operator_cert_manager_1.declareIfMissing)(sharedOperators));
|
|
67
64
|
return (0, core_1.jsx)(core_1.Fragment, {
|
|
68
65
|
children: [...resources, (0, core_1.jsx)(exports.CertContext.Provider, { value: config, children })],
|
|
69
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cert-provider.js","sourceRoot":"","sources":["../src/cert-provider.tsx"],"names":[],"mappings":";;;AAsBA,kCASC;AAiED,
|
|
1
|
+
{"version":3,"file":"cert-provider.js","sourceRoot":"","sources":["../src/cert-provider.tsx"],"names":[],"mappings":";;;AAsBA,kCASC;AAiED,oCA0BC;AA1HD,oCAAsE;AACtE,iDAAkD;AAClD,iDAAoD;AACpD,sEAA6D;AAmB7D,SAAgB,WAAW,CAAC,KAAuB;IACjD,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE;YACR,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,kBAAkB;YACxD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;YACnC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,MAAM;SACzC;KACF,CAAA;AACH,CAAC;AAoBY,QAAA,WAAW,GAAG,IAAA,wBAAa,EAAoB,IAAI,CAAC,CAAA;AAmBjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAEpC,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,0BAAe,CAAC,CAAA;IAEnD,0BAA0B;IAC1B,MAAM,MAAM,GACV,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC;YACE,QAAQ;YACR,QAAQ,EAAE;gBACR,aAAa,EAAE,kBAAkB;gBACjC,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,MAAM;aACpB;SACF;QACH,CAAC,CAAC,QAAQ,CAAA;IAEd,MAAM,SAAS,GAA6B,EAAE,CAAA;IAE9C,gCAAgC;IAChC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAA,wCAAgB,EAAC,eAAe,CAAC,CAAC,CAAA;IAEpD,OAAO,IAAA,UAAG,EAAC,eAAQ,EAAE;QACnB,QAAQ,EAAE,CAAC,GAAG,SAAS,EAAE,IAAA,UAAG,EAAC,mBAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;KACjF,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/database.d.ts
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
|
+
import { type BucketProps } from './s3-provider';
|
|
1
2
|
/**
|
|
2
3
|
* Continuous + scheduled backup configuration for a dedicated CNPG cluster.
|
|
3
4
|
* Renders `spec.backup.barmanObjectStore` on the Cluster plus a
|
|
4
|
-
* ScheduledBackup resource.
|
|
5
|
-
*
|
|
5
|
+
* ScheduledBackup resource. With an <S3Provider> in scope, backups are on
|
|
6
|
+
* by default — this prop only needs setting for an explicit target or to
|
|
7
|
+
* opt out (`false`).
|
|
6
8
|
*/
|
|
7
9
|
export interface DatabaseBackupProps {
|
|
8
|
-
/** S3 destination path, e.g. 's3://backups/myapp-cnpg' */
|
|
9
|
-
destinationPath
|
|
10
|
-
/** S3 endpoint URL, e.g. 'https://s3.example.com' (RustFS/Scaleway/…) */
|
|
11
|
-
endpointURL
|
|
10
|
+
/** S3 destination path, e.g. 's3://backups/myapp-cnpg'. Derived from the S3 provider as `s3://<bucket>/<name>-cnpg` when omitted. */
|
|
11
|
+
destinationPath?: string;
|
|
12
|
+
/** S3 endpoint URL, e.g. 'https://s3.example.com' (RustFS/Scaleway/…). Derived from the S3 provider when omitted. */
|
|
13
|
+
endpointURL?: string;
|
|
12
14
|
/**
|
|
13
15
|
* Name of an existing Secret holding the S3 credentials with CNPG keys
|
|
14
|
-
* `access-key-id` and `secret-access-key`.
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* `access-key-id` and `secret-access-key`. Resolution order: this prop →
|
|
17
|
+
* the S3 provider's credentialsSecret → the Platform secrets backend
|
|
18
|
+
* provisioner (`<name>-backup-credentials` from
|
|
19
|
+
* `<path>/<name>-s3-credentials`). Without any of the three this throws.
|
|
18
20
|
*/
|
|
19
21
|
credentialsSecret?: string;
|
|
20
22
|
/** Retention policy for barman backups (default: '30d') */
|
|
@@ -49,9 +51,17 @@ export interface DatabaseProps {
|
|
|
49
51
|
parameters?: Record<string, string>;
|
|
50
52
|
/**
|
|
51
53
|
* Continuous barman backup to S3 object storage + ScheduledBackup.
|
|
52
|
-
*
|
|
54
|
+
* Secure default: with an <S3Provider> in scope, backups are ENABLED
|
|
55
|
+
* when omitted — target and credentials derive from the provider.
|
|
56
|
+
* Without a provider there is no valid default target, so omitting
|
|
57
|
+
* throws with guidance. `false` → cluster without barman (forks,
|
|
58
|
+
* ephemeral CI) — the only way to run unbacked. `true`/object → barman
|
|
59
|
+
* WAL + scheduled backups; explicit object values win over derived ones.
|
|
53
60
|
*/
|
|
54
|
-
backup?: DatabaseBackupProps
|
|
61
|
+
backup?: DatabaseBackupProps | true | false | {
|
|
62
|
+
type: unknown;
|
|
63
|
+
props: BucketProps;
|
|
64
|
+
};
|
|
55
65
|
/**
|
|
56
66
|
* Workloads that consume the database credentials. Rendered as
|
|
57
67
|
* `rolloutRestartTargets` on the generated VaultStaticSecret/
|
|
@@ -90,7 +100,7 @@ export interface DatabaseProps {
|
|
|
90
100
|
* @category Data & Analytics
|
|
91
101
|
*
|
|
92
102
|
* Creates a dedicated 3-instance HA CloudNativePG cluster for this database.
|
|
93
|
-
* When wrapped in a `<Database>` component, child components receive the
|
|
103
|
+
* When wrapped in a `<Database backup={false}>` component, child components receive the
|
|
94
104
|
* connection info via DatabaseContext automatically.
|
|
95
105
|
*
|
|
96
106
|
* Credentials are managed by the secrets backend configured on the Platform.
|
|
@@ -102,14 +112,32 @@ export interface DatabaseProps {
|
|
|
102
112
|
* @example
|
|
103
113
|
* import { Database } from '@r8s/recipes'
|
|
104
114
|
*
|
|
105
|
-
*
|
|
115
|
+
* // Required target: explicit S3 settings (credentials from an existing Secret)
|
|
116
|
+
* export default (
|
|
117
|
+
* <Database
|
|
118
|
+
* name="app-db"
|
|
119
|
+
* storage="10Gi"
|
|
120
|
+
* backup={{
|
|
121
|
+
* destinationPath: 's3://backups/app-db-cnpg',
|
|
122
|
+
* endpointURL: 'https://s3.example.com',
|
|
123
|
+
* credentialsSecret: 'app-db-backup-creds',
|
|
124
|
+
* }}
|
|
125
|
+
* />
|
|
126
|
+
* )
|
|
106
127
|
*
|
|
107
128
|
* @example
|
|
108
129
|
* import { Platform, Database, WebService } from '@r8s/recipes'
|
|
109
130
|
*
|
|
110
131
|
* export default (
|
|
111
132
|
* <Platform secrets={{ backend: 'openbao' }}>
|
|
112
|
-
* <Database
|
|
133
|
+
* <Database
|
|
134
|
+
* name="app-db"
|
|
135
|
+
* storage="10Gi"
|
|
136
|
+
* backup={{
|
|
137
|
+
* destinationPath: 's3://backups/app-db-cnpg',
|
|
138
|
+
* endpointURL: 'https://s3.example.com',
|
|
139
|
+
* }}
|
|
140
|
+
* >
|
|
113
141
|
* <WebService name="api" image="myapp/api:v1" />
|
|
114
142
|
* </Database>
|
|
115
143
|
* </Platform>
|
package/dist/database.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAEvF;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,qIAAqI;IACrI,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qHAAqH;IACrH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IACzC,yCAAyC;IACzC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAAG,KAAK,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAA;IACnF;;;;OAIG;IACH,qBAAqB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC9E,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACpC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,oCAqS5C"}
|