@r8s/outline 0.3.3 → 0.3.5
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 +21 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -23
- 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
|
import type { SecretRef } from '@r8s/recipes';
|
|
3
3
|
export interface OutlineProps {
|
|
4
4
|
/** Resource name (defaults to 'outline') */
|
|
@@ -46,8 +46,15 @@ export interface OutlineProps {
|
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
48
48
|
* S3-compatible object storage for attachments (RustFS in the platform).
|
|
49
|
-
*
|
|
50
|
-
* the
|
|
49
|
+
* Resolution order: this prop → a `<Bucket name="…" />` descriptor →
|
|
50
|
+
* derived from the surrounding `<S3Provider>` (omit it entirely there —
|
|
51
|
+
* attachments and database backups then share one declared source).
|
|
52
|
+
*
|
|
53
|
+
* Storage-API-style consumers take a BUCKET NAME, not a prefixed path:
|
|
54
|
+
* a descriptor's `bucket` override selects the bucket, its `name` is
|
|
55
|
+
* only the logical scope (prefix). The bucket's credentials must live
|
|
56
|
+
* in a Secret provisioned by the secrets backend (keys: accessKey,
|
|
57
|
+
* secretKey) — never plaintext.
|
|
51
58
|
*/
|
|
52
59
|
objectStorage?: {
|
|
53
60
|
/** S3 endpoint URL, e.g. https://s3.internal.example.com */
|
|
@@ -58,6 +65,9 @@ export interface OutlineProps {
|
|
|
58
65
|
credentialsSecret: string;
|
|
59
66
|
/** Region string for Outline's S3 client (defaults to 'us-east-1') */
|
|
60
67
|
region?: string;
|
|
68
|
+
} | {
|
|
69
|
+
type: unknown;
|
|
70
|
+
props: BucketProps;
|
|
61
71
|
};
|
|
62
72
|
/**
|
|
63
73
|
* OIDC SSO client — register Outline as a client in Keycloak (the
|
|
@@ -122,22 +132,24 @@ export interface OutlineProps {
|
|
|
122
132
|
* backend (openbao / vault), or referenced from an existing Secret
|
|
123
133
|
* - OIDC SSO against the Keycloak `Auth` recipe
|
|
124
134
|
*
|
|
135
|
+
* Under an `<S3Provider>` both the database backups and the attachments'
|
|
136
|
+
* object storage derive from it — `objectStorage` can be omitted entirely.
|
|
137
|
+
* Pass it only to target a different bucket than the provider's, either as
|
|
138
|
+
* a plain object or as `<Bucket name="…" bucket="…" />` (the descriptor's
|
|
139
|
+
* `bucket` selects the bucket; `name` is the logical scope).
|
|
140
|
+
*
|
|
125
141
|
* @example
|
|
126
142
|
* import { Platform, S3Provider, MinIO } from '@r8s/recipes'
|
|
127
143
|
* import { Outline } from '@r8s/outline'
|
|
128
144
|
*
|
|
129
|
-
* // Backups default to on — the S3Provider
|
|
145
|
+
* // Backups default to on, objectStorage derives — the S3Provider
|
|
146
|
+
* // supplies both targets and credentials
|
|
130
147
|
* export default (
|
|
131
148
|
* <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
|
|
132
149
|
* <Platform secrets={{ backend: 'openbao', mount: 'kv', path: 'apps' }}>
|
|
133
150
|
* <Outline
|
|
134
151
|
* name="wiki"
|
|
135
152
|
* host="wiki.example.com"
|
|
136
|
-
* objectStorage={{
|
|
137
|
-
* endpoint: 'https://s3.internal.example.com',
|
|
138
|
-
* bucket: 'wiki-attachments',
|
|
139
|
-
* credentialsSecret: 'wiki-attachments-credentials',
|
|
140
|
-
* }}
|
|
141
153
|
* sso={{
|
|
142
154
|
* issuer: 'https://keycloak.example.com/realms/platform',
|
|
143
155
|
* clientId: 'outline',
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAWL,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE;QACN,2CAA2C;QAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,+BAA+B;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,iDAAiD;QACjD,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,gEAAgE;QAChE,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EACV;QACE,4DAA4D;QAC5D,QAAQ,EAAE,MAAM,CAAA;QAChB,kCAAkC;QAClC,MAAM,EAAE,MAAM,CAAA;QACd,uDAAuD;QACvD,iBAAiB,EAAE,MAAM,CAAA;QACzB,sEAAsE;QACtE,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GACD;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAA;IACzC;;;;;OAKG;IACH,GAAG,CAAC,EAAE;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,8DAA8D;QAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,kEAAkE;QAClE,eAAe,CAAC,EAAE,SAAS,CAAA;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,6DAA6D;QAC7D,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,yDAAyD;QACzD,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,iDAAiD;QACjD,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD;;;;;OAKG;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,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,iDAAiD;IACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5C,sEAAsE;IACtE,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,kCAgR1C"}
|
package/dist/index.js
CHANGED
|
@@ -21,22 +21,24 @@ const operator_redis_1 = require("@r8s/operator-redis");
|
|
|
21
21
|
* backend (openbao / vault), or referenced from an existing Secret
|
|
22
22
|
* - OIDC SSO against the Keycloak `Auth` recipe
|
|
23
23
|
*
|
|
24
|
+
* Under an `<S3Provider>` both the database backups and the attachments'
|
|
25
|
+
* object storage derive from it — `objectStorage` can be omitted entirely.
|
|
26
|
+
* Pass it only to target a different bucket than the provider's, either as
|
|
27
|
+
* a plain object or as `<Bucket name="…" bucket="…" />` (the descriptor's
|
|
28
|
+
* `bucket` selects the bucket; `name` is the logical scope).
|
|
29
|
+
*
|
|
24
30
|
* @example
|
|
25
31
|
* import { Platform, S3Provider, MinIO } from '@r8s/recipes'
|
|
26
32
|
* import { Outline } from '@r8s/outline'
|
|
27
33
|
*
|
|
28
|
-
* // Backups default to on — the S3Provider
|
|
34
|
+
* // Backups default to on, objectStorage derives — the S3Provider
|
|
35
|
+
* // supplies both targets and credentials
|
|
29
36
|
* export default (
|
|
30
37
|
* <S3Provider provider={<MinIO endpoint="https://rustfs:9000" bucket="infra" credentialsSecret="infra-s3-creds" />}>
|
|
31
38
|
* <Platform secrets={{ backend: 'openbao', mount: 'kv', path: 'apps' }}>
|
|
32
39
|
* <Outline
|
|
33
40
|
* name="wiki"
|
|
34
41
|
* host="wiki.example.com"
|
|
35
|
-
* objectStorage={{
|
|
36
|
-
* endpoint: 'https://s3.internal.example.com',
|
|
37
|
-
* bucket: 'wiki-attachments',
|
|
38
|
-
* credentialsSecret: 'wiki-attachments-credentials',
|
|
39
|
-
* }}
|
|
40
42
|
* sso={{
|
|
41
43
|
* issuer: 'https://keycloak.example.com/realms/platform',
|
|
42
44
|
* clientId: 'outline',
|
|
@@ -95,6 +97,12 @@ function Outline(props) {
|
|
|
95
97
|
if (cache) {
|
|
96
98
|
resources_.push(...(0, operator_redis_1.declareIfMissing)(sharedOperators));
|
|
97
99
|
}
|
|
100
|
+
// --- Object storage (attachments) — derived from the S3Provider ------------
|
|
101
|
+
// Same resolution contract as Database's backup decision (#115): an
|
|
102
|
+
// explicit object wins, a <Bucket/> descriptor points attachments at
|
|
103
|
+
// another store, and omission under an <S3Provider> derives everything.
|
|
104
|
+
const s3 = (0, recipes_1.useS3)();
|
|
105
|
+
const store = (0, recipes_1.resolveObjectStorage)('Outline', name, 'attachments are stored in an S3 bucket', objectStorage, s3);
|
|
98
106
|
// Redis — caching + websockets. Standalone is the facit shape: durable via
|
|
99
107
|
// a 1Gi PVC, observable via the exporter sidecar, sized 100m/256Mi→250m/512Mi.
|
|
100
108
|
// (A Replication topology exists for durable queues; Outline's cache can
|
|
@@ -175,17 +183,13 @@ function Outline(props) {
|
|
|
175
183
|
ENABLE_UPDATES: 'false',
|
|
176
184
|
LOG_LEVEL: 'info',
|
|
177
185
|
...(cache ? { REDIS_URL: `redis://${name}-redis:6379` } : {}),
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
AWS_S3_FORCE_PATH_STYLE: 'true',
|
|
186
|
-
AWS_S3_ACL: 'private',
|
|
187
|
-
}
|
|
188
|
-
: {}),
|
|
186
|
+
FILE_STORAGE: 's3',
|
|
187
|
+
AWS_REGION: store.region ?? 'us-east-1',
|
|
188
|
+
// Facit semantics: this is the ENDPOINT only, not endpoint/bucket
|
|
189
|
+
AWS_S3_UPLOAD_BUCKET_URL: store.endpoint,
|
|
190
|
+
AWS_S3_UPLOAD_BUCKET_NAME: store.bucket,
|
|
191
|
+
AWS_S3_FORCE_PATH_STYLE: 'true',
|
|
192
|
+
AWS_S3_ACL: 'private',
|
|
189
193
|
...(sso
|
|
190
194
|
? {
|
|
191
195
|
OIDC_DISPLAY_NAME: sso.displayName ?? 'SSO',
|
|
@@ -210,12 +214,8 @@ function Outline(props) {
|
|
|
210
214
|
SECRET_KEY: { secret: platformSecretsName, key: 'SECRET_KEY' },
|
|
211
215
|
UTILS_SECRET: { secret: platformSecretsName, key: 'UTILS_SECRET' },
|
|
212
216
|
PGPASSWORD: { secret: dbCredentialsRef.name, key: dbCredentialsRef.key },
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
AWS_ACCESS_KEY_ID: { secret: objectStorage.credentialsSecret, key: 'accessKey' },
|
|
216
|
-
AWS_SECRET_ACCESS_KEY: { secret: objectStorage.credentialsSecret, key: 'secretKey' },
|
|
217
|
-
}
|
|
218
|
-
: {}),
|
|
217
|
+
AWS_ACCESS_KEY_ID: { secret: store.credentialsSecret, key: 'accessKey' },
|
|
218
|
+
AWS_SECRET_ACCESS_KEY: { secret: store.credentialsSecret, key: 'secretKey' },
|
|
219
219
|
...(sso
|
|
220
220
|
? {
|
|
221
221
|
OIDC_CLIENT_SECRET: sso.clientSecretRef ?? {
|
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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"}
|