@r8s/nextcloud 0.3.2 → 0.3.4
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/index.d.ts +32 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -47
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DatabaseProps } from '@r8s/recipes';
|
|
1
|
+
import { type BucketProps, type DatabaseProps } from '@r8s/recipes';
|
|
2
2
|
export interface NextcloudProps {
|
|
3
3
|
/** Resource name (defaults to 'nextcloud') */
|
|
4
4
|
name?: string;
|
|
@@ -9,10 +9,11 @@ export interface NextcloudProps {
|
|
|
9
9
|
/** Public hostname for the web UI and WebDAV (required) */
|
|
10
10
|
host: string;
|
|
11
11
|
/**
|
|
12
|
-
* Number of replicas. Safe to scale beyond 1 when
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
12
|
+
* Number of replicas. Safe to scale beyond 1 when file blobs live in S3
|
|
13
|
+
* (always — `objectStorage` is a required decision, derived from the
|
|
14
|
+
* platform's S3Provider) and `cache` is enabled — Nextcloud becomes
|
|
15
|
+
* effectively stateless. Requires a StorageClass with ReadWriteMany
|
|
16
|
+
* support for the /var/www/html claim.
|
|
16
17
|
*/
|
|
17
18
|
replicas?: number;
|
|
18
19
|
/** Provision a Redis replication set for file locking and caching (default: true) */
|
|
@@ -30,9 +31,20 @@ export interface NextcloudProps {
|
|
|
30
31
|
storageClassName?: string;
|
|
31
32
|
/**
|
|
32
33
|
* S3-compatible object storage used as primary storage for files
|
|
33
|
-
* (RustFS in the platform).
|
|
34
|
+
* (RustFS in the platform). Resolution order: this prop → a
|
|
35
|
+
* `<Bucket name="…" />` descriptor → derived from the surrounding
|
|
36
|
+
* `<S3Provider>` (omit it entirely there — file storage and database
|
|
37
|
+
* backups then share one declared source).
|
|
38
|
+
*
|
|
39
|
+
* Storage-API-style consumers take a BUCKET NAME, not a prefixed path:
|
|
40
|
+
* a descriptor's `bucket` override selects the bucket, its `name` is
|
|
41
|
+
* only the logical scope (prefix). The bucket's credentials must live
|
|
34
42
|
* in a Secret provisioned by the secrets backend (keys: accessKey,
|
|
35
43
|
* secretKey) — never plaintext.
|
|
44
|
+
*
|
|
45
|
+
* The explicit prop takes an S3 host WITHOUT protocol/scheme (Nextcloud's
|
|
46
|
+
* OBJECTSTORE_S3_HOST convention); derived values are normalized from
|
|
47
|
+
* the provider's full URL.
|
|
36
48
|
*/
|
|
37
49
|
objectStorage?: {
|
|
38
50
|
/** S3 host WITHOUT protocol/scheme, e.g. s3.internal.example.com */
|
|
@@ -47,6 +59,9 @@ export interface NextcloudProps {
|
|
|
47
59
|
port?: number;
|
|
48
60
|
/** Use TLS against the S3 endpoint (default: true) */
|
|
49
61
|
ssl?: boolean;
|
|
62
|
+
} | {
|
|
63
|
+
type: unknown;
|
|
64
|
+
props: BucketProps;
|
|
50
65
|
};
|
|
51
66
|
/**
|
|
52
67
|
* Name of an existing Secret holding the Nextcloud app secrets
|
|
@@ -102,45 +117,35 @@ export interface NextcloudProps {
|
|
|
102
117
|
* needs the /var/www/html claim volume-mounted; the CronJob shares the
|
|
103
118
|
* same claim so background jobs operate on the live data tree.
|
|
104
119
|
*
|
|
120
|
+
* Under an `<S3Provider>` both the database backups and the primary file
|
|
121
|
+
* storage derive from it — `objectStorage` can be omitted entirely. Pass
|
|
122
|
+
* it only to target a different bucket than the provider's, either as a
|
|
123
|
+
* plain object or as `<Bucket name="…" bucket="…" />` (the descriptor's
|
|
124
|
+
* `bucket` selects the bucket; `name` is the logical scope).
|
|
125
|
+
*
|
|
105
126
|
* @example
|
|
106
127
|
* import { Platform, S3Provider, MinIO } from '@r8s/recipes'
|
|
107
128
|
* import { Nextcloud } from '@r8s/nextcloud'
|
|
108
129
|
*
|
|
109
|
-
* // Backups default to on — the S3Provider
|
|
130
|
+
* // Backups default to on, objectStorage derives — the S3Provider
|
|
131
|
+
* // supplies both targets and credentials
|
|
110
132
|
* export default (
|
|
111
133
|
* <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
|
|
112
134
|
* <Platform secrets={{ backend: 'openbao', mount: 'kv', path: 'apps' }}>
|
|
113
|
-
* <Nextcloud
|
|
114
|
-
* name="cloud"
|
|
115
|
-
* host="cloud.example.com"
|
|
116
|
-
* objectStorage={{
|
|
117
|
-
* endpoint: 's3.internal.example.com',
|
|
118
|
-
* bucket: 'cloud-files',
|
|
119
|
-
* credentialsSecret: 'cloud-files-credentials',
|
|
120
|
-
* }}
|
|
121
|
-
* />
|
|
135
|
+
* <Nextcloud name="cloud" host="cloud.example.com" />
|
|
122
136
|
* </Platform>
|
|
123
137
|
* </S3Provider>
|
|
124
138
|
* )
|
|
125
139
|
*
|
|
126
140
|
* @example
|
|
127
141
|
* // Explicit secret references instead of a Platform secrets backend —
|
|
128
|
-
* // still under an S3Provider so
|
|
142
|
+
* // still under an S3Provider so backups and file storage stay derived
|
|
129
143
|
* import { S3Provider, MinIO } from '@r8s/recipes'
|
|
130
144
|
* import { Nextcloud } from '@r8s/nextcloud'
|
|
131
145
|
*
|
|
132
146
|
* export default (
|
|
133
147
|
* <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
|
|
134
|
-
* <Nextcloud
|
|
135
|
-
* name="cloud"
|
|
136
|
-
* host="${env:CLOUD_HOST}"
|
|
137
|
-
* secretsName="cloud-app-secrets"
|
|
138
|
-
* objectStorage={{
|
|
139
|
-
* endpoint: '${env:S3_ENDPOINT}',
|
|
140
|
-
* bucket: 'cloud-files',
|
|
141
|
-
* credentialsSecret: 'cloud-files-credentials',
|
|
142
|
-
* }}
|
|
143
|
-
* />
|
|
148
|
+
* <Nextcloud name="cloud" host="${env:CLOUD_HOST}" secretsName="cloud-app-secrets" />
|
|
144
149
|
* </S3Provider>
|
|
145
150
|
* )
|
|
146
151
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAA;AAKrB,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qFAAqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EACV;QACE,oEAAoE;QACpE,QAAQ,EAAE,MAAM,CAAA;QAChB,iCAAiC;QACjC,MAAM,EAAE,MAAM,CAAA;QACd,uDAAuD;QACvD,iBAAiB,EAAE,MAAM,CAAA;QACzB,gEAAgE;QAChE,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,oFAAoF;QACpF,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,sDAAsD;QACtD,GAAG,CAAC,EAAE,OAAO,CAAA;KACd,GACD;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAA;IACzC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0BAA0B;IAC1B,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,sEAAsE;IACtE,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;IACD;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CACjC;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,kCAqV9C"}
|
package/dist/index.js
CHANGED
|
@@ -32,45 +32,35 @@ const STATUS_PATH = '/status.php';
|
|
|
32
32
|
* needs the /var/www/html claim volume-mounted; the CronJob shares the
|
|
33
33
|
* same claim so background jobs operate on the live data tree.
|
|
34
34
|
*
|
|
35
|
+
* Under an `<S3Provider>` both the database backups and the primary file
|
|
36
|
+
* storage derive from it — `objectStorage` can be omitted entirely. Pass
|
|
37
|
+
* it only to target a different bucket than the provider's, either as a
|
|
38
|
+
* plain object or as `<Bucket name="…" bucket="…" />` (the descriptor's
|
|
39
|
+
* `bucket` selects the bucket; `name` is the logical scope).
|
|
40
|
+
*
|
|
35
41
|
* @example
|
|
36
42
|
* import { Platform, S3Provider, MinIO } from '@r8s/recipes'
|
|
37
43
|
* import { Nextcloud } from '@r8s/nextcloud'
|
|
38
44
|
*
|
|
39
|
-
* // Backups default to on — the S3Provider
|
|
45
|
+
* // Backups default to on, objectStorage derives — the S3Provider
|
|
46
|
+
* // supplies both targets and credentials
|
|
40
47
|
* export default (
|
|
41
48
|
* <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
|
|
42
49
|
* <Platform secrets={{ backend: 'openbao', mount: 'kv', path: 'apps' }}>
|
|
43
|
-
* <Nextcloud
|
|
44
|
-
* name="cloud"
|
|
45
|
-
* host="cloud.example.com"
|
|
46
|
-
* objectStorage={{
|
|
47
|
-
* endpoint: 's3.internal.example.com',
|
|
48
|
-
* bucket: 'cloud-files',
|
|
49
|
-
* credentialsSecret: 'cloud-files-credentials',
|
|
50
|
-
* }}
|
|
51
|
-
* />
|
|
50
|
+
* <Nextcloud name="cloud" host="cloud.example.com" />
|
|
52
51
|
* </Platform>
|
|
53
52
|
* </S3Provider>
|
|
54
53
|
* )
|
|
55
54
|
*
|
|
56
55
|
* @example
|
|
57
56
|
* // Explicit secret references instead of a Platform secrets backend —
|
|
58
|
-
* // still under an S3Provider so
|
|
57
|
+
* // still under an S3Provider so backups and file storage stay derived
|
|
59
58
|
* import { S3Provider, MinIO } from '@r8s/recipes'
|
|
60
59
|
* import { Nextcloud } from '@r8s/nextcloud'
|
|
61
60
|
*
|
|
62
61
|
* export default (
|
|
63
62
|
* <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
|
|
64
|
-
* <Nextcloud
|
|
65
|
-
* name="cloud"
|
|
66
|
-
* host="${env:CLOUD_HOST}"
|
|
67
|
-
* secretsName="cloud-app-secrets"
|
|
68
|
-
* objectStorage={{
|
|
69
|
-
* endpoint: '${env:S3_ENDPOINT}',
|
|
70
|
-
* bucket: 'cloud-files',
|
|
71
|
-
* credentialsSecret: 'cloud-files-credentials',
|
|
72
|
-
* }}
|
|
73
|
-
* />
|
|
63
|
+
* <Nextcloud name="cloud" host="${env:CLOUD_HOST}" secretsName="cloud-app-secrets" />
|
|
74
64
|
* </S3Provider>
|
|
75
65
|
* )
|
|
76
66
|
*/
|
|
@@ -84,7 +74,10 @@ function Nextcloud(props) {
|
|
|
84
74
|
const secretProvider = (0, core_1.useContext)(defaults_1.SecretContext);
|
|
85
75
|
const resources_ = [];
|
|
86
76
|
const dbHost = `${name}-rw`;
|
|
87
|
-
|
|
77
|
+
// DB-password Secret per the central credentials contract: the backend
|
|
78
|
+
// provisions `<name>-db-credentials`; without a backend CNPG generates
|
|
79
|
+
// `<name>-app` (CloudNativePG does not create referenced initdb secrets).
|
|
80
|
+
const dbCredentialsRef = (0, recipes_1.databaseCredentialsRef)(name, secretProvider);
|
|
88
81
|
const appSecretsName = secretsName ?? `${name}-app-secrets`;
|
|
89
82
|
const htmlClaim = `${name}-html`;
|
|
90
83
|
const image = `nextcloud:${version}`;
|
|
@@ -163,6 +156,29 @@ function Nextcloud(props) {
|
|
|
163
156
|
},
|
|
164
157
|
};
|
|
165
158
|
resources_.push((0, core_1.jsx)('PersistentVolumeClaim', htmlPvc));
|
|
159
|
+
// --- Object storage (primary file storage) — derived from the S3Provider --
|
|
160
|
+
// Same resolution contract as Database's backup decision (#115): an
|
|
161
|
+
// explicit object wins, a <Bucket/> descriptor points file storage at
|
|
162
|
+
// another store, and omission under an <S3Provider> derives everything.
|
|
163
|
+
const s3 = (0, recipes_1.useS3)();
|
|
164
|
+
const store = (0, recipes_1.resolveObjectStorage)('Nextcloud', name, 'user files use S3 as their primary storage', objectStorage, s3);
|
|
165
|
+
// OBJECTSTORE_S3_HOST is scheme-less (MinIO convention) while providers
|
|
166
|
+
// and <Bucket/> descriptors publish a full URL. Values derived from the
|
|
167
|
+
// provider are normalized: scheme stripped, SSL default taken from it.
|
|
168
|
+
// An explicit prop keeps its documented host shape (ssl defaults true).
|
|
169
|
+
const derived = objectStorage === undefined || (0, recipes_1.isBucketElement)(objectStorage);
|
|
170
|
+
const scheme = derived ? store.endpoint.match(/^(https?):\/\//) : null;
|
|
171
|
+
const explicitStore = objectStorage && !(0, recipes_1.isBucketElement)(objectStorage) ? objectStorage : undefined;
|
|
172
|
+
const fileStore = {
|
|
173
|
+
host: scheme ? store.endpoint.replace(/^https?:\/\//, '') : store.endpoint,
|
|
174
|
+
bucket: store.bucket,
|
|
175
|
+
credentialsSecret: store.credentialsSecret,
|
|
176
|
+
// Region: explicit prop wins, otherwise the provider's (both resolve
|
|
177
|
+
// through the store; the consumption default stays 'us-east-1').
|
|
178
|
+
region: explicitStore ? explicitStore.region : store.region,
|
|
179
|
+
port: explicitStore?.port,
|
|
180
|
+
ssl: explicitStore?.ssl ?? (scheme ? scheme[1] === 'https' : true),
|
|
181
|
+
};
|
|
166
182
|
// --- Env wiring --------------------------------------------------------------
|
|
167
183
|
// Every credential is referenced with $(VAR) expansion or secretKeyRef —
|
|
168
184
|
// no plaintext in the manifest. Secret-backed vars are declared BEFORE
|
|
@@ -171,14 +187,10 @@ function Nextcloud(props) {
|
|
|
171
187
|
// expanded from the AWS_* secret-backed vars. (Nextcloud ignores
|
|
172
188
|
// DATABASE_URL — do not add it back.)
|
|
173
189
|
const secrets = {
|
|
174
|
-
PGPASSWORD: { secret:
|
|
190
|
+
PGPASSWORD: { secret: dbCredentialsRef.name, key: dbCredentialsRef.key },
|
|
175
191
|
NEXTCLOUD_ADMIN_PASSWORD: { secret: appSecretsName, key: 'adminPassword' },
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
AWS_ACCESS_KEY_ID: { secret: objectStorage.credentialsSecret, key: 'accessKey' },
|
|
179
|
-
AWS_SECRET_ACCESS_KEY: { secret: objectStorage.credentialsSecret, key: 'secretKey' },
|
|
180
|
-
}
|
|
181
|
-
: {}),
|
|
192
|
+
AWS_ACCESS_KEY_ID: { secret: fileStore.credentialsSecret, key: 'accessKey' },
|
|
193
|
+
AWS_SECRET_ACCESS_KEY: { secret: fileStore.credentialsSecret, key: 'secretKey' },
|
|
182
194
|
};
|
|
183
195
|
const env = {
|
|
184
196
|
POSTGRES_HOST: dbHost,
|
|
@@ -192,21 +204,17 @@ function Nextcloud(props) {
|
|
|
192
204
|
OVERWRITEPROTOCOL: 'https',
|
|
193
205
|
OVERWRITECLIURL: `https://${host}`,
|
|
194
206
|
...(cache ? { REDIS_HOST: `${name}-redis`, REDIS_HOST_PORT: '6379' } : {}),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
OBJECTSTORE_S3_KEY: '$(AWS_ACCESS_KEY_ID)',
|
|
207
|
-
OBJECTSTORE_S3_SECRET: '$(AWS_SECRET_ACCESS_KEY)',
|
|
208
|
-
}
|
|
209
|
-
: {}),
|
|
207
|
+
OBJECTSTORE_S3_HOST: fileStore.host,
|
|
208
|
+
OBJECTSTORE_S3_BUCKET: fileStore.bucket,
|
|
209
|
+
OBJECTSTORE_S3_REGION: fileStore.region ?? 'us-east-1',
|
|
210
|
+
OBJECTSTORE_S3_SSL: fileStore.ssl ? 'true' : 'false',
|
|
211
|
+
...(fileStore.port !== undefined && {
|
|
212
|
+
OBJECTSTORE_S3_PORT: String(fileStore.port),
|
|
213
|
+
}),
|
|
214
|
+
OBJECTSTORE_S3_USEPATH_STYLE: 'true',
|
|
215
|
+
OBJECTSTORE_S3_AUTOCREATE: 'true',
|
|
216
|
+
OBJECTSTORE_S3_KEY: '$(AWS_ACCESS_KEY_ID)',
|
|
217
|
+
OBJECTSTORE_S3_SECRET: '$(AWS_SECRET_ACCESS_KEY)',
|
|
210
218
|
};
|
|
211
219
|
const envVars = Object.entries(secrets).map(([envName, ref]) => ({
|
|
212
220
|
name: envName,
|
|
@@ -220,8 +228,9 @@ function Nextcloud(props) {
|
|
|
220
228
|
// --- Database (CNPG) + app + endpoint ------------------------------------------
|
|
221
229
|
// <Database> is the parent wrapper so the CNPG operator and the Cluster
|
|
222
230
|
// piggyback on the r8s Database recipe (connect info stays by convention:
|
|
223
|
-
// host `${name}-rw`,
|
|
224
|
-
// app is a raw Deployment because WebService
|
|
231
|
+
// host `${name}-rw`, db-password secret resolved via
|
|
232
|
+
// databaseCredentialsRef). The app is a raw Deployment because WebService
|
|
233
|
+
// cannot mount volumes.
|
|
225
234
|
const app = {
|
|
226
235
|
apiVersion: 'apps/v1',
|
|
227
236
|
kind: 'Deployment',
|
|
@@ -312,7 +321,10 @@ function Nextcloud(props) {
|
|
|
312
321
|
{
|
|
313
322
|
name: 'PGPASSWORD',
|
|
314
323
|
valueFrom: {
|
|
315
|
-
secretKeyRef: {
|
|
324
|
+
secretKeyRef: {
|
|
325
|
+
name: dbCredentialsRef.name,
|
|
326
|
+
key: dbCredentialsRef.key,
|
|
327
|
+
},
|
|
316
328
|
},
|
|
317
329
|
},
|
|
318
330
|
...(cache ? [{ name: 'REDIS_HOST', value: `${name}-redis` }] : []),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED