@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
package/dist/app.d.ts CHANGED
@@ -89,7 +89,7 @@ export interface AppProps {
89
89
  *
90
90
  * export default (
91
91
  * <>
92
- * <Database name="myapp-db" storage="20Gi" />
92
+ * <Database backup={false} name="myapp-db" storage="20Gi" />
93
93
  * <App
94
94
  * name="myapp"
95
95
  * image="myapp/web:v1.2.3"
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,kCA0FlC"}
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 crds_1 = require("@r8s/crds");
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
- const hasRedis = sharedOperators.some((op) => op.name === 'redis-operator');
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,kBA0FC;AA7LD,oCAAsE;AACtE,+CAA+E;AAC/E,yCAAqC;AACrC,iDAAkE;AAElE,oCAAqC;AACrC,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,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAA;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,gBAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.tsx"],"names":[],"mappings":"AAKA,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,kCAiHpC"}
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 crds_1 = require("@r8s/crds");
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
- if (!hasKeycloak) {
93
- resources.push((0, core_1.declareOperator)(crds_1.operators['keycloak-operator']()));
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":"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"}
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
- /** Velero storage location name (defaults to 'default') */
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): import("@r8s/core").r8sElement;
60
+ export declare function Backup(props: BackupProps): r8sElement;
45
61
  //# sourceMappingURL=backup.d.ts.map
@@ -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,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,kCAoCxC"}
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 crds_1 = require("@r8s/crds");
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 = 'default', ttl = '720h', } = props;
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 hasVelero = sharedOperators.some((op) => op.name === 'velero');
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
- if (!hasVelero) {
42
- resources.push((0, core_1.declareOperator)(crds_1.operators['velero']()));
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
  },
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../src/backup.tsx"],"names":[],"mappings":";;AAgDA,wBAoCC;AApFD,oCAAsE;AACtE,iDAAoD;AACpD,oCAAqC;AAiBrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAgB,MAAM,CAAC,KAAkB;IACvC,MAAM,EACJ,IAAI,EACJ,SAAS,GAAG,SAAS,EACrB,QAAQ,GAAG,WAAW,EACtB,UAAU,EACV,eAAe,GAAG,SAAS,EAC3B,GAAG,GAAG,MAAM,GACb,GAAG,KAAK,CAAA;IAET,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,0BAAe,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;IAEpE,MAAM,SAAS,GAA6B,EAAE,CAAA;IAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,gBAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,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;gBACf,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
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../src/backup.tsx"],"names":[],"mappings":"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"}
@@ -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,kCA6BpD"}
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"}
@@ -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 crds_1 = require("@r8s/crds");
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
- const hasCertManager = sharedOperators.some((op) => op.name === 'cert-manager');
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,oCA6BC;AA7HD,oCAAsE;AACtE,iDAAkD;AAClD,iDAAoD;AACpD,oCAAqC;AAmBrC,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,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA;IAC/E,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,gBAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,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"}
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"}
@@ -1,3 +1,4 @@
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
@@ -5,16 +6,16 @@
5
6
  * unless this prop is set.
6
7
  */
7
8
  export interface DatabaseBackupProps {
8
- /** S3 destination path, e.g. 's3://backups/myapp-cnpg' */
9
- destinationPath: string;
10
- /** S3 endpoint URL, e.g. 'https://s3.example.com' (RustFS/Scaleway/…) */
11
- endpointURL: string;
9
+ /** S3 destination path, e.g. 's3://backups/myapp-cnpg'. Derived from the S3 provider as `s3://<bucket>/<name>-cnpg` when omitted. */
10
+ destinationPath?: string;
11
+ /** S3 endpoint URL, e.g. 'https://s3.example.com' (RustFS/Scaleway/…). Derived from the S3 provider when omitted. */
12
+ endpointURL?: string;
12
13
  /**
13
14
  * Name of an existing Secret holding the S3 credentials with CNPG keys
14
- * `access-key-id` and `secret-access-key`. When omitted, the Platform
15
- * secrets backend (openbao/vault) provisions `<name>-backup-credentials`
16
- * from `<path>/<name>-s3-credentials` — the backend entry must contain
17
- * the same kebab-case keys. Without backend or secret this throws.
15
+ * `access-key-id` and `secret-access-key`. Resolution order: this prop →
16
+ * the S3 provider's credentialsSecret → the Platform secrets backend
17
+ * provisioner (`<name>-backup-credentials` from
18
+ * `<path>/<name>-s3-credentials`). Without any of the three this throws.
18
19
  */
19
20
  credentialsSecret?: string;
20
21
  /** Retention policy for barman backups (default: '30d') */
@@ -49,9 +50,15 @@ export interface DatabaseProps {
49
50
  parameters?: Record<string, string>;
50
51
  /**
51
52
  * Continuous barman backup to S3 object storage + ScheduledBackup.
52
- * Explicit opt-in.
53
+ * REQUIRED decision point: omit → renderer throws with guidance.
54
+ * `false` → cluster without barman (forks, ephemeral CI).
55
+ * `true`/object → barman WAL + scheduled backups; target and credentials
56
+ * derive from the Platform's S3 provider, explicit object values win.
53
57
  */
54
- backup?: DatabaseBackupProps;
58
+ backup: DatabaseBackupProps | true | false | {
59
+ type: unknown;
60
+ props: BucketProps;
61
+ };
55
62
  /**
56
63
  * Workloads that consume the database credentials. Rendered as
57
64
  * `rolloutRestartTargets` on the generated VaultStaticSecret/
@@ -90,7 +97,7 @@ export interface DatabaseProps {
90
97
  * @category Data & Analytics
91
98
  *
92
99
  * Creates a dedicated 3-instance HA CloudNativePG cluster for this database.
93
- * When wrapped in a `<Database>` component, child components receive the
100
+ * When wrapped in a `<Database backup={false}>` component, child components receive the
94
101
  * connection info via DatabaseContext automatically.
95
102
  *
96
103
  * Credentials are managed by the secrets backend configured on the Platform.
@@ -102,14 +109,32 @@ export interface DatabaseProps {
102
109
  * @example
103
110
  * import { Database } from '@r8s/recipes'
104
111
  *
105
- * export default <Database name="app-db" storage="10Gi" />
112
+ * // Required target: explicit S3 settings (credentials from an existing Secret)
113
+ * export default (
114
+ * <Database
115
+ * name="app-db"
116
+ * storage="10Gi"
117
+ * backup={{
118
+ * destinationPath: 's3://backups/app-db-cnpg',
119
+ * endpointURL: 'https://s3.example.com',
120
+ * credentialsSecret: 'app-db-backup-creds',
121
+ * }}
122
+ * />
123
+ * )
106
124
  *
107
125
  * @example
108
126
  * import { Platform, Database, WebService } from '@r8s/recipes'
109
127
  *
110
128
  * export default (
111
129
  * <Platform secrets={{ backend: 'openbao' }}>
112
- * <Database name="app-db" storage="10Gi">
130
+ * <Database
131
+ * name="app-db"
132
+ * storage="10Gi"
133
+ * backup={{
134
+ * destinationPath: 's3://backups/app-db-cnpg',
135
+ * endpointURL: 'https://s3.example.com',
136
+ * }}
137
+ * >
113
138
  * <WebService name="api" image="myapp/api:v1" />
114
139
  * </Database>
115
140
  * </Platform>
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.tsx"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;;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;;;OAGG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,oCAsN5C"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAEvF;;;;;GAKG;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;;;;;;OAMG;IACH,MAAM,EAAE,mBAAmB,GAAG,IAAI,GAAG,KAAK,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAA;IAClF;;;;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,oCA0R5C"}