mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
Compare commits
232 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
88c618023a | ||
![]() |
490836962a | ||
![]() |
868275789d | ||
![]() |
221dcc41cd | ||
![]() |
3e8365bb26 | ||
![]() |
4599bf413e | ||
![]() |
e15c59c157 | ||
![]() |
b93aa31c93 | ||
![]() |
3dd8602acc | ||
![]() |
576eefede6 | ||
![]() |
9c44f375f2 | ||
![]() |
73619fda05 | ||
![]() |
ab419674df | ||
![]() |
ed6f2ec8e9 | ||
![]() |
3aa28fa03b | ||
![]() |
e45bce89aa | ||
![]() |
6b8223ba9c | ||
![]() |
46f5fc239e | ||
![]() |
ecd031e69f | ||
![]() |
d1282f6b1a | ||
![]() |
86e8c09e2d | ||
![]() |
5936aceccd | ||
![]() |
1f474a3c8e | ||
![]() |
a0ea743449 | ||
![]() |
a402aa6382 | ||
![]() |
d350c140fd | ||
![]() |
556899dbdb | ||
![]() |
2f10d22c18 | ||
![]() |
cb38613b4c | ||
![]() |
203f80020c | ||
![]() |
f244b288bd | ||
![]() |
386babff42 | ||
![]() |
f59b2c2970 | ||
![]() |
07499631b4 | ||
![]() |
e20efac3ea | ||
![]() |
099897013c | ||
![]() |
f73dfb31c0 | ||
![]() |
2846c711ab | ||
![]() |
5e60000681 | ||
![]() |
d7078ad692 | ||
![]() |
419312ee5f | ||
![]() |
486241f3d4 | ||
![]() |
cac70b1f88 | ||
![]() |
7abca33b67 | ||
![]() |
fa060b86f3 | ||
![]() |
65bf2bd34e | ||
![]() |
3e59aa4b55 | ||
![]() |
5fc4ce8f73 | ||
![]() |
45640a36d6 | ||
![]() |
b381a9c926 | ||
![]() |
331f83d659 | ||
![]() |
73fbe80cff | ||
![]() |
c96b60d4d3 | ||
![]() |
c65096020e | ||
![]() |
c24e6d5a18 | ||
![]() |
5c1553bdda | ||
![]() |
28af181eee | ||
![]() |
c4df54dd88 | ||
![]() |
6fe6b6ec89 | ||
![]() |
33e9ae4191 | ||
![]() |
df9062cfc5 | ||
![]() |
8fff08a9b6 | ||
![]() |
5086f2280b | ||
![]() |
e0e20dc6f5 | ||
![]() |
2d44d61942 | ||
![]() |
68975e6627 | ||
![]() |
137027e421 | ||
![]() |
a9bcc96217 | ||
![]() |
f890c769f8 | ||
![]() |
d9a3612f3c | ||
![]() |
a93133fe7c | ||
![]() |
1e0974f89b | ||
![]() |
7d57359613 | ||
![]() |
e09b53b20d | ||
![]() |
19f9ef7882 | ||
![]() |
820d9b8917 | ||
![]() |
0ad7c19db0 | ||
![]() |
84d64ac1a2 | ||
![]() |
277a0d0ab7 | ||
![]() |
4e7929f6d2 | ||
![]() |
a0b7ee42f3 | ||
![]() |
716c3c3089 | ||
![]() |
c6ec45c7c0 | ||
![]() |
648ce1fba8 | ||
![]() |
11ce94c199 | ||
![]() |
d4cb6db98d | ||
![]() |
8f74fc82ad | ||
![]() |
3a9b0d69f0 | ||
![]() |
6c1c935260 | ||
![]() |
df84a22c22 | ||
![]() |
1215157cdd | ||
![]() |
dca71bc5b8 | ||
![]() |
1f888645d6 | ||
![]() |
c64a1a241d | ||
![]() |
355f7dd1c7 | ||
![]() |
1234acc0e1 | ||
![]() |
5f85441b6e | ||
![]() |
6c30a2512b | ||
![]() |
4318479154 | ||
![]() |
2f928bd2d4 | ||
![]() |
01623e0b5c | ||
![]() |
15a929a87e | ||
![]() |
86f45923ba | ||
![]() |
e7d8081aff | ||
![]() |
1597a5a578 | ||
![]() |
4d05fe4315 | ||
![]() |
261c3d05a6 | ||
![]() |
edbf895505 | ||
![]() |
9cc4a9ce4d | ||
![]() |
cd1daaecc1 | ||
![]() |
c2a84b6592 | ||
![]() |
98f5d8fb73 | ||
![]() |
c9e4c7041c | ||
![]() |
20d4a0c3af | ||
![]() |
990184dbb5 | ||
![]() |
def0b5c732 | ||
![]() |
3bb3004abb | ||
![]() |
7a007dc466 | ||
![]() |
6248ed0938 | ||
![]() |
58daeb684f | ||
![]() |
04711b112b | ||
![]() |
6f341a839f | ||
![]() |
61b8d4a7e8 | ||
![]() |
762d703df7 | ||
![]() |
f1fdbb05b2 | ||
![]() |
3e4b8f7dd7 | ||
![]() |
28dbfead78 | ||
![]() |
6eaaa42015 | ||
![]() |
c276904c90 | ||
![]() |
92a0856da6 | ||
![]() |
70556d2a8e | ||
![]() |
9321addafa | ||
![]() |
851eafd1d1 | ||
![]() |
8f2ccb7b41 | ||
![]() |
f932cf4b22 | ||
![]() |
cf411e13fb | ||
![]() |
862ac4867b | ||
![]() |
607c04ff28 | ||
![]() |
7a44581406 | ||
![]() |
b65b72a25e | ||
![]() |
9daeaf89ac | ||
![]() |
f954fc9450 | ||
![]() |
b5a61cbb08 | ||
![]() |
e1c5189cb8 | ||
![]() |
16378ec470 | ||
![]() |
75048172df | ||
![]() |
2914fd7d60 | ||
![]() |
7684198b53 | ||
![]() |
b54c6b97b7 | ||
![]() |
864dd7c2e0 | ||
![]() |
764b392b2b | ||
![]() |
010017a141 | ||
![]() |
0ac7d407bf | ||
![]() |
fedd9e04d8 | ||
![]() |
42a1ca7b64 | ||
![]() |
3bfd9e3298 | ||
![]() |
307dba3219 | ||
![]() |
cd07338ce7 | ||
![]() |
4230db5038 | ||
![]() |
a47f5236ef | ||
![]() |
ade977bb4f | ||
![]() |
5eff035cb3 | ||
![]() |
ea83ea59a1 | ||
![]() |
a8b5d5eb45 | ||
![]() |
531c299c7b | ||
![]() |
1e3684bcf3 | ||
![]() |
180d5f131e | ||
![]() |
cccca96d28 | ||
![]() |
bfa70a40aa | ||
![]() |
b3ef4ed017 | ||
![]() |
7024ee9a58 | ||
![]() |
b0d7342b39 | ||
![]() |
9bf734817d | ||
![]() |
3a57e88229 | ||
![]() |
b9208caad2 | ||
![]() |
e0c1baeb43 | ||
![]() |
43be71e4a2 | ||
![]() |
c95198285c | ||
![]() |
5c0c54c31c | ||
![]() |
fdb39f6df4 | ||
![]() |
da46becf7a | ||
![]() |
44f731d7e7 | ||
![]() |
71e55690f3 | ||
![]() |
3e9adef4cf | ||
![]() |
db66e3df75 | ||
![]() |
d618f9781a | ||
![]() |
e424b84882 | ||
![]() |
1fa6d248a2 | ||
![]() |
d31393f475 | ||
![]() |
3ade2ad795 | ||
![]() |
661357c985 | ||
![]() |
4f095243df | ||
![]() |
154d981684 | ||
![]() |
0a7a9b21a2 | ||
![]() |
9ba85c710b | ||
![]() |
1971351391 | ||
![]() |
89e48e7f3f | ||
![]() |
b86c3b4dee | ||
![]() |
9bdaa7949e | ||
![]() |
a35500314b | ||
![]() |
b1c360409d | ||
![]() |
9e682f5c4f | ||
![]() |
43e8ef99b0 | ||
![]() |
baa64987c6 | ||
![]() |
afcbfdaacf | ||
![]() |
5ec6eddbfa | ||
![]() |
b608080d5f | ||
![]() |
0245b31e0c | ||
![]() |
7505f07f2f | ||
![]() |
f373dff1d7 | ||
![]() |
d401cc862b | ||
![]() |
0f79fa5ffa | ||
![]() |
a333412e19 | ||
![]() |
c2ab32baed | ||
![]() |
a18e716f97 | ||
![]() |
4f17f2baac | ||
![]() |
6fc3f2cf4f | ||
![]() |
f419f2f28d | ||
![]() |
d0e01472b9 | ||
![]() |
9c2c5edaf5 | ||
![]() |
e921d62630 | ||
![]() |
6f6784a288 | ||
![]() |
a47cc8a5ee | ||
![]() |
13a0f0d3ab | ||
![]() |
9cb0127e2b | ||
![]() |
b7f4f1bd51 | ||
![]() |
02e122c6d9 | ||
![]() |
fbe60371b9 | ||
![]() |
937c41fd17 | ||
![]() |
36ff95e6b2 | ||
![]() |
0c90d18072 | ||
![]() |
b3fe2afbad |
@ -11,6 +11,7 @@
|
|||||||
"ChangeMap",
|
"ChangeMap",
|
||||||
"CredentialSet",
|
"CredentialSet",
|
||||||
"Dict",
|
"Dict",
|
||||||
|
"EmptyObject",
|
||||||
"Error",
|
"Error",
|
||||||
"EventEmitter",
|
"EventEmitter",
|
||||||
"FetchDocumentLoader",
|
"FetchDocumentLoader",
|
||||||
@ -18,12 +19,16 @@
|
|||||||
"HashMap",
|
"HashMap",
|
||||||
"HttpErrorOptions",
|
"HttpErrorOptions",
|
||||||
"HttpResponse",
|
"HttpResponse",
|
||||||
|
"IndexTypeCollection",
|
||||||
"IdentifierMap",
|
"IdentifierMap",
|
||||||
"IdentifierSetMultiMap",
|
"IdentifierSetMultiMap",
|
||||||
|
"interactionPolicy.DefaultPolicy",
|
||||||
"NodeJS.Dict",
|
"NodeJS.Dict",
|
||||||
"NotificationChannelType",
|
"NotificationChannelType",
|
||||||
|
"Omit",
|
||||||
"PermissionMap",
|
"PermissionMap",
|
||||||
"Promise",
|
"Promise",
|
||||||
|
"Readable",
|
||||||
"Readonly",
|
"Readonly",
|
||||||
"RegExp",
|
"RegExp",
|
||||||
"Server",
|
"Server",
|
||||||
@ -31,9 +36,12 @@
|
|||||||
"Shorthand",
|
"Shorthand",
|
||||||
"Template",
|
"Template",
|
||||||
"TemplateEngine",
|
"TemplateEngine",
|
||||||
|
"Transform",
|
||||||
|
"TransformOptions",
|
||||||
"ValuePreferencesArg",
|
"ValuePreferencesArg",
|
||||||
"VariableBindings",
|
"VariableBindings",
|
||||||
"UnionHandler",
|
"UnionHandler",
|
||||||
|
"VirtualObject",
|
||||||
"WinstonLogger",
|
"WinstonLogger",
|
||||||
"WrappedSetMultiMap",
|
"WrappedSetMultiMap",
|
||||||
"YargsOptions"
|
"YargsOptions"
|
||||||
|
150
.eslintrc.js
150
.eslintrc.js
@ -1,150 +0,0 @@
|
|||||||
/* eslint-disable @typescript-eslint/naming-convention */
|
|
||||||
module.exports = {
|
|
||||||
root: true,
|
|
||||||
parser: '@typescript-eslint/parser',
|
|
||||||
parserOptions: {
|
|
||||||
tsconfigRootDir: __dirname,
|
|
||||||
project: [ './tsconfig.json', './test/tsconfig.json', './scripts/tsconfig.json' ],
|
|
||||||
},
|
|
||||||
// Ignoring js files (such as this one) since they seem to conflict with rules that require typing info
|
|
||||||
ignorePatterns: [ '*.js' ],
|
|
||||||
globals: {
|
|
||||||
AsyncIterable: 'readonly',
|
|
||||||
NodeJS: 'readonly',
|
|
||||||
RequestInit: 'readonly',
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
'tsdoc',
|
|
||||||
'import',
|
|
||||||
'unused-imports',
|
|
||||||
],
|
|
||||||
extends: [
|
|
||||||
'es/node',
|
|
||||||
'eslint:recommended',
|
|
||||||
'plugin:import/errors',
|
|
||||||
'plugin:import/warnings',
|
|
||||||
'plugin:import/typescript',
|
|
||||||
],
|
|
||||||
settings: {
|
|
||||||
'import/resolver': {
|
|
||||||
typescript: {
|
|
||||||
// Always try to resolve types under `<root>@types` directory
|
|
||||||
// even it doesn't contain any source code, like `@types/rdf-js`
|
|
||||||
alwaysTryTypes: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
rules: {
|
|
||||||
// There are valid typing reasons to have one or the other
|
|
||||||
'@typescript-eslint/consistent-type-definitions': 'off',
|
|
||||||
'@typescript-eslint/lines-between-class-members': [ 'error', { exceptAfterSingleLine: true }],
|
|
||||||
'@typescript-eslint/no-empty-interface': 'off',
|
|
||||||
// Breaks with default void in AsyncHandler 2nd generic
|
|
||||||
'@typescript-eslint/no-invalid-void-type': 'off',
|
|
||||||
// Problems with optional parameters
|
|
||||||
'@typescript-eslint/no-unnecessary-condition': 'off',
|
|
||||||
'@typescript-eslint/prefer-optional-chain': 'error',
|
|
||||||
'@typescript-eslint/promise-function-async': [ 'error', { checkArrowFunctions: false } ],
|
|
||||||
'@typescript-eslint/space-before-function-paren': [ 'error', 'never' ],
|
|
||||||
'@typescript-eslint/unbound-method': 'off',
|
|
||||||
'@typescript-eslint/unified-signatures': 'off',
|
|
||||||
// Conflicts with functions from interfaces that sometimes don't require `this`
|
|
||||||
'class-methods-use-this': 'off',
|
|
||||||
'comma-dangle': [ 'error', 'always-multiline' ],
|
|
||||||
'dot-location': [ 'error', 'property' ],
|
|
||||||
'eslint-comments/disable-enable-pair': 'off',
|
|
||||||
// Allow declaring overloads in TypeScript (https://eslint.org/docs/rules/func-style)
|
|
||||||
'func-style': [ 'error', 'declaration' ],
|
|
||||||
'generator-star-spacing': [ 'error', 'after' ],
|
|
||||||
// Conflicts with padded-blocks
|
|
||||||
'lines-around-comment': 'off',
|
|
||||||
'lines-between-class-members': [ 'error', 'always', { exceptAfterSingleLine: true }],
|
|
||||||
'max-len': [ 'error', { code: 120, ignoreUrls: true }],
|
|
||||||
// Used for RDF constants
|
|
||||||
'new-cap': 'off',
|
|
||||||
// Necessary in constructor overloading
|
|
||||||
'no-param-reassign': 'off',
|
|
||||||
// Checked by @typescript-eslint/no-redeclare
|
|
||||||
'no-redeclare': 'off',
|
|
||||||
// Conflicts with external libraries
|
|
||||||
'no-underscore-dangle': 'off',
|
|
||||||
// Already checked by @typescript-eslint/no-unused-vars
|
|
||||||
'no-unused-vars': 'off',
|
|
||||||
'padding-line-between-statements': 'off',
|
|
||||||
'prefer-named-capture-group': 'off',
|
|
||||||
// Already generated by TypeScript
|
|
||||||
strict: 'off',
|
|
||||||
'tsdoc/syntax': 'error',
|
|
||||||
'unicorn/catch-error-name': 'off',
|
|
||||||
'unicorn/import-index': 'off',
|
|
||||||
'unicorn/import-style': 'off',
|
|
||||||
// The next 2 some functional programming paradigms
|
|
||||||
'unicorn/no-array-callback-reference': 'off',
|
|
||||||
'unicorn/no-fn-reference-in-iterator': 'off',
|
|
||||||
'unicorn/no-object-as-default-parameter': 'off',
|
|
||||||
'unicorn/numeric-separators-style': 'off',
|
|
||||||
// At function only supported in Node v16.6.0
|
|
||||||
'unicorn/prefer-at': 'off',
|
|
||||||
// Does not make sense for more complex cases
|
|
||||||
'unicorn/prefer-object-from-entries': 'off',
|
|
||||||
// Only supported in Node v15
|
|
||||||
'unicorn/prefer-string-replace-all' : 'off',
|
|
||||||
// Can get ugly with large single statements
|
|
||||||
'unicorn/prefer-ternary': 'off',
|
|
||||||
'yield-star-spacing': [ 'error', 'after' ],
|
|
||||||
|
|
||||||
// Need to use the typescript version of this rule to support overloading
|
|
||||||
"no-dupe-class-members": "off",
|
|
||||||
"@typescript-eslint/no-dupe-class-members": ["error"],
|
|
||||||
|
|
||||||
// Naming conventions
|
|
||||||
'@typescript-eslint/naming-convention': [
|
|
||||||
'error',
|
|
||||||
{
|
|
||||||
selector: 'default',
|
|
||||||
format: [ 'camelCase' ],
|
|
||||||
leadingUnderscore: 'forbid',
|
|
||||||
trailingUnderscore: 'forbid',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selector: 'variable',
|
|
||||||
format: [ 'camelCase', 'UPPER_CASE' ],
|
|
||||||
leadingUnderscore: 'forbid',
|
|
||||||
trailingUnderscore: 'forbid',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selector: 'typeLike',
|
|
||||||
format: [ 'PascalCase' ],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
selector: [ 'typeParameter' ],
|
|
||||||
format: [ 'PascalCase' ],
|
|
||||||
prefix: [ 'T' ],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
|
|
||||||
// Import
|
|
||||||
'@typescript-eslint/consistent-type-imports': [ 'error', { prefer: 'type-imports' }],
|
|
||||||
// Disabled in favor of eslint-plugin-import
|
|
||||||
'sort-imports': 'off',
|
|
||||||
'import/order': [ 'error', {
|
|
||||||
alphabetize: {
|
|
||||||
order: 'asc',
|
|
||||||
caseInsensitive: true,
|
|
||||||
},
|
|
||||||
}],
|
|
||||||
'import/no-duplicates': 'error',
|
|
||||||
'import/no-extraneous-dependencies': 'error',
|
|
||||||
'import/no-named-as-default': 'off',
|
|
||||||
// Doesn't work with type imports
|
|
||||||
'no-duplicate-imports': 'off',
|
|
||||||
'unused-imports/no-unused-imports-ts': 'error',
|
|
||||||
},
|
|
||||||
|
|
||||||
overrides: [
|
|
||||||
{
|
|
||||||
files: '*.js',
|
|
||||||
parser: 'espree',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
8
.github/.markdownlint-cli2.cjs
vendored
8
.github/.markdownlint-cli2.cjs
vendored
@ -1,14 +1,14 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
const options = require('../.markdownlint-cli2.cjs');
|
const options = require('../.markdownlint-cli2.cjs');
|
||||||
"use strict";
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
globs: [ "**/*.md" ],
|
globs: [ '**/*.md' ],
|
||||||
config: {
|
config: {
|
||||||
// Re-use the base config
|
// Re-use the base config
|
||||||
...options.config,
|
...options.config,
|
||||||
|
|
||||||
// Allow first line to not be top level heading
|
// Allow first line to not be top level heading
|
||||||
MD041: false
|
MD041: false,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: ❓ Question
|
||||||
|
url: https://github.com/CommunitySolidServer/CommunitySolidServer/discussions/new/choose
|
||||||
|
about: A question or discussion about the server
|
13
.github/ISSUE_TEMPLATE/question.md
vendored
13
.github/ISSUE_TEMPLATE/question.md
vendored
@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
name: "❓ Question"
|
|
||||||
about: A general question
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
#### Question
|
|
||||||
|
|
||||||
<!-- Questions are usually better suited for discussions, which can be found at https://github.com/CommunitySolidServer/CommunitySolidServer/discussions -->
|
|
||||||
<!-- In case you think this would better as an issue, please provide a clear and concisely formulated question.-->
|
|
38
.github/dependabot.yml
vendored
38
.github/dependabot.yml
vendored
@ -1,33 +1,33 @@
|
|||||||
version: 2
|
version: 2
|
||||||
updates:
|
updates:
|
||||||
- package-ecosystem: "github-actions"
|
- package-ecosystem: github-actions
|
||||||
directory: /
|
directory: /
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: daily
|
||||||
time: "02:13"
|
time: '02:13'
|
||||||
timezone: "Europe/Brussels"
|
timezone: Europe/Brussels
|
||||||
labels:
|
labels:
|
||||||
- "⚙️ dependencies"
|
- ⚙️ dependencies
|
||||||
- package-ecosystem: "npm"
|
- package-ecosystem: npm
|
||||||
directory: /
|
directory: /
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: daily
|
||||||
time: "03:35"
|
time: '03:35'
|
||||||
timezone: "Europe/Brussels"
|
timezone: Europe/Brussels
|
||||||
target-branch: "versions/next-major"
|
target-branch: versions/next-major
|
||||||
ignore:
|
ignore:
|
||||||
# Ignore minor and patch version updates
|
# Ignore minor and patch version updates
|
||||||
- dependency-name: "*"
|
- dependency-name: '*'
|
||||||
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
|
update-types: ['version-update:semver-minor', 'version-update:semver-patch']
|
||||||
# Sticking with Husky 4.x
|
# Sticking with Husky 4.x
|
||||||
- dependency-name: "husky"
|
- dependency-name: husky
|
||||||
labels:
|
labels:
|
||||||
- "⚙️ dependencies"
|
- ⚙️ dependencies
|
||||||
- package-ecosystem: "docker"
|
- package-ecosystem: docker
|
||||||
directory: /
|
directory: /
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: daily
|
||||||
time: "04:22"
|
time: '04:22'
|
||||||
timezone: "Europe/Brussels"
|
timezone: Europe/Brussels
|
||||||
labels:
|
labels:
|
||||||
- "⚙️ dependencies"
|
- ⚙️ dependencies
|
||||||
|
10
.github/workflows/cth-test.yml
vendored
10
.github/workflows/cth-test.yml
vendored
@ -38,11 +38,11 @@ jobs:
|
|||||||
timeout-minutes: 10
|
timeout-minutes: 10
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js 16.x
|
- name: Use Node.js 16.x
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 16.x
|
node-version: 16.x
|
||||||
- name: Check out the project
|
- name: Check out the project
|
||||||
uses: actions/checkout@v3.5.3
|
uses: actions/checkout@v4.2.0
|
||||||
with:
|
with:
|
||||||
ref: ${{ inputs.branch || github.ref }}
|
ref: ${{ inputs.branch || github.ref }}
|
||||||
- name: Install dependencies and run build scripts
|
- name: Install dependencies and run build scripts
|
||||||
@ -52,7 +52,7 @@ jobs:
|
|||||||
- name: Create the necessary folders
|
- name: Create the necessary folders
|
||||||
run: mkdir -p reports/css
|
run: mkdir -p reports/css
|
||||||
- name: Pull the conformance harness docker
|
- name: Pull the conformance harness docker
|
||||||
run: "docker pull solidproject/conformance-test-harness:${{ inputs.version }}"
|
run: 'docker pull solidproject/conformance-test-harness:${{ inputs.version }}'
|
||||||
- name: Wait until the server has started
|
- name: Wait until the server has started
|
||||||
run: >
|
run: >
|
||||||
curl --output /dev/null --silent --head --fail --retry 30
|
curl --output /dev/null --silent --head --fail --retry 30
|
||||||
@ -78,13 +78,13 @@ jobs:
|
|||||||
branch-name: ${{ inputs.branch || github.head_ref }}
|
branch-name: ${{ inputs.branch || github.head_ref }}
|
||||||
- name: Save the reports
|
- name: Save the reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ steps.sanitize.outputs.sanitized-branch-name }} reports
|
name: ${{ steps.sanitize.outputs.sanitized-branch-name }} reports
|
||||||
path: reports
|
path: reports
|
||||||
- name: Save the server output
|
- name: Save the server output
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ steps.sanitize.outputs.sanitized-branch-name }} server output
|
name: ${{ steps.sanitize.outputs.sanitized-branch-name }} server output
|
||||||
path: server-output.log
|
path: server-output.log
|
||||||
|
24
.github/workflows/docker.yml
vendored
24
.github/workflows/docker.yml
vendored
@ -21,15 +21,15 @@ jobs:
|
|||||||
tags: ${{ steps.meta-main.outputs.tags || steps.meta-version.outputs.tags }}
|
tags: ${{ steps.meta-main.outputs.tags || steps.meta-version.outputs.tags }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3.5.3
|
uses: actions/checkout@v4.2.0
|
||||||
- if: startsWith(github.ref, 'refs/tags/v') || (github.ref == 'refs/heads/main')
|
- if: startsWith(github.ref, 'refs/tags/v') || (github.ref == 'refs/heads/main')
|
||||||
name: Docker meta edge and version tag
|
name: Docker meta edge and version tag
|
||||||
id: meta-main
|
id: meta-main
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
solidproject/community-server
|
solidproject/community-server
|
||||||
# edge will always be executed (without latest tag), semver only on tag push events (with latest tag)
|
# Edge will always be executed (without latest tag), semver only on tag push events (with latest tag)
|
||||||
tags: |
|
tags: |
|
||||||
type=edge
|
type=edge
|
||||||
type=semver,pattern={{version}}
|
type=semver,pattern={{version}}
|
||||||
@ -39,7 +39,7 @@ jobs:
|
|||||||
- if: startsWith(github.ref, 'refs/heads/versions/')
|
- if: startsWith(github.ref, 'refs/heads/versions/')
|
||||||
name: Docker meta next
|
name: Docker meta next
|
||||||
id: meta-version
|
id: meta-version
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
solidproject/community-server
|
solidproject/community-server
|
||||||
@ -55,25 +55,25 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3.5.3
|
uses: actions/checkout@v4.2.0
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v3
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v3
|
||||||
- name: Login to DockerHub
|
- name: Login to DockerHub
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
- name: Build and export to docker
|
- name: Build and export to docker
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
load: true
|
load: true
|
||||||
tags: ${{ needs.docker-meta.outputs.tags }}
|
tags: ${{ needs.docker-meta.outputs.tags }}
|
||||||
labels: ${{ needs.docker-meta.outputs.labels }}
|
labels: ${{ needs.docker-meta.outputs.labels }}
|
||||||
|
|
||||||
- name: "Test all docker-built image tags"
|
- name: Test all docker-built image tags
|
||||||
shell: bash
|
shell: bash
|
||||||
# Loop over all generated image:tag names and docker run them.
|
# Loop over all generated image:tag names and docker run them.
|
||||||
# If they aren't built previously, the command will error.
|
# If they aren't built previously, the command will error.
|
||||||
@ -85,10 +85,10 @@ jobs:
|
|||||||
done <<< "${{ needs.docker-meta.outputs.tags }}";
|
done <<< "${{ needs.docker-meta.outputs.tags }}";
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm/v8
|
platforms: linux/amd64
|
||||||
tags: ${{ needs.docker-meta.outputs.tags }}
|
tags: ${{ needs.docker-meta.outputs.tags }}
|
||||||
labels: ${{ needs.docker-meta.outputs.labels }}
|
labels: ${{ needs.docker-meta.outputs.labels }}
|
||||||
|
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@ -2,7 +2,7 @@ name: CI
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- 'main'
|
- main
|
||||||
- 'versions/*'
|
- 'versions/*'
|
||||||
tags:
|
tags:
|
||||||
- 'v*'
|
- 'v*'
|
||||||
@ -23,7 +23,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/cth-test.yml
|
uses: ./.github/workflows/cth-test.yml
|
||||||
with:
|
with:
|
||||||
ignore_failures: true
|
ignore_failures: true
|
||||||
version: 1.1.7 # The latest version that CSS is confirmed to pass
|
version: 1.1.14 # The latest version that CSS is confirmed to pass
|
||||||
|
|
||||||
docker:
|
docker:
|
||||||
# Build docker containers on version tag, push to main and push to versions/
|
# Build docker containers on version tag, push to main and push to versions/
|
||||||
|
25
.github/workflows/mkdocs.yml
vendored
25
.github/workflows/mkdocs.yml
vendored
@ -2,15 +2,15 @@ name: Documentation
|
|||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
|
|
||||||
# Additional trigger to deploy changes to the documentation/ folder
|
# Additional trigger to deploy changes to the documentation/ folder
|
||||||
# on push to main, ignoring tags so we don't trigger twice upon release
|
# on push to main, ignoring tags so we don't trigger twice upon release
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- documentation/**
|
- documentation/**
|
||||||
tags-ignore:
|
tags-ignore:
|
||||||
- "*"
|
- '*'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
mkdocs-prep:
|
mkdocs-prep:
|
||||||
@ -21,10 +21,10 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
major: ${{ steps.tagged_version.outputs.major || steps.current_version.outputs.major }}
|
major: ${{ steps.tagged_version.outputs.major || steps.current_version.outputs.major }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3.5.3
|
- uses: actions/checkout@v4.2.0
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '16.x'
|
node-version: 16.x
|
||||||
- run: npm ci --ignore-scripts
|
- run: npm ci --ignore-scripts
|
||||||
- name: Lint documentation markdown
|
- name: Lint documentation markdown
|
||||||
run: npm run lint:markdown -- documentation/**/*.md
|
run: npm run lint:markdown -- documentation/**/*.md
|
||||||
@ -43,8 +43,8 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: mkdocs-prep
|
needs: mkdocs-prep
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3.5.3
|
- uses: actions/checkout@v4.2.0
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
- run: pip install mkdocs-material
|
- run: pip install mkdocs-material
|
||||||
@ -56,22 +56,21 @@ jobs:
|
|||||||
cd documentation && mike deploy --push --update-aliases \
|
cd documentation && mike deploy --push --update-aliases \
|
||||||
${{ needs.mkdocs-prep.outputs.major }}.x latest
|
${{ needs.mkdocs-prep.outputs.major }}.x latest
|
||||||
|
|
||||||
|
|
||||||
typedocs:
|
typedocs:
|
||||||
# Build typedocs and publish them to the GH page.
|
# Build typedocs and publish them to the GH page.
|
||||||
# `mike deploy` overwrites the entire folder for a version so these need to be (re)built afterwards.
|
# `mike deploy` overwrites the entire folder for a version so these need to be (re)built afterwards.
|
||||||
needs: [mkdocs-prep, mkdocs]
|
needs: [mkdocs-prep, mkdocs]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3.5.3
|
- uses: actions/checkout@v4.2.0
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '16.x'
|
node-version: 16.x
|
||||||
- run: npm ci --ignore-scripts
|
- run: npm ci --ignore-scripts
|
||||||
- name: Generate typedocs
|
- name: Generate typedocs
|
||||||
run: npm run typedocs
|
run: npm run typedocs
|
||||||
- name: Deploy typedocs
|
- name: Deploy typedocs
|
||||||
uses: peaceiris/actions-gh-pages@v3
|
uses: peaceiris/actions-gh-pages@v4
|
||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
publish_dir: ./docs
|
publish_dir: ./docs
|
||||||
|
46
.github/workflows/npm-test.yml
vendored
46
.github/workflows/npm-test.yml
vendored
@ -7,10 +7,10 @@ jobs:
|
|||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3.5.3
|
- uses: actions/checkout@v4.2.0
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '16.x'
|
node-version: 20.x
|
||||||
- run: npm ci --ignore-scripts
|
- run: npm ci --ignore-scripts
|
||||||
- run: npm run lint
|
- run: npm run lint
|
||||||
|
|
||||||
@ -23,22 +23,22 @@ jobs:
|
|||||||
- ubuntu-latest
|
- ubuntu-latest
|
||||||
- windows-latest
|
- windows-latest
|
||||||
node-version:
|
node-version:
|
||||||
- '14.14'
|
|
||||||
- '14.x'
|
|
||||||
- '16.0'
|
|
||||||
- '16.x'
|
|
||||||
- '18.0'
|
- '18.0'
|
||||||
- '18.x'
|
- 18.x
|
||||||
|
- '20.0'
|
||||||
|
- 20.x
|
||||||
|
- '22.1'
|
||||||
|
- 22.x
|
||||||
timeout-minutes: 15
|
timeout-minutes: 15
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- name: Ensure line endings are consistent
|
- name: Ensure line endings are consistent
|
||||||
run: git config --global core.autocrlf input
|
run: git config --global core.autocrlf input
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3.5.3
|
uses: actions/checkout@v4.2.0
|
||||||
- name: Install dependencies and run build scripts
|
- name: Install dependencies and run build scripts
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Type-check tests
|
- name: Type-check tests
|
||||||
@ -58,9 +58,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version:
|
node-version:
|
||||||
- '14.x'
|
- 18.x
|
||||||
- '16.x'
|
- 20.x
|
||||||
- '18.x'
|
- 22.x
|
||||||
env:
|
env:
|
||||||
TEST_DOCKER: true
|
TEST_DOCKER: true
|
||||||
services:
|
services:
|
||||||
@ -77,11 +77,11 @@ jobs:
|
|||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3.5.3
|
uses: actions/checkout@v4.2.0
|
||||||
- name: Install dependencies and run build scripts
|
- name: Install dependencies and run build scripts
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Run integration tests
|
- name: Run integration tests
|
||||||
@ -93,19 +93,19 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version:
|
node-version:
|
||||||
- '14.x'
|
- 18.x
|
||||||
- '16.x'
|
- 20.x
|
||||||
- '18.x'
|
- 22.x
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- name: Ensure line endings are consistent
|
- name: Ensure line endings are consistent
|
||||||
run: git config --global core.autocrlf input
|
run: git config --global core.autocrlf input
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3.5.3
|
uses: actions/checkout@v4.2.0
|
||||||
- name: Install dependencies and run build scripts
|
- name: Install dependencies and run build scripts
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Run integration tests
|
- name: Run integration tests
|
||||||
@ -123,11 +123,11 @@ jobs:
|
|||||||
- 4000:8890
|
- 4000:8890
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '16.x'
|
node-version: 20.x
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3.5.3
|
uses: actions/checkout@v4.2.0
|
||||||
- name: Install dependencies and run build scripts
|
- name: Install dependencies and run build scripts
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Run deploy tests
|
- name: Run deploy tests
|
||||||
|
4
.github/workflows/schedule.yml
vendored
4
.github/workflows/schedule.yml
vendored
@ -11,8 +11,8 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
branch:
|
branch:
|
||||||
- 'main'
|
- main
|
||||||
- 'versions/next-major'
|
- versions/next-major
|
||||||
uses: ./.github/workflows/cth-test.yml
|
uses: ./.github/workflows/cth-test.yml
|
||||||
with:
|
with:
|
||||||
branch: ${{ matrix.branch }}
|
branch: ${{ matrix.branch }}
|
||||||
|
8
.github/workflows/stale.yml
vendored
8
.github/workflows/stale.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: 'Stale issues and PRs'
|
name: Stale issues and PRs
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '30 1 * * *'
|
- cron: '30 1 * * *'
|
||||||
@ -10,7 +10,7 @@ jobs:
|
|||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v8
|
- uses: actions/stale@v9
|
||||||
with:
|
with:
|
||||||
debug-only: true
|
debug-only: true
|
||||||
stale-issue-label: 🏚️ abandoned
|
stale-issue-label: 🏚️ abandoned
|
||||||
@ -24,6 +24,6 @@ jobs:
|
|||||||
days-before-close: 30
|
days-before-close: 30
|
||||||
days-before-pr-stale: -1
|
days-before-pr-stale: -1
|
||||||
operations-per-run: 700
|
operations-per-run: 700
|
||||||
exempt-issue-labels: "🐛 bug,☀️ enhancement,📚 documentation,➕ feature,🐌 performance,
|
exempt-issue-labels: '🐛 bug,☀️ enhancement,📚 documentation,➕ feature,🐌 performance,
|
||||||
➕ test,📝 task,:ant: worker threads,👩🏾💻 developer experience"
|
➕ test,📝 task,:ant: worker threads,👩🏾💻 developer experience'
|
||||||
exempt-all-assignees: true
|
exempt-all-assignees: true
|
||||||
|
@ -1,34 +1,34 @@
|
|||||||
"use strict";
|
'use strict';
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
ignores: [ "node_modules/", "LICENSE.md", ".github/" ],
|
ignores: [ 'node_modules/', 'LICENSE.md', '.github/' ],
|
||||||
|
|
||||||
globs: [ "**/*.md" ],
|
globs: [ '**/*.md' ],
|
||||||
|
|
||||||
config: {
|
config: {
|
||||||
// Enable all markdownlint rules
|
// Enable all markdownlint rules
|
||||||
default: true,
|
default: true,
|
||||||
|
|
||||||
// Set list indent level to 4 which mkdocs / Python-Markdown requires
|
// Set list indent level to 4 which mkdocs / Python-Markdown requires
|
||||||
MD007: { "indent": 4 },
|
MD007: { indent: 4 },
|
||||||
|
|
||||||
// Enable line length check but exclude tables and code blocks
|
// Enable line length check but exclude tables and code blocks
|
||||||
MD013: {
|
MD013: {
|
||||||
line_length: 120,
|
line_length: 120,
|
||||||
tables: false,
|
tables: false,
|
||||||
code_blocks: false
|
code_blocks: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
// Allow multiple subheadings with the same content
|
// Allow multiple subheadings with the same content
|
||||||
// across different section (#1 ##A ##B #2 ##A ##B)
|
// across different section (#1 ##A ##B #2 ##A ##B)
|
||||||
MD024: {
|
MD024: {
|
||||||
allow_different_nesting: true
|
siblings_only: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
// Set Ordered list item prefix to "ordered" (use 1. 2. 3. not 1. 1. 1.)
|
// Set Ordered list item prefix to "ordered" (use 1. 2. 3. not 1. 1. 1.)
|
||||||
MD029: { "style": "ordered" },
|
MD029: { style: 'ordered' },
|
||||||
|
|
||||||
// Allow inline HTML
|
// Allow inline HTML
|
||||||
MD033: false,
|
MD033: false,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"types": [
|
"types": [
|
||||||
{"type": "feat", "section": "Features"},
|
{ "type": "feat", "section": "Features" },
|
||||||
{"type": "fix", "section": "Fixes"},
|
{ "type": "fix", "section": "Fixes" },
|
||||||
{"type": "chore", "section": "Chores"},
|
{ "type": "chore", "section": "Chores" },
|
||||||
{"type": "chore(deps)", "section": "Dependency updates"},
|
{ "type": "chore(deps)", "section": "Dependency updates" },
|
||||||
{"type": "docs", "section": "Documentation"},
|
{ "type": "docs", "section": "Documentation" },
|
||||||
{"type": "style", "section": "Styling"},
|
{ "type": "style", "section": "Styling" },
|
||||||
{"type": "refactor", "section": "Refactors"},
|
{ "type": "refactor", "section": "Refactors" },
|
||||||
{"type": "perf", "section": "Performance"},
|
{ "type": "perf", "section": "Performance" },
|
||||||
{"type": "test", "section": "Testing"}
|
{ "type": "test", "section": "Testing" }
|
||||||
],
|
],
|
||||||
"header": "<!-- markdownlint-disable MD013 -->\n# Changelog\n\nAll notable changes to this project will be documented in this file.",
|
"header": "<!-- markdownlint-disable MD013 -->\n# Changelog\n\nAll notable changes to this project will be documented in this file.",
|
||||||
"releaseCommitMessageFormat": "chore(release): Release version {{currentTag}} of the npm package"
|
"releaseCommitMessageFormat": "chore(release): Release version {{currentTag}} of the npm package"
|
||||||
|
245
CHANGELOG.md
245
CHANGELOG.md
@ -3,6 +3,251 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [7.1.2](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.1.1...v7.1.2) (2024-08-20)
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Use full encoded topic iri in streaming http receiveFrom url template ([3e8365b](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3e8365bb2613737fb28c376b5967a351a1300432))
|
||||||
|
|
||||||
|
## [7.1.1](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.1.0...v7.1.1) (2024-08-07)
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Ensure streaming HTTP streams the whole notification in a single chunk ([3dd8602](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3dd8602acce892b36d1ecaf584c938032e754213))
|
||||||
|
|
||||||
|
### Chores
|
||||||
|
|
||||||
|
* Increase jest timeout ([e15c59c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e15c59c157882181340fa87a7116b5b34252a79b))
|
||||||
|
* Use correct markdownlint-cli2 fix command ([b93aa31](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b93aa31c932935c21f1e3666fdab3d0947a645eb))
|
||||||
|
* Depend on external eslint package ([46f5fc2](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/46f5fc239efa794f5309834fa818d17c96f83bd1))
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* Update server architecture documentation ([9c44f37](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9c44f375f2537fa0277a6c6831c63c1c1cfc5373))
|
||||||
|
* Explain oidc.json ([73619fd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/73619fda056d5a9b0b0fac271f29fbced0424169))
|
||||||
|
* Explain WAC vs ACP ([ab41967](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/ab419674df5a92054128588747c3abc06086c3ab))
|
||||||
|
* Explain the provided configs ([ed6f2ec](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/ed6f2ec8e953e84efa6701482d00f616cf6ecbc2))
|
||||||
|
* Add test instructions to documentation ([3aa28fa](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3aa28fa03b4d1324998e7f6a5ebe5788d0e6b2c9))
|
||||||
|
* Add more explicit installation instructions ([e45bce8](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e45bce89aabc95b34ecbefcf46f899a88e60cfef))
|
||||||
|
* Add missing index for starting the server ([d350c14](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/d350c140fd184d33cbaf6880b9d4b1476d1ffb7c))
|
||||||
|
* Add HTTP streaming notification option to docs ([556899d](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/556899dbdbf3bb285de71225d156c4891dce23a9))
|
||||||
|
|
||||||
|
## [7.1.0](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.5...v7.1.0) (2024-05-24)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Add support for StreamingHTTPChannel2023 notifications ([cb38613](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/cb38613b4cea7f4e808b30a69f1d9aecbb9506e2))
|
||||||
|
* Store original target in error metadata ([419312e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/419312ee5f4790881a5d101afea7ab6ca88f5e61))
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Fix .nvmrc version ([0749963](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/07499631b44154fd24d3fd8fd704df34dfca0d0a))
|
||||||
|
* Combine metadata with data when generating resources ([e20efac](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e20efac3eaa79b2ed8b09cd72a7f8f0d85655894))
|
||||||
|
* Make `getParentContainer` work with query parameters ([0998970](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/099897013c4ea014212495965d4972e5078ed406))
|
||||||
|
* Do not reuse the same error in StaticThrowHandler ([f73dfb3](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f73dfb31c0fe132524323acf6c4f4636bcd8bc80))
|
||||||
|
* Make allow headers more accurate ([5e60000](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/5e600006819ae1cf1f8edf804218aee700c59bae))
|
||||||
|
* Expose auxiliary links on errors ([d7078ad](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/d7078ad69261566c44e38d1bb19142fb8bd4dd0f))
|
||||||
|
|
||||||
|
### Refactors
|
||||||
|
|
||||||
|
* Simplify eslint configs ([cac70b1](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/cac70b1f88dcbbb3ebbe0b8e0b082ead4ab27b33))
|
||||||
|
|
||||||
|
## [7.0.5](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.4...v7.0.5) (2024-03-25)
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Allow path segments to start with 2 or more dots ([6fe6b6e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6fe6b6ec89cfa3c1005ca4cf2219fc77de3fb975))
|
||||||
|
* Add priorities to RDF types when converting ([33e9ae4](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/33e9ae41916c9de0638709b02c42936e53d49414))
|
||||||
|
* Extract root as possible pod when using subdomains ([8fff08a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/8fff08a9b60a11c7a7f313c540d9f28a2f96ebc0))
|
||||||
|
* Prevent error when switching accounts ([68975e6](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/68975e6627416c248d82150692199db8a5fd0d31))
|
||||||
|
* Keep content-type when using metadata templates ([137027e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/137027e421da9ffa2d2bbc23c08b2a47d4abd328))
|
||||||
|
|
||||||
|
## [7.0.4](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.3...v7.0.4) (2024-02-07)
|
||||||
|
|
||||||
|
### Chores
|
||||||
|
|
||||||
|
* Replace rdf-js import with @rdfjs/types ([e09b53b](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e09b53b20de0e389715d299466a1e1101579dd07))
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
* Remove workaround for authn library ([7d57359](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7d573596139283637cf2d1e99d44cb2130268811))
|
||||||
|
|
||||||
|
## [7.0.3](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.2...v7.0.3) (2024-01-05)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Support default mainModulePath when creating App ([c6ec45c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/c6ec45c7c0fb91a1c1365e9a0139e4fdaf8838d6))
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Encode WebID ownership tokens ([277a0d0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/277a0d0ab724074ed96940836ecc973a8533c538))
|
||||||
|
* Fix pod base URL in README template ([4e7929f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/4e7929f6d2b72fbb0a03e8f6e64955239f41c837))
|
||||||
|
* Only require append when creating with PUT ([a0b7ee4](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/a0b7ee42f3a39cdd8fe2dbf1470e53f57ea62aba))
|
||||||
|
|
||||||
|
### Chores
|
||||||
|
|
||||||
|
* Remove Docker arm builds ([648ce1f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/648ce1fba8737dc7a008ff987de161e5902f9d09))
|
||||||
|
* Update linting dependency ([3a9b0d6](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3a9b0d69f01d6f0490983eda4ff8000798e10dcc))
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* Explain how to use AppRunner to start a server instance ([716c3c3](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/716c3c308933a10382d6726a70b5b77a62cfb787))
|
||||||
|
* Explain that users need to log in for client credentials ([dca71bc](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/dca71bc5b82a9790d861babdcb1dd231c99dd042))
|
||||||
|
* Fix links ([1f88864](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/1f888645d6619e253082f4bf0ed20e7ae4e4c38b))
|
||||||
|
* Describe server feature set ([c64a1a2](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/c64a1a241ddd975f22eb223d545c938dfc8cb63c))
|
||||||
|
* Fix Typo `is -> if` ([355f7dd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/355f7dd1c7b9be14c3e243acb5c4634f3a800442))
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
* Run tests on Node 21 ([8f74fc8](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/8f74fc82ad8a611bf96c293748bc5c01c859cdeb))
|
||||||
|
|
||||||
|
## [7.0.2](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.1...v7.0.2) (2023-11-20)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Add index signature to Credentials ([86f4592](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/86f45923ba6cc696615a98a5fbc8f13a525e4745))
|
||||||
|
* Pass requestedModes metadata on 401 ([58daeb6](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/58daeb684f6e84fa0950d0ea5d9827881ba136c2))
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Add query parameter to static resources ([5f85441](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/5f85441b6e23a2bd2b3e1f3ef116a4868d5f9614))
|
||||||
|
* Update resource size in ConstantConverter ([6c30a25](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6c30a2512bd30bf52deb4526d13416016004646f))
|
||||||
|
* Prevent errors in JSON storage when data is invalid ([4318479](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/43184791545bbf6fe8a840de07616fca8f3b7f97))
|
||||||
|
* Prevent errors during migration for invalid JSON ([2f928bd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/2f928bd2d4c8d4385bca4554ad0ed19cc5aaa770))
|
||||||
|
* Disable submit buttons until form data is loaded ([1597a5a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/1597a5a5782ca5b574c42ab3bab3d01de89ccf02))
|
||||||
|
* Undo util.js errors introduced when changing lint settings ([261c3d0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/261c3d05a6b446442f2ca5a4a0803363d1cb9021))
|
||||||
|
|
||||||
|
### Chores
|
||||||
|
|
||||||
|
* Update to TypeScript 5.2.2 ([edbf895](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/edbf895505d625d59404b82807616eebca757040))
|
||||||
|
* Fix Dockerfile to Node v18 to prevent build issues ([9cc4a9c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9cc4a9ce4d786e76c54d126754271eb2ec1355a5))
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* Explain storage/location import options ([01623e0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/01623e0b5c58d77add4ab3e2a1a9082897ad5948))
|
||||||
|
* Fix outdated information in IDP documentation ([#1773](https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1773)) ([15a929a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/15a929a87e4ce00c0ed266e296405c8e4a22d4a7))
|
||||||
|
* Explain the patching store in-depth ([4d05fe4](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/4d05fe4315e282d6e1ec19af01b185cb21cab29c))
|
||||||
|
|
||||||
|
### Refactors
|
||||||
|
|
||||||
|
* Replace linting configurations ([6248ed0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6248ed093813e95255f031eb8fcc37e4d869235c))
|
||||||
|
|
||||||
|
## [7.0.1](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v7.0.0...v7.0.1) (2023-10-20)
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Remove duplicate identifier reference when disabling accounts ([f1fdbb0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f1fdbb05b2575a56dbab4ed9ba38e8d31cfa65d8))
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* Fix incorrect variable in documentation ([61b8d4a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/61b8d4a7e85c16580158f06cf25b6c3059ffe224))
|
||||||
|
* Update v6 references ([762d703](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/762d703df7d0f178cdbd0b53b21ef7ef9b2d4919))
|
||||||
|
|
||||||
|
## [7.0.0](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.1.0...v7.0.0) (2023-10-19)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Add config option to enable account and pod creation ([9321add](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9321addafa7a63d42a1c11415a55af3e9c695e08))
|
||||||
|
* Update migration to clear all old non-account data ([9daeaf8](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9daeaf89ace822d8283a7a75b0d300628ab573d3))
|
||||||
|
* Use new MaxKeyLengthStorage to prevent keys that are too long ([b5a61cb](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b5a61cbb08bc03a1e73ee713dde12921a6bfb515))
|
||||||
|
* Remove base64 encoding from storages ([e1c5189](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e1c5189cb809727ae1f97cc4a435baa6a60058e6))
|
||||||
|
* Support all notification methods in all default configs ([b54c6b9](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b54c6b97b7931932ce0c9ed7e9d4fc42cb27156b))
|
||||||
|
* Add support for initializing a server with a root pod ([864dd7c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/864dd7c2e015d33ef6535e7c3e882bc108bda224))
|
||||||
|
* Link to the account page in the pod README ([764b392](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/764b392b2b53b588dfb1cfce97e9ad677fe02aac))
|
||||||
|
* Update configurations so ldp/accounts/oidc can be disabled ([010017a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/010017a14176246d6a792f89b701c9a8655b70bb))
|
||||||
|
* Add migration for v6 account data ([0ac7d40](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/0ac7d407bfef2d880c59bc8fd1d809e69113d5f6))
|
||||||
|
* Allow ConditionalHandler to set the expected value ([fedd9e0](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/fedd9e04d8dd82b8eb4d1f8dac57ff65c0a96a6f))
|
||||||
|
* Create PodCreator class to contain most pod creation logic ([42a1ca7](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/42a1ca7b645d537b5539827e44f668d46b3ede38))
|
||||||
|
* Add support for pod owners ([cd07338](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/cd07338ce7132d84c8c18f9f6d935026cebc039e))
|
||||||
|
* Use IndexedStorage to store account data ([4230db5](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/4230db50382b05e454e27b28e7b8be3ac4858fed))
|
||||||
|
* Full rework of account management ([a47f523](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/a47f5236ef651dd8eaeb344fd83c7ef82f9730ac))
|
||||||
|
* Move storage location decision to separate import ([ade977b](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/ade977bb4f86ae000cd70eec4b00e064f5bd7c4b))
|
||||||
|
* Remove setup ([5eff035](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/5eff035cb3095b43bf76e35dd55abf6e299d02ba))
|
||||||
|
* Update StaticAssetHandler to allow for easier overrides ([ea83ea5](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/ea83ea59a11ff127c21f33d111bd0ceb75460a25))
|
||||||
|
* Update oidc-provider to v8 ([7024ee9](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7024ee9a583144c223078ebac0f6685b704dac57))
|
||||||
|
* Introduce IndexedStorage for a more extensive storage solution ([3ade2ad](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3ade2ad795598a109a96f546e0512b116d66bc2f))
|
||||||
|
* Split up EncodingPathStorage functionality into different classes ([154d981](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/154d98168498a786368f75a01f51b902b8958ee8))
|
||||||
|
* Use ETagHandler for ETag generation and comparison ([afcbfda](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/afcbfdaacfb767d5cddefd90af5998158c44f727))
|
||||||
|
* Store ETag in metadata ([b608080](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b608080d5f23a1326932b2b2c476db660e2dab2e))
|
||||||
|
* Add error causes to error serializations ([0245b31](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/0245b31e0c650d72190c467546bf0b40a62d800c))
|
||||||
|
* Add metadata to errors ([f373dff](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f373dff1d7185e71c3d9aa49d2b116cfe4b2dbcc))
|
||||||
|
* StaticAssetHandler can link a container to a document ([36ff95e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/36ff95e6b289c854635e4a842a8550d9ee88ef24))
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Ensure setup values are migrated correctly ([7a44581](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7a44581406689c3ee3c6477832f7aa3bf4b76c8d))
|
||||||
|
* Be consistent in slash usage in storages ([f954fc9](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f954fc94509266c7a7e47ba27ee768888bd1034f))
|
||||||
|
* Encode notification keys before accessing the storage ([16378ec](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/16378ec4708ca39975a6a092b08ca0f3126583f4))
|
||||||
|
* Make sure stored tokens expire ([7504817](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/75048172dfc495c2ae621b04247295aefe60b136))
|
||||||
|
* Update generated keys in ExpiringAdapterFactory to prevent overlap ([2914fd7](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/2914fd7d6028532f3e9239643047bcc1a421ce3c))
|
||||||
|
* Fix issue in warning on pod settings HTML page ([7684198](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7684198b53e3f00a2de6f302a11ca3029176ba40))
|
||||||
|
* Add links on account page ([3bfd9e3](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3bfd9e329829176ec339edaf8165e03bedd3875f))
|
||||||
|
* Rename cookie field to authorization ([307dba3](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/307dba3219c15cd094d732e61f8f7e849fd72790))
|
||||||
|
* Update supported DPoP algorithms to run CTH ([1e3684b](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/1e3684bcf3061d318768e1341acb04485123a906))
|
||||||
|
* Add workaround for authn library issue ([180d5f1](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/180d5f131e4498b91fb71a9e2e88cdfd7820e8aa))
|
||||||
|
* Use local file for oidc-provider typings ([b3ef4ed](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/b3ef4ed017a5630b85a76420c1d69fa06fc2b59c))
|
||||||
|
* Return WAC-Allow header in 304 responses ([43e8ef9](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/43e8ef99b0b5179715453d94168bef77576ad272))
|
||||||
|
* Return ETag in 304 responses ([baa6498](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/baa64987c6af92fb3964506c9a19d4b251a8f227))
|
||||||
|
* Add missing error causes ([7505f07](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/7505f07f2fb7f9972e31f445fcd078590f1f0481))
|
||||||
|
* Make all ways to start the server more consistent ([e921d62](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e921d62630660dab9317ade1fb5583929eeb9f8a))
|
||||||
|
|
||||||
|
### Chores
|
||||||
|
|
||||||
|
* Make Node v18 the minimum supported version ([e0c1bae](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e0c1baeb437b64966f74edcdc37719e6945043f2))
|
||||||
|
* Test Node v20 ([43be71e](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/43be71e4a2ed73ad0ca106431aa0af43a3ccc1be))
|
||||||
|
|
||||||
|
### Refactors
|
||||||
|
|
||||||
|
* Use one identifier to reference main template engine ([92a0856](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/92a0856da6066b58d3c7a1437feadbf9f64abf76))
|
||||||
|
* Sort default config imports ([851eafd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/851eafd1d15c12cd46b1c240f7702a35b1f042d9))
|
||||||
|
* Move single IDP configurations into one folder ([862ac48](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/862ac4867bad57694b4a2b565b5aaf94b332c277))
|
||||||
|
* Rename WebIdAdapterFactory to ClientIdAdapterFactory ([607c04f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/607c04ff286a9842e12c750fcdf87b903a838f8a))
|
||||||
|
* Rename WebHook to Webhook ([531c299](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/531c299c7bc4d710361cedf5e8747835d62b2820))
|
||||||
|
* Move condition classes to separate folder ([5ec6edd](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/5ec6eddbfab57f88b92861d1f0a8ee6034a55526))
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
* Workaround for Jest dynamic import issues ([cccca96](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/cccca96d28919338596b1a3690177e4b6427c85f))
|
||||||
|
* Workaround for Jest ESM issues ([bfa70a4](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/bfa70a40aa72d3db0347dbc6e28445a3d1499e64))
|
||||||
|
* Remove test tmp folder after all tests are finished ([9bf7348](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9bf734817deaaf3e06b0eccac2423092bd1427c5))
|
||||||
|
* Stop cleaning up folders after quota test to prevent CI issues ([3a57e88](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3a57e88229bafce23b4165ef15ebdfb1a1826b55))
|
||||||
|
|
||||||
|
## [6.1.0](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.0.2...v6.1.0) (2023-10-05)
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Track binary size of resources when possible ([71e5569](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/71e55690f3418be3d08e35d2cd3aeae5a0634654))
|
||||||
|
* Add support for range headers ([3e9adef](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/3e9adef4cf00d0776c0d371f835a31511db7427b))
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Prevent error when creating a root pod([da46bec](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/da46becf7a087118e7d682a193d00a3ca6c32eab))
|
||||||
|
* Remove URL encoding from base64 strings before decoding ([d31393f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/d31393f4751dd3f023110ead4e47a01ac15da2af))
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* Simplify README by pointing to our docs. ([d618f97](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/d618f9781af80b1697d5fe23f50e3f186954792b))
|
||||||
|
* Add starting guide. ([e424b84](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/e424b8488261bc8942d82a7fe2d92a94650e93b9))
|
||||||
|
* Add quick start to README. ([1fa6d24](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/1fa6d248a2e500c025794f4e3ed6cc504ed77f10))
|
||||||
|
|
||||||
|
## [6.0.2](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.0.1...v6.0.2) (2023-08-30)
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
* Have FixedContentTypeMapper ignore .meta ([9e682f5](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9e682f5c4f8ecd222ae633137ca455b1b9c5ce16))
|
||||||
|
* Ignore invalid header parts ([9c2c5ed](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/9c2c5edaf514fe84594024710c03ab3b7b0fbed1))
|
||||||
|
* Do not show PUT in Allow header for existing containers ([6f6784a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6f6784a28873c1a8a71bc8a6a37b634677109f02))
|
||||||
|
* Store activity streams context locally ([a47cc8a](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/a47cc8a5eef4d0dd963f85d0ad0e4746ada48e19))
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
|
||||||
|
* Clear test data folder before running tests ([6fc3f2c](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/6fc3f2cf4f23ffde40ba88305c4c67bf39b73e10))
|
||||||
|
* Enable file locker in notification tests ([f419f2f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/f419f2f28d664fad6d6e16cf89a6ebbd7d0f0052))
|
||||||
|
|
||||||
|
### Chores
|
||||||
|
|
||||||
|
* Name HTTP handlers ([937c41f](https://github.com/CommunitySolidServer/CommunitySolidServer/commit/937c41fd17d553ddfc0d8f140867c252ec113ccb))
|
||||||
|
|
||||||
## [6.0.1](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.0.0...v6.0.1) (2023-06-15)
|
## [6.0.1](https://github.com/CommunitySolidServer/CommunitySolidServer/compare/v6.0.0...v6.0.1) (2023-06-15)
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
# Code of conduct
|
# Code of Conduct
|
||||||
|
|
||||||
We follow and adhere to the Solid [Code of Conduct](https://github.com/solid/process/blob/main/code-of-conduct.md).
|
For our Code of Conduct, we follow and adhere to the Solid [Code of Conduct](https://github.com/solid/process/blob/main/code-of-conduct.md),
|
||||||
|
but with a different Committee, which should be contacted in the case of violations.
|
||||||
|
|
||||||
|
The Committee consists of the following people:
|
||||||
|
|
||||||
|
* Joachim Van Herwegen <joachim.vanherwegen@ugent.be>
|
||||||
|
* Ruben Verborgh <ruben.verborgh@ugent.be>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Build stage
|
# Build stage
|
||||||
FROM node:lts-alpine AS build
|
FROM node:18-alpine AS build
|
||||||
|
|
||||||
# Set current working directory
|
# Set current working directory
|
||||||
WORKDIR /community-server
|
WORKDIR /community-server
|
||||||
@ -13,7 +13,7 @@ RUN npm ci --unsafe-perm && npm run build
|
|||||||
|
|
||||||
|
|
||||||
# Runtime stage
|
# Runtime stage
|
||||||
FROM node:lts-alpine
|
FROM node:18-alpine
|
||||||
|
|
||||||
# Add contact informations for questions about the container
|
# Add contact informations for questions about the container
|
||||||
LABEL maintainer="Solid Community Server Docker Image Maintainer <thomas.dupont@ugent.be>"
|
LABEL maintainer="Solid Community Server Docker Image Maintainer <thomas.dupont@ugent.be>"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright © 2019–2023 Inrupt Inc. and imec
|
Copyright © 2019–2024 Inrupt Inc. and imec
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
147
README.md
147
README.md
@ -23,156 +23,47 @@ the Community Solid Server is a great companion:
|
|||||||
|
|
||||||
- 🧑🏽 **for people** who want to try out having their own Pod
|
- 🧑🏽 **for people** who want to try out having their own Pod
|
||||||
|
|
||||||
- 👨🏿💻 **for developers** who want to create and test Solid apps
|
- 👨🏿💻 **for developers** who want to quickly create and test Solid apps
|
||||||
|
|
||||||
- 👩🏻🔬 **for researchers** who want to design new features for Solid
|
- 👩🏻🔬 **for researchers** who want to design new features for Solid
|
||||||
|
|
||||||
And, of course, for many others who like to experience Solid.
|
And, of course, for many others who like to experience Solid.
|
||||||
|
|
||||||
You can install the software locally or on your server
|
## ⚡ Running the Community Solid Server
|
||||||
and get started with Solid immediately.
|
|
||||||
|
|
||||||
## ⚡ Running the server
|
Make sure you have [Node.js](https://nodejs.org/en/) 18.0 or higher.
|
||||||
|
If this is your first time using Node.js,
|
||||||
To run the server, you will need [Node.js](https://nodejs.org/en/).
|
you can find instructions on how to do this [here](https://nodejs.org/en/download/package-manager).
|
||||||
We support versions 14.14 and up.
|
|
||||||
|
|
||||||
If you do not use Node.js,
|
|
||||||
you can run a [Docker](https://www.docker.com/) version instead.
|
|
||||||
|
|
||||||
### 💻 Installing and running locally
|
|
||||||
|
|
||||||
After installing Node.js,
|
|
||||||
install the latest server version
|
|
||||||
from the [npm package repository](https://www.npmjs.com/):
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
npm install -g @solid/community-server
|
npx @solid/community-server
|
||||||
```
|
```
|
||||||
|
|
||||||
To run the server with in-memory storage, use:
|
Now visit your brand new server at [http://localhost:3000/](http://localhost:3000/)!
|
||||||
|
|
||||||
|
To persist your pod's contents between restarts, use:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
community-solid-server # add parameters if needed
|
npx @solid/community-server -c @css:config/file.json -f data/
|
||||||
```
|
```
|
||||||
|
|
||||||
To run the server with your current folder as storage, use:
|
In case you prefer to use Docker instead,
|
||||||
|
you can find instructions for this and other methods in the
|
||||||
|
[documentation](https://communitysolidserver.github.io/CommunitySolidServer/latest/usage/starting-server/).
|
||||||
|
|
||||||
```shell
|
## 🔧 Configure your server
|
||||||
community-solid-server -c @css:config/file.json
|
|
||||||
```
|
|
||||||
|
|
||||||
### 📃 Installing and running from source
|
Substantial changes to server behavior can be achieved via JSON configuration files.
|
||||||
|
|
||||||
If you rather prefer to run the latest source code version,
|
|
||||||
or if you want to try a specific [branch](https://www.npmjs.com/) of the code,
|
|
||||||
you can use:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
git clone https://github.com/CommunitySolidServer/CommunitySolidServer.git
|
|
||||||
cd CommunitySolidServer
|
|
||||||
npm ci
|
|
||||||
npm start -- # add parameters if needed
|
|
||||||
```
|
|
||||||
|
|
||||||
### 📦 Running via Docker
|
|
||||||
|
|
||||||
Docker allows you to run the server without having Node.js installed. Images are built on each tagged version and hosted
|
|
||||||
on [Docker Hub](https://hub.docker.com/r/solidproject/community-server).
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# Clone the repo to get access to the configs
|
|
||||||
git clone https://github.com/CommunitySolidServer/CommunitySolidServer.git
|
|
||||||
cd CommunitySolidServer
|
|
||||||
# Run the image, serving your `~/Solid` directory on `http://localhost:3000`
|
|
||||||
docker run --rm -v ~/Solid:/data -p 3000:3000 -it solidproject/community-server:latest
|
|
||||||
# Or use one of the built-in configurations
|
|
||||||
docker run --rm -p 3000:3000 -it solidproject/community-server -c config/default.json
|
|
||||||
# Or use your own configuration mapped to the right directory
|
|
||||||
docker run --rm -v ~/solid-config:/config -p 3000:3000 -it solidproject/community-server -c /config/my-config.json
|
|
||||||
# Or use environment variables to configure your css instance
|
|
||||||
docker run --rm -v ~/Solid:/data -p 3000:3000 -it -e CSS_CONFIG=config/file-no-setup.json -e CSS_LOGGING_LEVEL=debug solidproject/community-server
|
|
||||||
```
|
|
||||||
|
|
||||||
### 🗃️ Helm Chart
|
|
||||||
|
|
||||||
The official [Helm](https://helm.sh/) Chart for Kubernetes deployment is maintained at
|
|
||||||
[CommunitySolidServer/css-helm-chart](https://github.com/CommunitySolidServer/css-helm-chart) and published on
|
|
||||||
[ArtifactHUB](https://artifacthub.io/packages/helm/community-solid-server/community-solid-server).
|
|
||||||
There you will find complete installation instructions.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# Summary
|
|
||||||
helm repo add community-solid-server https://communitysolidserver.github.io/css-helm-chart/charts/
|
|
||||||
helm install my-css community-solid-server/community-solid-server
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🔧 Configuring the server
|
|
||||||
|
|
||||||
The Community Solid Server is designed to be flexible
|
|
||||||
such that people can easily run different configurations.
|
|
||||||
This is useful for customizing the server with plugins,
|
|
||||||
testing applications in different setups,
|
|
||||||
or developing new parts for the server
|
|
||||||
without needing to change its base code.
|
|
||||||
|
|
||||||
### ⏱ Parameters
|
|
||||||
|
|
||||||
An easy way to customize the server is
|
|
||||||
by passing parameters to the server command.
|
|
||||||
These parameters give you direct access
|
|
||||||
to some commonly used settings:
|
|
||||||
|
|
||||||
| parameter name | default value | description |
|
|
||||||
|-------------------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| `--port, -p` | `3000` | The TCP port on which the server should listen. |
|
|
||||||
| `--baseUrl, -b` | `http://localhost:$PORT/` | The base URL used internally to generate URLs. Change this if your server does not run on `http://localhost:$PORT/`. |
|
|
||||||
| `--socket` | | The Unix Domain Socket on which the server should listen. `--baseUrl` must be set if this option is provided |
|
|
||||||
| `--loggingLevel, -l` | `info` | The detail level of logging; useful for debugging problems. Use `debug` for full information. |
|
|
||||||
| `--config, -c` | `@css:config/default.json` | The configuration(s) for the server. The default only stores data in memory; to persist to your filesystem, use `@css:config/file.json` |
|
|
||||||
| `--rootFilePath, -f` | `./` | Root folder where the server stores data, when using a file-based configuration. |
|
|
||||||
| `--sparqlEndpoint, -s` | | URL of the SPARQL endpoint, when using a quadstore-based configuration. |
|
|
||||||
| `--showStackTrace, -t` | false | Enables detailed logging on error output. |
|
|
||||||
| `--podConfigJson` | `./pod-config.json` | Path to the file that keeps track of dynamic Pod configurations. Only relevant when using `@css:config/dynamic.json`. |
|
|
||||||
| `--seededPodConfigJson` | | Path to the file that keeps track of seeded Pod configurations. |
|
|
||||||
| `--mainModulePath, -m` | | Path from where Components.js will start its lookup when initializing configurations. |
|
|
||||||
| `--workers, -w` | `1` | Run in multithreaded mode using workers. Special values are `-1` (scale to `num_cores-1`), `0` (scale to `num_cores`) and 1 (singlethreaded). |
|
|
||||||
|
|
||||||
### 🔀 Multithreading
|
|
||||||
|
|
||||||
The Community Solid Server can be started in multithreaded mode with any config. The config must only contain components
|
|
||||||
that are threadsafe though. If a non-threadsafe component is used in multithreaded mode, the server will describe with
|
|
||||||
an error which class is the culprit.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# Running multithreaded with autoscaling to number of logical cores minus 1
|
|
||||||
npm start -- -c config/file.json -w -1
|
|
||||||
```
|
|
||||||
|
|
||||||
### 🖥️ Environment variables
|
|
||||||
|
|
||||||
Parameters can also be passed through environment variables.
|
|
||||||
|
|
||||||
They are prefixed with `CSS_` and converted from `camelCase` to `CAMEL_CASE`
|
|
||||||
|
|
||||||
> eg. `--showStackTrace` => `CSS_SHOW_STACK_TRACE`
|
|
||||||
|
|
||||||
**Note: command-line arguments will always override environment variables!**
|
|
||||||
|
|
||||||
### 🧶 Custom configurations
|
|
||||||
|
|
||||||
More substantial changes to server behavior can be achieved
|
|
||||||
by writing new configuration files in JSON-LD.
|
|
||||||
The Community Solid Server uses [Components.js](https://componentsjs.readthedocs.io/en/latest/)
|
The Community Solid Server uses [Components.js](https://componentsjs.readthedocs.io/en/latest/)
|
||||||
to specify how modules and components need to be wired together at runtime.
|
to specify how modules and components need to be wired together at runtime.
|
||||||
|
|
||||||
Examples and guidance on configurations
|
Recipes for configuring the server can be found at [CommunitySolidServer/recipes](https://github.com/CommunitySolidServer/recipes).
|
||||||
|
|
||||||
|
Examples and guidance on custom configurations
|
||||||
are available in the [`config` folder](https://github.com/CommunitySolidServer/CommunitySolidServer/tree/main/config),
|
are available in the [`config` folder](https://github.com/CommunitySolidServer/CommunitySolidServer/tree/main/config),
|
||||||
and the [configurations tutorial](https://github.com/CommunitySolidServer/tutorials/blob/main/custom-configurations.md).
|
and the [configurations tutorial](https://github.com/CommunitySolidServer/tutorials/blob/main/custom-configurations.md).
|
||||||
There is also a [configuration generator](https://communitysolidserver.github.io/configuration-generator/).
|
There is also a [configuration generator](https://communitysolidserver.github.io/configuration-generator/).
|
||||||
|
|
||||||
Recipes for configuring the server can be found at [CommunitySolidServer/recipes](https://github.com/CommunitySolidServer/recipes).
|
|
||||||
|
|
||||||
## 👩🏽💻 Developing server code
|
## 👩🏽💻 Developing server code
|
||||||
|
|
||||||
The server allows writing and plugging in custom modules
|
The server allows writing and plugging in custom modules
|
||||||
@ -195,4 +86,6 @@ and available under the [MIT License](https://github.com/CommunitySolidServer/C
|
|||||||
Don't hesitate to [start a discussion](https://github.com/CommunitySolidServer/CommunitySolidServer/discussions)
|
Don't hesitate to [start a discussion](https://github.com/CommunitySolidServer/CommunitySolidServer/discussions)
|
||||||
or [report a bug](https://github.com/CommunitySolidServer/CommunitySolidServer/issues).
|
or [report a bug](https://github.com/CommunitySolidServer/CommunitySolidServer/issues).
|
||||||
|
|
||||||
|
There's also [a Matrix-based, CSS-focused chat](https://matrix.to/#/#CommunitySolidServer_community:gitter.im)
|
||||||
|
|
||||||
Learn more about Solid at [solidproject.org](https://solidproject.org/).
|
Learn more about Solid at [solidproject.org](https://solidproject.org/).
|
||||||
|
@ -1,5 +1,103 @@
|
|||||||
# Community Solid Server release notes
|
# Community Solid Server release notes
|
||||||
|
|
||||||
|
## v7.0.0
|
||||||
|
|
||||||
|
### New features
|
||||||
|
|
||||||
|
- The minimum supported Node version is now v18.
|
||||||
|
- Account management and everything related to it have been drastically changed,
|
||||||
|
see the [usage documentation](https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/identity-provider/)
|
||||||
|
for an overview of the new features,
|
||||||
|
and the [architecture documentation](http://communitysolidserver.github.io/CommunitySolidServer/7.x/architecture/features/accounts/overview/)
|
||||||
|
for an overview of the new structure.
|
||||||
|
On a default server, the entry point for everything related to accounts is <http://localhost:3000/.account/>.
|
||||||
|
Creating an account now requires multiple steps, but allows you to have multiple pods or WebIDs for 1 account.
|
||||||
|
The architecture has been updated to be more easily extensible.
|
||||||
|
- Pod seeding has been updated to account for the new account management, with an updated CLI parameter `--seedConfig`,
|
||||||
|
see the [updated documentation](https://communitysolidserver.github.io/CommunitySolidServer/7.x/usage/seeding-pods/)
|
||||||
|
for more details.
|
||||||
|
- Migration was added to update account data automatically from previous versions. See below for more details.
|
||||||
|
- Due to the changes in account management, setup has been removed completely.
|
||||||
|
The `*-no-setup.json` configurations have been renamed to `*-root.json` to indicate their focus on the root container.
|
||||||
|
- The `StaticAssetHandler` can now be used to link static pages to containers.
|
||||||
|
This can be used to set a static page for the root container of a server.
|
||||||
|
See the `/config/app/init/static-root.json` config for an example.
|
||||||
|
|
||||||
|
### Data migration
|
||||||
|
|
||||||
|
Old internal data will need to be migrated.
|
||||||
|
When starting the server for the first time after updating the version,
|
||||||
|
this will happen automatically.
|
||||||
|
A prompt will be shown to confirm.
|
||||||
|
It is advised to first backup the internal data in case something goes wrong.
|
||||||
|
When using the filesystem backend with default storage options,
|
||||||
|
these can be found in the `.internal` folder.
|
||||||
|
|
||||||
|
Only account data will be migrated,
|
||||||
|
other internal data such as OIDC sessions and notification subscriptions will be removed
|
||||||
|
as how they are stored has changed as well.
|
||||||
|
This means existing tokens and sessions will be invalidated and users will have to log in again.
|
||||||
|
Notifications will have to be resubscribed to for the same reason.
|
||||||
|
|
||||||
|
This migration step is based on how storage is defined in the configurations provided in this repository.
|
||||||
|
If you made drastic changes to how internal data is stored,
|
||||||
|
you might need to have a look at the `app/init/migration/v6.json` configuration.
|
||||||
|
|
||||||
|
In case the prompt causes issues, it can be skipped automatically with the `--confirmMigration` CLI option.
|
||||||
|
|
||||||
|
### Configuration changes
|
||||||
|
|
||||||
|
You might need to make changes to your v6 configuration if you use a custom config.
|
||||||
|
|
||||||
|
The `@context` needs to be updated to
|
||||||
|
`https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld`.
|
||||||
|
|
||||||
|
The following changes pertain to the imports in the default configs:
|
||||||
|
|
||||||
|
- There is a new `identity/oidc` import set that needs to be added to each config.
|
||||||
|
Options are `default.json` and `disabled.json`.
|
||||||
|
- There is a new `static-root.json` import option for `app/init`, setting a static page for the root container.
|
||||||
|
- There is a new `initialize-root-pod.json` import option for `app/init`, initializing a pod in the root.
|
||||||
|
- There are more `identity/handler` options to finetune account management availability.
|
||||||
|
- There is a new set of imports `storage/location` to determine where the root storage of the server is located.
|
||||||
|
- The `app/setup`and `identity/registration` imports have been removed.
|
||||||
|
- There is a new `ldp/handler/disabled.json` import to disable the LDP API.
|
||||||
|
|
||||||
|
The following changes are relevant for v6 custom configs that replaced certain features.
|
||||||
|
|
||||||
|
- All configurations that had a reference to setup have been updated.
|
||||||
|
- `/app/init/*` imports have changed. Functionality remained the same though.
|
||||||
|
- All imports that define storages have been updated with new storage classes.
|
||||||
|
- `/http/notifications/base/storage.json`
|
||||||
|
- `/storage/keyvalue/storages/storages.json`
|
||||||
|
- All identifiers containing the string "WebHook" have been renamed to instead use "Webhook"
|
||||||
|
to be consistent with the notification type.
|
||||||
|
- `/identity/*` configurations have drastically changed due to the account management update.
|
||||||
|
- `/http/static/default.json` has been updated to allow easier overriding of the static resources.
|
||||||
|
|
||||||
|
### Interface changes
|
||||||
|
|
||||||
|
These changes are relevant if you wrote custom modules for the server that depend on existing interfaces.
|
||||||
|
|
||||||
|
- The `AppRunner` functions to create and start the server now take a singular arguments object as input.
|
||||||
|
- Most of the key/value related storages had their constructors changed to allow more values.
|
||||||
|
- `EncodingPathStorage` has been removed
|
||||||
|
and its functionality split up over `Base64EncodingStorage` and `ContainerPathStorage`.
|
||||||
|
`HashEncodingPathStorage` has similarly been replaced by introducing `HashEncodingStorage`.
|
||||||
|
- All classes with the name `WebHook*` have been renamed to `Webhook*`
|
||||||
|
to be consistent with the corresponding notification type.
|
||||||
|
- Most classes related to the IDP have been changed.
|
||||||
|
- All classes related to setup have been removed.
|
||||||
|
- The `StaticAssetHandler` has bene updated to support the new functionality.
|
||||||
|
- `SeededPodInitializer` has been renamed to `SeededAccountInitializer`.
|
||||||
|
- `WebIdAdapterFactory` has been renamed to `ClientIdAdapterFactory`.
|
||||||
|
|
||||||
|
## v6.1.0
|
||||||
|
|
||||||
|
### New features
|
||||||
|
|
||||||
|
- Added support for HTTP Range headers.
|
||||||
|
|
||||||
## v6.0.0
|
## v6.0.0
|
||||||
|
|
||||||
### New features
|
### New features
|
||||||
|
@ -4,7 +4,9 @@ const { AppRunner } = require('..');
|
|||||||
// Attaching a logger to the uncaughtExceptionMonitor event,
|
// Attaching a logger to the uncaughtExceptionMonitor event,
|
||||||
// such that the default uncaughtException behavior still occurs.
|
// such that the default uncaughtException behavior still occurs.
|
||||||
process.on('uncaughtExceptionMonitor', (err, origin) => {
|
process.on('uncaughtExceptionMonitor', (err, origin) => {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
console.error(`Process is halting due to an ${origin} with error ${err.message}`);
|
console.error(`Process is halting due to an ${origin} with error ${err.message}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-sync
|
||||||
new AppRunner().runCliSync(process);
|
new AppRunner().runCliSync(process);
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
extends: ['@commitlint/config-conventional'],
|
extends: [ '@commitlint/config-conventional' ],
|
||||||
rules: {
|
rules: {
|
||||||
'subject-case': [
|
'subject-case': [
|
||||||
2,
|
2,
|
||||||
'never',
|
'never',
|
||||||
['start-case', 'kebab-case', 'snake-case'],
|
[ 'start-case', 'kebab-case', 'snake-case' ],
|
||||||
],
|
],
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
152
config/README.md
152
config/README.md
@ -1,67 +1,129 @@
|
|||||||
# Configuration
|
# Configuration
|
||||||
|
|
||||||
This folder contains several configurations that can be used to start up the server.
|
This folder contains several configurations that can be used to start up the server.
|
||||||
|
These can be used directly, or used as inspiration on how you would want to configure your server.
|
||||||
All those configurations are created in the same way:
|
All those configurations are created in the same way:
|
||||||
features are enabled or disabled by choosing a specific option for every component.
|
features are enabled or disabled by choosing a specific option for every component.
|
||||||
All components are represented by the subfolders found in the folders here:
|
All components are represented by the subfolders found in the folders here:
|
||||||
`ldp` contains all LDP related components,
|
`ldp` contains all LDP related components,
|
||||||
`identity` all IDP components, etc.
|
`identity` all IDP components, etc.
|
||||||
Options are then chosen by importing 1 entry from every component subfolder.
|
Options are then chosen by importing 1 entry from every component subfolder.
|
||||||
In case none of the available options have the exact feature configuration you want,
|
More information on how this can be done manually,
|
||||||
it is always possible to not choose any of them and create your own custom version instead.
|
can be found in this [tutorial](https://github.com/CommunitySolidServer/tutorials/blob/main/custom-configurations.md).
|
||||||
|
|
||||||
## How to use
|
As manually changing server options can be cumbersome,
|
||||||
|
there is also an online [configuration generator](https://communitysolidserver.github.io/configuration-generator/).
|
||||||
|
|
||||||
The easiest way to create a new config is by creating a JSON-LD file
|
Below we give an overview of the main identifying features of the configurations.
|
||||||
that imports one option from every component subfolder
|
We start with all features of the default configuration,
|
||||||
(such as either `allow-all.json` or `webacl.json` from `ldp/authorization`).
|
after which we will explain in which features the other ones differ from it.
|
||||||
In case none of the available options suffice, there are 2 other ways to handle this:
|
|
||||||
|
|
||||||
### Append to an existing config
|
## default.json
|
||||||
|
|
||||||
In case the options mostly suffice, but they just need to do a bit more,
|
This is the configuration that is used if no configuration is provided when starting the server.
|
||||||
it might be possible to append to one of the solutions.
|
It stores all data in memory, so this server is perfect for quickly trying some things out,
|
||||||
|
but not if you want a persistent server.
|
||||||
|
|
||||||
For example, in case all the existing metadata parsers can remain,
|
For authorization, it uses [Web Access Control (WAC)](https://solid.github.io/web-access-control-spec/),
|
||||||
but an additional one needs to be added,
|
it supports all [notification methods](https://solidproject.org/TR/notifications-protocol) implemented in CSS,
|
||||||
you could import `ldp/metadata-parser/default.json`
|
allows users to create accounts, pods, WebIDs, and use them for [Solid-OIDC](https://solid.github.io/solid-oidc/).
|
||||||
and then add the following in your root config:
|
|
||||||
|
|
||||||
```json
|
It is also initialized with an `index.html` page at root level,
|
||||||
{
|
with permissions set in such a way that everyone has full access to the server.
|
||||||
"@id": "urn:solid-server:default:MetadataParser",
|
|
||||||
"@type": "ParallelHandler",
|
|
||||||
"handlers": [
|
|
||||||
{ "@type": "MyNewParser" }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
This will add the new parser to the list of metadata parsers.
|
Although strictly not allowed by the Solid specification,
|
||||||
The `@id` value is needed so Components.js knows which object to add the values to,
|
this configuration allows users to both write data at root level of the server,
|
||||||
and the `@type` is needed so it can interpret the other fields (`handlers` in this case).
|
and also create pods in subcontainers.
|
||||||
|
In all other configurations only or the other (or neither) will be allowed,
|
||||||
|
but here both are enabled for maximum flexibility when testing things out.
|
||||||
|
|
||||||
Note that generally it is only advised to append to ParallelHandlers or key/value maps.
|
## file.json
|
||||||
In case the order is important this can not be guaranteed over separate files.
|
|
||||||
|
|
||||||
### Create a new option
|
The most important difference with the `default.json` configuration is that this one stores its data as files on disk,
|
||||||
|
thereby making the data persistent.
|
||||||
|
Besides that, it also prevents data from being written to the root,
|
||||||
|
the only way to add data is to create a pod and add data there.
|
||||||
|
To still show something at root level when the server is started,
|
||||||
|
a static page is shown which can not be modified using standard Solid requests.
|
||||||
|
|
||||||
If a more drastic change is required,
|
## file-acp.json
|
||||||
the solution is to not import anything from that folder but instead write your own.
|
|
||||||
|
|
||||||
For example, in case you only want the slug parser but not any of the others,
|
The only difference with `file.json`is that this uses
|
||||||
you would have to not import anything from `ldp/metadata-parser` folder,
|
[Access Control Policy (ACP)](https://solid.github.io/authorization-panel/acp-specification/)
|
||||||
but instead have the following in your root config:
|
for authorization instead of WAC.
|
||||||
|
|
||||||
```json
|
## file-root.json
|
||||||
{
|
|
||||||
"@id": "urn:solid-server:default:MetadataParser",
|
|
||||||
"@type": "ParallelHandler",
|
|
||||||
"handlers": [
|
|
||||||
{ "@type": "SlugParser" }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Don't forget that in some cases you would also have to copy some imports!
|
This configuration starts from `file.json`, but does not allow the creation of accounts.
|
||||||
The existing options can be used as inspiration.
|
Instead, it allows data to be written directly to the root of the server.
|
||||||
|
To make sure users can write data there after starting the server,
|
||||||
|
permissions have been set to grant everyone full access,
|
||||||
|
so this needs to be changed after starting the server.
|
||||||
|
|
||||||
|
## file-root-pod.json
|
||||||
|
|
||||||
|
The same idea as `file-root.json`,
|
||||||
|
but here it is done by creating an account with a pod
|
||||||
|
in the root of the server the first time it is started.
|
||||||
|
The credentials to this account are stored in the configuration so should be changed afterwards.
|
||||||
|
This has the advantage of both having your data at root level,
|
||||||
|
but also allowing you to authenticate using Solid-OIDC.
|
||||||
|
|
||||||
|
## https-file-cli.json
|
||||||
|
|
||||||
|
A variant of `file.json` that uses HTTPS of HTTP.
|
||||||
|
The required key and cert file paths need to be defined using two new CLI options: `--httpsKey` and `-httpCert`.
|
||||||
|
|
||||||
|
## example-https-file.json
|
||||||
|
|
||||||
|
Another way to define HTTPS, but this time through the configuration file itself instead of the CLI.
|
||||||
|
As can be seen in the configuration itself, two paths are defined, pointing to the key and cert files.
|
||||||
|
To actually use this solution, you need to update the paths in that file before running the server.
|
||||||
|
|
||||||
|
## sparql-endpoint.json
|
||||||
|
|
||||||
|
Sets up a server that uses a SPARQL endpoint to store the data.
|
||||||
|
Only RDF data can be stored on a server using this configuration.
|
||||||
|
For internal data, such as accounts, temporary OIDC resources, etc,
|
||||||
|
the servers uses non-RDF data formats.
|
||||||
|
While other configurations store this kind of data in the same backend as the Solid data,
|
||||||
|
this is not feasible when using a SPARQL endpoint.
|
||||||
|
For this reason, this configuration stores all that data in memory,
|
||||||
|
meaning this solution should not be used if you want persistent accounts.
|
||||||
|
|
||||||
|
## sparql-endpoint-root.json
|
||||||
|
|
||||||
|
This differs from `sparql-endpoint.json` in the same way as `file-root.json` differs from `file.json`.
|
||||||
|
|
||||||
|
## sparql-file-storage.json
|
||||||
|
|
||||||
|
Similar to `sparql-endpoint.json` with the main difference being
|
||||||
|
that here internal data is stored on disk instead of in memory.
|
||||||
|
|
||||||
|
## memory-subdomains.json
|
||||||
|
|
||||||
|
A memory-based server whose main differentiating feature is how pod URLs are constructed.
|
||||||
|
In most other configurations, pods are created by appending the chosen name to the base URL of the server,
|
||||||
|
so for a server running at `http://example.com/`,
|
||||||
|
choosing the name `test` for your pod would result in `http://example.com/test/`.
|
||||||
|
With this configuration, the name is used as a subdomain of the url instead,
|
||||||
|
so the above values would result in a pod at `http://test.example.com/` instead.
|
||||||
|
|
||||||
|
## quota-file.json
|
||||||
|
|
||||||
|
A file-based server that limits the amount of data a user can put in a pod.
|
||||||
|
The values in the configuration determine the limit.
|
||||||
|
|
||||||
|
## path-routing.json
|
||||||
|
|
||||||
|
This configuration serves as an example of how a server can be configured
|
||||||
|
to serve data from different backends depending on the URL that is used.
|
||||||
|
In this example, all data in the `/sparql/` container will be stored in a SPARQL backend,
|
||||||
|
and similarly for `/memory/` and `/file/`.
|
||||||
|
|
||||||
|
## oidc.json
|
||||||
|
|
||||||
|
A configuration that sets up the server to only function as an Identity Provider.
|
||||||
|
It does not support creating pods or storing data on the server,
|
||||||
|
the only available options are creating accounts and linking them to WebIDs.
|
||||||
|
This way the server can be used to identify those WebIDs during an OIDC interaction.
|
||||||
|
@ -8,8 +8,13 @@ Contains a list of initializer that need to be run when starting the server.
|
|||||||
|
|
||||||
* *default*: The default setup. The ParallelHandler can be used to add custom Initializers.
|
* *default*: The default setup. The ParallelHandler can be used to add custom Initializers.
|
||||||
* *initialize-root*: Makes sure the root container has the necessary resources to function properly.
|
* *initialize-root*: Makes sure the root container has the necessary resources to function properly.
|
||||||
This is only relevant if setup is disabled but root container access is still required.
|
* *initialize-prefilled-root*: Similar to `initialize-root` but adds an index page to the root container.
|
||||||
* *initialize-prefilled-root*: Similar to `initialize-root` but adds some introductory resources to the root container.
|
* *initialize-intro*: Similar to `initialize-prefilled-root` but adds an index page
|
||||||
|
specific to the memory-based server of the default configuration.
|
||||||
|
* *initialize-root-pod*: Initializes the server with a pod in the root.
|
||||||
|
Email and password have not yet been set and need to be defined in the base configuration.
|
||||||
|
See `file-root-pod.json` for an example.
|
||||||
|
* *static-root*: Shows a static introduction page at the server root. This is not a Solid resource.
|
||||||
|
|
||||||
## Main
|
## Main
|
||||||
|
|
||||||
@ -18,16 +23,6 @@ This is the entry point to the main server setup.
|
|||||||
* *default*: The main application. This should only be changed/replaced
|
* *default*: The main application. This should only be changed/replaced
|
||||||
if you want to start from a different kind of class.
|
if you want to start from a different kind of class.
|
||||||
|
|
||||||
## Setup
|
|
||||||
|
|
||||||
Handles the setup page the first time the server is started.
|
|
||||||
|
|
||||||
* *disabled*: Disables the setup page. Root container access will be impossible unless handled by the Init config above.
|
|
||||||
Registration and pod creation is still possible if that feature is enabled.
|
|
||||||
* *optional*: Setup is available at `/setup` but the server can already be used.
|
|
||||||
Everyone can access the setup page so make sure to complete that as soon as possible.
|
|
||||||
* *required*: All requests will be redirected to the setup page until setup is completed.
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
Handles parsing CLI parameters and assigning values to Components.js variables.
|
Handles parsing CLI parameters and assigning values to Components.js variables.
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/app/init/initializers/base-url.json",
|
"css:config/app/init/initializers/base-url.json",
|
||||||
"css:config/app/init/initializers/logger.json",
|
"css:config/app/init/initializers/logger.json",
|
||||||
"css:config/app/init/initializers/server.json",
|
"css:config/app/init/initializers/server.json",
|
||||||
"css:config/app/init/initializers/seeded-pod.json",
|
"css:config/app/init/initializers/seeding.json",
|
||||||
"css:config/app/init/initializers/version.json",
|
"css:config/app/init/initializers/version.json",
|
||||||
"css:config/app/init/initializers/workers.json"
|
"css:config/app/init/initializers/workers.json",
|
||||||
|
"css:config/app/init/migration/base.json"
|
||||||
],
|
],
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
@ -15,6 +16,7 @@
|
|||||||
"@type": "SequenceHandler",
|
"@type": "SequenceHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
{ "@id": "urn:solid-server:default:LoggerInitializer" },
|
{ "@id": "urn:solid-server:default:LoggerInitializer" },
|
||||||
|
{ "@id": "urn:solid-server:default:EarlyProcessParallelInitializer" },
|
||||||
{ "@id": "urn:solid-server:default:PrimaryInitializer" },
|
{ "@id": "urn:solid-server:default:PrimaryInitializer" },
|
||||||
{ "@id": "urn:solid-server:default:WorkerInitializer" }
|
{ "@id": "urn:solid-server:default:WorkerInitializer" }
|
||||||
]
|
]
|
||||||
@ -28,12 +30,13 @@
|
|||||||
"source": {
|
"source": {
|
||||||
"comment": "These initializers will all be executed sequentially when starting the server.",
|
"comment": "These initializers will all be executed sequentially when starting the server.",
|
||||||
"@id": "urn:solid-server:default:PrimarySequenceInitializer",
|
"@id": "urn:solid-server:default:PrimarySequenceInitializer",
|
||||||
"@type":"SequenceHandler",
|
"@type": "SequenceHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
{ "@id": "urn:solid-server:default:CleanupInitializer"},
|
{ "@id": "urn:solid-server:default:CleanupInitializer" },
|
||||||
|
{ "@id": "urn:solid-server:default:MigrationInitializer" },
|
||||||
{ "@id": "urn:solid-server:default:BaseUrlVerifier" },
|
{ "@id": "urn:solid-server:default:BaseUrlVerifier" },
|
||||||
{ "@id": "urn:solid-server:default:PrimaryParallelInitializer" },
|
{ "@id": "urn:solid-server:default:PrimaryParallelInitializer" },
|
||||||
{ "@id": "urn:solid-server:default:SeededPodInitializer" },
|
{ "@id": "urn:solid-server:default:SeededAccountInitializer" },
|
||||||
{ "@id": "urn:solid-server:default:ModuleVersionVerifier" },
|
{ "@id": "urn:solid-server:default:ModuleVersionVerifier" },
|
||||||
{ "@id": "urn:solid-server:default:WorkerManager" }
|
{ "@id": "urn:solid-server:default:WorkerManager" }
|
||||||
]
|
]
|
||||||
@ -58,7 +61,7 @@
|
|||||||
{
|
{
|
||||||
"comment": "Initializers that need to cleanup or do anything else before something writes to the backend should be added here.",
|
"comment": "Initializers that need to cleanup or do anything else before something writes to the backend should be added here.",
|
||||||
"@id": "urn:solid-server:default:CleanupInitializer",
|
"@id": "urn:solid-server:default:CleanupInitializer",
|
||||||
"@type":"SequenceHandler",
|
"@type": "SequenceHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,15 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/app/init/base/init.json"
|
"css:config/app/init/base/init.json"
|
||||||
],
|
],
|
||||||
"@graph": [
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "These handlers are called for all processes whenever the server is started, and can be used to ensure that all necessary resources for booting are available.",
|
||||||
|
"@id": "urn:solid-server:default:EarlyProcessParallelInitializer",
|
||||||
|
"@type": "ParallelHandler",
|
||||||
|
"handlers": [ ]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"comment": "These handlers are called only for the Primary process whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
|
"comment": "These handlers are called only for the Primary process whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
|
||||||
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
||||||
|
22
config/app/init/initialize-intro.json
Normal file
22
config/app/init/initialize-intro.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"import": [
|
||||||
|
"css:config/app/init/default.json",
|
||||||
|
"css:config/app/init/initializers/root.json"
|
||||||
|
],
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "Initializes the root container resource.",
|
||||||
|
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
||||||
|
"@type": "ParallelHandler",
|
||||||
|
"handlers": [
|
||||||
|
{ "@id": "urn:solid-server:default:RootInitializer" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RootFolderGenerator",
|
||||||
|
"@type": "StaticFolderGenerator",
|
||||||
|
"templateFolder": "@css:templates/root/intro"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/app/init/base/init.json",
|
"css:config/app/init/default.json",
|
||||||
"css:config/app/init/initializers/prefilled-root.json"
|
"css:config/app/init/initializers/root.json"
|
||||||
],
|
],
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "These handlers are called only for the Primary process whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
|
"comment": "Initializes the root container resource.",
|
||||||
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
||||||
"@type": "ParallelHandler",
|
"@type": "ParallelHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
@ -14,10 +14,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"comment": "These handlers are called only for the workers processes whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
|
"@id": "urn:solid-server:default:RootFolderGenerator",
|
||||||
"@id": "urn:solid-server:default:WorkerParallelInitializer",
|
"@type": "StaticFolderGenerator",
|
||||||
"@type": "ParallelHandler",
|
"templateFolder": "@css:templates/root/prefilled"
|
||||||
"handlers": [ ]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
17
config/app/init/initialize-root-pod.json
Normal file
17
config/app/init/initialize-root-pod.json
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"import": [
|
||||||
|
"css:config/app/init/default.json",
|
||||||
|
"css:config/app/init/initializers/root-pod.json"
|
||||||
|
],
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "Initializes the root container resource.",
|
||||||
|
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
||||||
|
"@type": "ParallelHandler",
|
||||||
|
"handlers": [
|
||||||
|
{ "@id": "urn:solid-server:default:RootInitializer" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/app/init/base/init.json",
|
"css:config/app/init/default.json",
|
||||||
"css:config/app/init/initializers/root.json"
|
"css:config/app/init/initializers/root.json"
|
||||||
],
|
],
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "These handlers are called only for the Primary process whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
|
"comment": "Initializes the root container resource.",
|
||||||
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
||||||
"@type": "ParallelHandler",
|
"@type": "ParallelHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
@ -14,10 +14,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"comment": "These handlers are called only for the workers processes whenever the server is started, and can be used to ensure that all necessary resources for booting are available. (in singlethreaded mode, these are always called)",
|
"@id": "urn:solid-server:default:RootFolderGenerator",
|
||||||
"@id": "urn:solid-server:default:WorkerParallelInitializer",
|
"@type": "StaticFolderGenerator",
|
||||||
"@type": "ParallelHandler",
|
"templateFolder": "@css:templates/root/empty"
|
||||||
"handlers": [ ]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Logs a warning if the base URL changes.",
|
"comment": "Logs a warning if the base URL changes.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": [
|
"comment": [
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
|
||||||
"@graph": [
|
|
||||||
{
|
|
||||||
"comment": "Makes sure the root container exists and contains the necessary resources.",
|
|
||||||
"@id": "urn:solid-server:default:RootInitializer",
|
|
||||||
"@type": "ConditionalHandler",
|
|
||||||
"storageKey": "rootInitialized",
|
|
||||||
"storageValue": true,
|
|
||||||
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
|
||||||
"source": {
|
|
||||||
"@type": "ContainerInitializer",
|
|
||||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
|
||||||
"args_path": "/",
|
|
||||||
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
|
|
||||||
"args_generator": {
|
|
||||||
"@type": "StaticFolderGenerator",
|
|
||||||
"templateFolder": "@css:templates/root/prefilled",
|
|
||||||
"resourcesGenerator": { "@id": "urn:solid-server:default:TemplatedResourcesGenerator" }
|
|
||||||
},
|
|
||||||
"args_storageKey": "rootInitialized",
|
|
||||||
"args_storage": { "@id": "urn:solid-server:default:SetupStorage" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
21
config/app/init/initializers/root-pod.json
Normal file
21
config/app/init/initializers/root-pod.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "Makes sure the root container exists and contains the necessary resources.",
|
||||||
|
"@id": "urn:solid-server:default:RootInitializer",
|
||||||
|
"@type": "ConditionalHandler",
|
||||||
|
"storageKey": "rootInitialized",
|
||||||
|
"storageValue": true,
|
||||||
|
"handleStorage": true,
|
||||||
|
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
||||||
|
"source": {
|
||||||
|
"@id": "urn:solid-server:default:RootPodInitializer",
|
||||||
|
"@type": "AccountInitializer",
|
||||||
|
"accountStore": { "@id": "urn:solid-server:default:AccountStore" },
|
||||||
|
"passwordStore": { "@id": "urn:solid-server:default:PasswordStore" },
|
||||||
|
"podCreator": { "@id": "urn:solid-server:default:PodCreator" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Makes sure the root container exists and contains the necessary resources.",
|
"comment": "Makes sure the root container exists and contains the necessary resources.",
|
||||||
@ -9,13 +9,14 @@
|
|||||||
"storageValue": true,
|
"storageValue": true,
|
||||||
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
||||||
"source": {
|
"source": {
|
||||||
|
"@id": "urn:solid-server:default:RootContainerInitializer",
|
||||||
"@type": "ContainerInitializer",
|
"@type": "ContainerInitializer",
|
||||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
"args_path": "/",
|
"args_path": "/",
|
||||||
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
|
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
|
||||||
"args_generator": {
|
"args_generator": {
|
||||||
|
"@id": "urn:solid-server:default:RootFolderGenerator",
|
||||||
"@type": "StaticFolderGenerator",
|
"@type": "StaticFolderGenerator",
|
||||||
"templateFolder": "@css:templates/root/empty",
|
|
||||||
"resourcesGenerator": { "@id": "urn:solid-server:default:TemplatedResourcesGenerator" }
|
"resourcesGenerator": { "@id": "urn:solid-server:default:TemplatedResourcesGenerator" }
|
||||||
},
|
},
|
||||||
"args_storageKey": "rootInitialized",
|
"args_storageKey": "rootInitialized",
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
|
||||||
"@graph": [
|
|
||||||
{
|
|
||||||
"comment": "Separate manager from the RegistrationHandler in case registration is disabled.",
|
|
||||||
"@id": "urn:solid-server:default:SeededPodRegistrationManager",
|
|
||||||
"@type": "RegistrationManager",
|
|
||||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
|
||||||
"args_webIdSuffix": "/profile/card#me",
|
|
||||||
"args_identifierGenerator": { "@id": "urn:solid-server:default:IdentifierGenerator" },
|
|
||||||
"args_ownershipValidator": { "@id": "urn:solid-server:auth:password:OwnershipValidator" },
|
|
||||||
"args_accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" },
|
|
||||||
"args_podManager": { "@id": "urn:solid-server:default:PodManager" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comment": "Initializer that instantiates all the seeded accounts and pods.",
|
|
||||||
"@id": "urn:solid-server:default:SeededPodInitializer",
|
|
||||||
"@type": "SeededPodInitializer",
|
|
||||||
"registrationManager": { "@id": "urn:solid-server:default:SeededPodRegistrationManager" },
|
|
||||||
"configFilePath": { "@id": "urn:solid-server:default:variable:seededPodConfigJson" }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
14
config/app/init/initializers/seeding.json
Normal file
14
config/app/init/initializers/seeding.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "Initializer that instantiates all the seeded accounts and pods.",
|
||||||
|
"@id": "urn:solid-server:default:SeededAccountInitializer",
|
||||||
|
"@type": "SeededAccountInitializer",
|
||||||
|
"accountStore": { "@id": "urn:solid-server:default:AccountStore" },
|
||||||
|
"passwordStore": { "@id": "urn:solid-server:default:PasswordStore" },
|
||||||
|
"podCreator": { "@id": "urn:solid-server:default:PodCreator" },
|
||||||
|
"configFilePath": { "@id": "urn:solid-server:default:variable:seedConfig" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Creates the server that starts listening for requests.",
|
"comment": "Creates the server that starts listening for requests.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Logs a warning if the base URL changes.",
|
"comment": "Logs a warning if the base URL changes.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Spawns the required amount of workers",
|
"comment": "Spawns the required amount of workers",
|
||||||
|
16
config/app/init/migration/base.json
Normal file
16
config/app/init/migration/base.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"import": [
|
||||||
|
"css:config/app/init/migration/v6.json"
|
||||||
|
],
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "Handles all migration initializers.",
|
||||||
|
"@id": "urn:solid-server:default:MigrationInitializer",
|
||||||
|
"@type": "SequenceHandler",
|
||||||
|
"handlers": [
|
||||||
|
{ "@id": "urn:solid-server:default:V6MigrationHandler" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
104
config/app/init/migration/v6.json
Normal file
104
config/app/init/migration/v6.json
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "Handles migration of v6 internal data. In a conditional handler to prevent issues if something fails between migration and writing the new version.",
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationHandler",
|
||||||
|
"@type": "ConditionalHandler",
|
||||||
|
"storageKey": "v6-migration",
|
||||||
|
"storageValue": true,
|
||||||
|
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
||||||
|
"handleStorage": true,
|
||||||
|
"source": {
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationInitializer",
|
||||||
|
"@type": "V6MigrationInitializer",
|
||||||
|
"versionKey": "current-server-version",
|
||||||
|
"setupStorage": { "@id": "urn:solid-server:default:V6MigrationSetupStorage" },
|
||||||
|
"accountStorage": { "@id": "urn:solid-server:default:V6MigrationAccountStorage" },
|
||||||
|
"clientCredentialsStorage": { "@id": "urn:solid-server:default:V6MigrationClientCredentialsStorage" },
|
||||||
|
"cleanupStorages": [
|
||||||
|
{ "@id": "urn:solid-server:default:V6MigrationAccountStorage" },
|
||||||
|
{ "@id": "urn:solid-server:default:V6MigrationClientCredentialsStorage" },
|
||||||
|
{ "@id": "urn:solid-server:default:V6MigrationForgotPasswordStorage" },
|
||||||
|
{ "@id": "urn:solid-server:default:V6MigrationKeyStorage" },
|
||||||
|
{ "@id": "urn:solid-server:default:V6MigrationAdapterStorage" },
|
||||||
|
{ "@id": "urn:solid-server:default:V6MigrationTokenStorage" },
|
||||||
|
{ "@id": "urn:solid-server:default:V6MigrationNotificationStorage" }
|
||||||
|
],
|
||||||
|
"newAccountStorage": { "@id": "urn:solid-server:default:AccountStorage" },
|
||||||
|
"newSetupStorage": { "@id": "urn:solid-server:default:SetupStorage" },
|
||||||
|
"skipConfirmation": { "@id": "urn:solid-server:default:variable:confirmMigration" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"comment": "All storages changed so we need the old setup storage to correctly read the version key",
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationSetupStorage",
|
||||||
|
"@type": "Base64EncodingStorage",
|
||||||
|
"source": {
|
||||||
|
"@type": "SingleContainerJsonStorage",
|
||||||
|
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"container": "/.internal/setup/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationAccountStorage",
|
||||||
|
"@type": "Base64EncodingStorage",
|
||||||
|
"source": {
|
||||||
|
"@type": "SingleContainerJsonStorage",
|
||||||
|
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"container": "/.internal/accounts/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationClientCredentialsStorage",
|
||||||
|
"@type": "Base64EncodingStorage",
|
||||||
|
"source": {
|
||||||
|
"@type": "SingleContainerJsonStorage",
|
||||||
|
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"container": "/.internal/accounts/credentials/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationForgotPasswordStorage",
|
||||||
|
"@type": "SingleContainerJsonStorage",
|
||||||
|
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"container": "/.internal/forgot-password/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationKeyStorage",
|
||||||
|
"@type": "SingleContainerJsonStorage",
|
||||||
|
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"container": "/.internal/idp/keys/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationAdapterStorage",
|
||||||
|
"@type": "SingleContainerJsonStorage",
|
||||||
|
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"container": "/.internal/idp/adapter/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationTokenStorage",
|
||||||
|
"@type": "SingleContainerJsonStorage",
|
||||||
|
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"container": "/.internal/idp/tokens/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:V6MigrationNotificationStorage",
|
||||||
|
"@type": "SingleContainerJsonStorage",
|
||||||
|
"source": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"container": "/.internal/notifications/"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
21
config/app/init/static-root.json
Normal file
21
config/app/init/static-root.json
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"import": [
|
||||||
|
"css:config/app/init/default.json"
|
||||||
|
],
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "Sets the root of the server to a static page.",
|
||||||
|
"@id": "urn:solid-server:default:StaticAssetHandler",
|
||||||
|
"@type": "StaticAssetHandler",
|
||||||
|
"assets": [
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RootStaticAsset",
|
||||||
|
"@type": "StaticAssetEntry",
|
||||||
|
"relativeUrl": "/",
|
||||||
|
"filePath": "@css:templates/root/static/index.html"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/app/main/general/templates.json"
|
"css:config/app/main/general/templates.json"
|
||||||
],
|
],
|
||||||
@ -37,7 +37,7 @@
|
|||||||
{
|
{
|
||||||
"comment": "Finalizers that need to cleanup once no more data will be written to the backend should be added here.",
|
"comment": "Finalizers that need to cleanup once no more data will be written to the backend should be added here.",
|
||||||
"@id": "urn:solid-server:default:CleanupFinalizer",
|
"@id": "urn:solid-server:default:CleanupFinalizer",
|
||||||
"@type":"SequenceHandler",
|
"@type": "SequenceHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Template engine that finds the appropriate template engine to use based on the template extension.",
|
"comment": "Template engine that finds the appropriate template engine to use based on the template extension.",
|
||||||
@ -17,6 +17,14 @@
|
|||||||
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"comment": "Renders the main template of all HTML pages. Other generated templates should be fed as input into this.",
|
||||||
|
"@id": "urn:solid-server:default:MainTemplateEngine",
|
||||||
|
"@type": "StaticTemplateEngine",
|
||||||
|
"templateEngine": { "@id": "urn:solid-server:default:TemplateEngine" },
|
||||||
|
"template": "@css:templates/main.html.ejs"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
|
||||||
"@graph": [
|
|
||||||
{
|
|
||||||
"comment": "Completely disables the setup page.",
|
|
||||||
"@id": "urn:solid-server:default:SetupHandler",
|
|
||||||
"@type": "UnsupportedAsyncHandler"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
|
||||||
"@graph": [
|
|
||||||
{
|
|
||||||
"comment": "Redirects all request to the setup.",
|
|
||||||
"@id": "urn:solid-server:default:SetupRedirectHandler",
|
|
||||||
"@type": "RedirectingHttpHandler",
|
|
||||||
"redirects": [
|
|
||||||
{
|
|
||||||
"RedirectingHttpHandler:_redirects_key": ".*",
|
|
||||||
"RedirectingHttpHandler:_redirects_value": "/setup"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
|
||||||
"targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
|
|
||||||
"responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" },
|
|
||||||
"statusCode": 302
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,70 +0,0 @@
|
|||||||
{
|
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
|
||||||
"@graph": [
|
|
||||||
{
|
|
||||||
"comment": "Handles everything related to the first-time server setup.",
|
|
||||||
"@id": "urn:solid-server:default:SetupParsingHandler",
|
|
||||||
"@type": "ParsingHttpHandler",
|
|
||||||
"args_requestParser": { "@id": "urn:solid-server:default:RequestParser" },
|
|
||||||
"args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" },
|
|
||||||
"args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" },
|
|
||||||
"args_operationHandler": {
|
|
||||||
"@id": "urn:solid-server:default:SetupHttpHandler",
|
|
||||||
"@type": "SetupHttpHandler",
|
|
||||||
"args_handler": {
|
|
||||||
"@type": "SetupHandler",
|
|
||||||
"args_initializer": { "@id": "urn:solid-server:default:SetupInitializer" },
|
|
||||||
"args_registrationManager": { "@id": "urn:solid-server:default:SetupRegistrationManager" }
|
|
||||||
},
|
|
||||||
"args_converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
|
|
||||||
"args_storageKey": "setupCompleted-2.0",
|
|
||||||
"args_storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
|
||||||
"args_templateEngine": {
|
|
||||||
"comment": "Renders the specific page and embeds it into the main HTML body.",
|
|
||||||
"@type": "ChainedTemplateEngine",
|
|
||||||
"renderedName": "htmlBody",
|
|
||||||
"engines": [
|
|
||||||
{
|
|
||||||
"comment": "Renders the main setup template.",
|
|
||||||
"@type": "StaticTemplateEngine",
|
|
||||||
"templateEngine": { "@id": "urn:solid-server:default:TemplateEngine" },
|
|
||||||
"template": "@css:templates/setup/index.html.ejs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comment": "Will embed the result of the first engine into the main HTML template.",
|
|
||||||
"@type": "StaticTemplateEngine",
|
|
||||||
"templateEngine": { "@id": "urn:solid-server:default:TemplateEngine" },
|
|
||||||
"template": "@css:templates/main.html.ejs"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comment": "Separate manager from the RegistrationHandler in case registration is disabled.",
|
|
||||||
"@id": "urn:solid-server:default:SetupRegistrationManager",
|
|
||||||
"@type": "RegistrationManager",
|
|
||||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
|
||||||
"args_webIdSuffix": "/profile/card#me",
|
|
||||||
"args_identifierGenerator": { "@id": "urn:solid-server:default:IdentifierGenerator" },
|
|
||||||
"args_ownershipValidator": { "@id": "urn:solid-server:auth:password:OwnershipValidator" },
|
|
||||||
"args_accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" },
|
|
||||||
"args_podManager": { "@id": "urn:solid-server:default:PodManager" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comment": "Separate initializer as we only want a simple one that sets the root .acl.",
|
|
||||||
"@id": "urn:solid-server:default:SetupInitializer",
|
|
||||||
"@type": "ContainerInitializer",
|
|
||||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
|
||||||
"args_path": "/",
|
|
||||||
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
|
|
||||||
"args_generator": {
|
|
||||||
"@type": "StaticFolderGenerator",
|
|
||||||
"templateFolder": "@css:templates/root/empty",
|
|
||||||
"resourcesGenerator": { "@id": "urn:solid-server:default:TemplatedResourcesGenerator" }
|
|
||||||
},
|
|
||||||
"args_storageKey": "rootInitialized",
|
|
||||||
"args_storage": { "@id": "urn:solid-server:default:SetupStorage" }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
|
||||||
"import": [
|
|
||||||
"css:config/app/setup/handlers/setup.json"
|
|
||||||
],
|
|
||||||
"@graph": [
|
|
||||||
{
|
|
||||||
"comment": "Combines both the redirect and the setup.",
|
|
||||||
"@id": "urn:solid-server:default:SetupHandler",
|
|
||||||
"@type": "ConditionalHandler",
|
|
||||||
"storageKey": "setupCompleted-2.0",
|
|
||||||
"storageValue": true,
|
|
||||||
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
|
||||||
"source": {
|
|
||||||
"@type": "RouterHandler",
|
|
||||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
|
||||||
"args_targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
|
|
||||||
"args_allowedPathNames": [ "/setup" ],
|
|
||||||
"args_handler": { "@id": "urn:solid-server:default:SetupParsingHandler" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
|
||||||
"import": [
|
|
||||||
"css:config/app/setup/handlers/redirect.json",
|
|
||||||
"css:config/app/setup/handlers/setup.json"
|
|
||||||
],
|
|
||||||
"@graph": [
|
|
||||||
{
|
|
||||||
"comment": "Combines both the redirect and the setup.",
|
|
||||||
"@id": "urn:solid-server:default:SetupHandler",
|
|
||||||
"@type": "ConditionalHandler",
|
|
||||||
"storageKey": "setupCompleted-2.0",
|
|
||||||
"storageValue": true,
|
|
||||||
"storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
|
||||||
"source": {
|
|
||||||
"@type": "WaterfallHandler",
|
|
||||||
"handlers": [
|
|
||||||
{ "@id": "urn:solid-server:default:SetupRedirectHandler" },
|
|
||||||
{
|
|
||||||
"@type": "RouterHandler",
|
|
||||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
|
||||||
"args_targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
|
|
||||||
"args_allowedPathNames": [ "/setup" ],
|
|
||||||
"args_handler": { "@id": "urn:solid-server:default:SetupParsingHandler" }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Extracts CLI arguments into a key/value object. Config and mainModulePath are only defined here so their description is returned.",
|
"comment": "Extracts CLI arguments into a key/value object. Config and mainModulePath are only defined here so their description is returned.",
|
||||||
@ -105,11 +105,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"@type": "YargsParameter",
|
"@type": "YargsParameter",
|
||||||
"name": "seededPodConfigJson",
|
"name": "seedConfig",
|
||||||
"options": {
|
"options": {
|
||||||
"requiresArg": true,
|
"requiresArg": true,
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"describe": "Path to the file that will be used to seed pods."
|
"describe": "Path to the file that will be used to seed accounts and pods."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -121,6 +121,14 @@
|
|||||||
"type": "number",
|
"type": "number",
|
||||||
"describe": "Run the server in multithreaded mode using workers. (special values: -1: num_cores-1, 0: num_cores). Defaults to 1 (singlethreaded)"
|
"describe": "Run the server in multithreaded mode using workers. (special values: -1: num_cores-1, 0: num_cores). Defaults to 1 (singlethreaded)"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "YargsParameter",
|
||||||
|
"name": "confirmMigration",
|
||||||
|
"options": {
|
||||||
|
"type": "boolean",
|
||||||
|
"describe": "Skips the confirmation prompts during migration from older versions."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"options": {
|
"options": {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/app/variables/cli/cli.json",
|
"css:config/app/variables/cli/cli.json",
|
||||||
"css:config/app/variables/resolver/resolver.json"
|
"css:config/app/variables/resolver/resolver.json"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Converts an input key/value object into an object mapping values to Components.js variables",
|
"comment": "Converts an input key/value object into an object mapping values to Components.js variables",
|
||||||
@ -33,7 +33,7 @@
|
|||||||
"CombinedShorthandResolver:_resolvers_value": {
|
"CombinedShorthandResolver:_resolvers_value": {
|
||||||
"@type": "KeyExtractor",
|
"@type": "KeyExtractor",
|
||||||
"key": "socket",
|
"key": "socket",
|
||||||
"defaultValue" : ""
|
"defaultValue": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -68,10 +68,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"CombinedShorthandResolver:_resolvers_key": "urn:solid-server:default:variable:seededPodConfigJson",
|
"CombinedShorthandResolver:_resolvers_key": "urn:solid-server:default:variable:seedConfig",
|
||||||
"CombinedShorthandResolver:_resolvers_value": {
|
"CombinedShorthandResolver:_resolvers_value": {
|
||||||
"@type": "AssetPathExtractor",
|
"@type": "AssetPathExtractor",
|
||||||
"key": "seededPodConfigJson"
|
"key": "seedConfig"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -81,6 +81,14 @@
|
|||||||
"key": "workers",
|
"key": "workers",
|
||||||
"defaultValue": 1
|
"defaultValue": 1
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CombinedShorthandResolver:_resolvers_key": "urn:solid-server:default:variable:confirmMigration",
|
||||||
|
"CombinedShorthandResolver:_resolvers_value": {
|
||||||
|
"@type": "KeyExtractor",
|
||||||
|
"key": "confirmMigration",
|
||||||
|
"defaultValue": false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
|
"css:config/app/init/initialize-intro.json",
|
||||||
"css:config/app/main/default.json",
|
"css:config/app/main/default.json",
|
||||||
"css:config/app/init/initialize-prefilled-root.json",
|
|
||||||
"css:config/app/setup/optional.json",
|
|
||||||
"css:config/app/variables/default.json",
|
"css:config/app/variables/default.json",
|
||||||
"css:config/http/handler/default.json",
|
"css:config/http/handler/default.json",
|
||||||
"css:config/http/middleware/default.json",
|
"css:config/http/middleware/default.json",
|
||||||
@ -13,9 +12,9 @@
|
|||||||
"css:config/identity/access/public.json",
|
"css:config/identity/access/public.json",
|
||||||
"css:config/identity/email/default.json",
|
"css:config/identity/email/default.json",
|
||||||
"css:config/identity/handler/default.json",
|
"css:config/identity/handler/default.json",
|
||||||
|
"css:config/identity/oidc/default.json",
|
||||||
"css:config/identity/ownership/token.json",
|
"css:config/identity/ownership/token.json",
|
||||||
"css:config/identity/pod/static.json",
|
"css:config/identity/pod/static.json",
|
||||||
"css:config/identity/registration/enabled.json",
|
|
||||||
"css:config/ldp/authentication/dpop-bearer.json",
|
"css:config/ldp/authentication/dpop-bearer.json",
|
||||||
"css:config/ldp/authorization/webacl.json",
|
"css:config/ldp/authorization/webacl.json",
|
||||||
"css:config/ldp/handler/default.json",
|
"css:config/ldp/handler/default.json",
|
||||||
@ -24,6 +23,7 @@
|
|||||||
"css:config/ldp/modes/default.json",
|
"css:config/ldp/modes/default.json",
|
||||||
"css:config/storage/backend/memory.json",
|
"css:config/storage/backend/memory.json",
|
||||||
"css:config/storage/key-value/resource-store.json",
|
"css:config/storage/key-value/resource-store.json",
|
||||||
|
"css:config/storage/location/root.json",
|
||||||
"css:config/storage/middleware/default.json",
|
"css:config/storage/middleware/default.json",
|
||||||
"css:config/util/auxiliary/acl.json",
|
"css:config/util/auxiliary/acl.json",
|
||||||
"css:config/util/identifiers/suffix.json",
|
"css:config/util/identifiers/suffix.json",
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
|
"css:config/app/init/static-root.json",
|
||||||
"css:config/app/main/default.json",
|
"css:config/app/main/default.json",
|
||||||
"css:config/app/init/default.json",
|
|
||||||
"css:config/app/setup/required.json",
|
|
||||||
"css:config/app/variables/default.json",
|
"css:config/app/variables/default.json",
|
||||||
"css:config/http/handler/default.json",
|
"css:config/http/handler/default.json",
|
||||||
"css:config/http/middleware/default.json",
|
"css:config/http/middleware/default.json",
|
||||||
"css:config/http/notifications/websockets.json",
|
"css:config/http/notifications/all.json",
|
||||||
"css:config/http/server-factory/http.json",
|
"css:config/http/server-factory/http.json",
|
||||||
"css:config/http/static/default.json",
|
"css:config/http/static/default.json",
|
||||||
"css:config/identity/access/public.json",
|
"css:config/identity/access/public.json",
|
||||||
"css:config/identity/email/default.json",
|
"css:config/identity/email/default.json",
|
||||||
"css:config/identity/handler/default.json",
|
"css:config/identity/handler/default.json",
|
||||||
|
"css:config/identity/oidc/default.json",
|
||||||
"css:config/identity/ownership/token.json",
|
"css:config/identity/ownership/token.json",
|
||||||
"css:config/identity/pod/dynamic.json",
|
"css:config/identity/pod/dynamic.json",
|
||||||
"css:config/identity/registration/enabled.json",
|
|
||||||
"css:config/ldp/authentication/dpop-bearer.json",
|
"css:config/ldp/authentication/dpop-bearer.json",
|
||||||
"css:config/ldp/authorization/webacl.json",
|
"css:config/ldp/authorization/webacl.json",
|
||||||
"css:config/ldp/handler/default.json",
|
"css:config/ldp/handler/default.json",
|
||||||
@ -24,6 +23,7 @@
|
|||||||
"css:config/ldp/modes/default.json",
|
"css:config/ldp/modes/default.json",
|
||||||
"css:config/storage/backend/dynamic.json",
|
"css:config/storage/backend/dynamic.json",
|
||||||
"css:config/storage/key-value/resource-store.json",
|
"css:config/storage/key-value/resource-store.json",
|
||||||
|
"css:config/storage/location/pod.json",
|
||||||
"css:config/storage/middleware/default.json",
|
"css:config/storage/middleware/default.json",
|
||||||
"css:config/util/auxiliary/acl.json",
|
"css:config/util/auxiliary/acl.json",
|
||||||
"css:config/util/identifiers/suffix.json",
|
"css:config/util/identifiers/suffix.json",
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
|
"css:config/app/init/static-root.json",
|
||||||
"css:config/app/main/default.json",
|
"css:config/app/main/default.json",
|
||||||
"css:config/app/init/default.json",
|
|
||||||
"css:config/app/setup/required.json",
|
|
||||||
"css:config/app/variables/default.json",
|
"css:config/app/variables/default.json",
|
||||||
"css:config/http/handler/default.json",
|
"css:config/http/handler/default.json",
|
||||||
"css:config/http/middleware/default.json",
|
"css:config/http/middleware/default.json",
|
||||||
"css:config/http/notifications/websockets.json",
|
"css:config/http/notifications/all.json",
|
||||||
|
|
||||||
"css:config/http/static/default.json",
|
"css:config/http/static/default.json",
|
||||||
"css:config/identity/access/public.json",
|
"css:config/identity/access/public.json",
|
||||||
"css:config/identity/email/default.json",
|
"css:config/identity/email/default.json",
|
||||||
"css:config/identity/handler/default.json",
|
"css:config/identity/handler/default.json",
|
||||||
|
"css:config/identity/oidc/default.json",
|
||||||
"css:config/identity/ownership/token.json",
|
"css:config/identity/ownership/token.json",
|
||||||
"css:config/identity/pod/static.json",
|
"css:config/identity/pod/static.json",
|
||||||
"css:config/identity/registration/enabled.json",
|
|
||||||
"css:config/ldp/authentication/dpop-bearer.json",
|
"css:config/ldp/authentication/dpop-bearer.json",
|
||||||
"css:config/ldp/authorization/webacl.json",
|
"css:config/ldp/authorization/webacl.json",
|
||||||
"css:config/ldp/handler/default.json",
|
"css:config/ldp/handler/default.json",
|
||||||
@ -24,6 +23,7 @@
|
|||||||
"css:config/ldp/modes/default.json",
|
"css:config/ldp/modes/default.json",
|
||||||
"css:config/storage/backend/file.json",
|
"css:config/storage/backend/file.json",
|
||||||
"css:config/storage/key-value/resource-store.json",
|
"css:config/storage/key-value/resource-store.json",
|
||||||
|
"css:config/storage/location/pod.json",
|
||||||
"css:config/storage/middleware/default.json",
|
"css:config/storage/middleware/default.json",
|
||||||
"css:config/util/auxiliary/acl.json",
|
"css:config/util/auxiliary/acl.json",
|
||||||
"css:config/util/identifiers/suffix.json",
|
"css:config/util/identifiers/suffix.json",
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
|
"css:config/app/init/static-root.json",
|
||||||
"css:config/app/main/default.json",
|
"css:config/app/main/default.json",
|
||||||
"css:config/app/init/default.json",
|
|
||||||
"css:config/app/setup/required.json",
|
|
||||||
"css:config/app/variables/default.json",
|
"css:config/app/variables/default.json",
|
||||||
"css:config/http/handler/default.json",
|
"css:config/http/handler/default.json",
|
||||||
"css:config/http/middleware/default.json",
|
"css:config/http/middleware/default.json",
|
||||||
"css:config/http/notifications/websockets.json",
|
"css:config/http/notifications/all.json",
|
||||||
"css:config/http/server-factory/http.json",
|
"css:config/http/server-factory/http.json",
|
||||||
"css:config/http/static/default.json",
|
"css:config/http/static/default.json",
|
||||||
"css:config/identity/access/public.json",
|
"css:config/identity/access/public.json",
|
||||||
"css:config/identity/email/default.json",
|
"css:config/identity/email/default.json",
|
||||||
"css:config/identity/handler/default.json",
|
"css:config/identity/handler/default.json",
|
||||||
|
"css:config/identity/oidc/default.json",
|
||||||
"css:config/identity/ownership/token.json",
|
"css:config/identity/ownership/token.json",
|
||||||
"css:config/identity/pod/static.json",
|
"css:config/identity/pod/static.json",
|
||||||
"css:config/identity/registration/enabled.json",
|
|
||||||
"css:config/ldp/authentication/dpop-bearer.json",
|
"css:config/ldp/authentication/dpop-bearer.json",
|
||||||
"css:config/ldp/authorization/acp.json",
|
"css:config/ldp/authorization/acp.json",
|
||||||
"css:config/ldp/handler/default.json",
|
"css:config/ldp/handler/default.json",
|
||||||
@ -24,6 +23,7 @@
|
|||||||
"css:config/ldp/modes/default.json",
|
"css:config/ldp/modes/default.json",
|
||||||
"css:config/storage/backend/file.json",
|
"css:config/storage/backend/file.json",
|
||||||
"css:config/storage/key-value/resource-store.json",
|
"css:config/storage/key-value/resource-store.json",
|
||||||
|
"css:config/storage/location/pod.json",
|
||||||
"css:config/storage/middleware/default.json",
|
"css:config/storage/middleware/default.json",
|
||||||
"css:config/util/auxiliary/acr.json",
|
"css:config/util/auxiliary/acr.json",
|
||||||
"css:config/util/identifiers/suffix.json",
|
"css:config/util/identifiers/suffix.json",
|
||||||
|
51
config/file-root-pod.json
Normal file
51
config/file-root-pod.json
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"import": [
|
||||||
|
"css:config/app/init/initialize-root-pod.json",
|
||||||
|
"css:config/app/main/default.json",
|
||||||
|
"css:config/app/variables/default.json",
|
||||||
|
"css:config/http/handler/default.json",
|
||||||
|
"css:config/http/middleware/default.json",
|
||||||
|
"css:config/http/notifications/all.json",
|
||||||
|
"css:config/http/server-factory/http.json",
|
||||||
|
"css:config/http/static/default.json",
|
||||||
|
"css:config/identity/access/public.json",
|
||||||
|
"css:config/identity/email/default.json",
|
||||||
|
"css:config/identity/handler/no-accounts-pods.json",
|
||||||
|
"css:config/identity/oidc/default.json",
|
||||||
|
"css:config/identity/ownership/token.json",
|
||||||
|
"css:config/identity/pod/static.json",
|
||||||
|
"css:config/ldp/authentication/dpop-bearer.json",
|
||||||
|
"css:config/ldp/authorization/webacl.json",
|
||||||
|
"css:config/ldp/handler/default.json",
|
||||||
|
"css:config/ldp/metadata-parser/default.json",
|
||||||
|
"css:config/ldp/metadata-writer/default.json",
|
||||||
|
"css:config/ldp/modes/default.json",
|
||||||
|
"css:config/storage/backend/file.json",
|
||||||
|
"css:config/storage/key-value/resource-store.json",
|
||||||
|
"css:config/storage/location/root.json",
|
||||||
|
"css:config/storage/middleware/default.json",
|
||||||
|
"css:config/util/auxiliary/acl.json",
|
||||||
|
"css:config/util/identifiers/suffix.json",
|
||||||
|
"css:config/util/index/default.json",
|
||||||
|
"css:config/util/logging/winston.json",
|
||||||
|
"css:config/util/representation-conversion/default.json",
|
||||||
|
"css:config/util/resource-locker/file.json",
|
||||||
|
"css:config/util/variables/default.json"
|
||||||
|
],
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": [
|
||||||
|
"A Solid server that stores its resources on disk and uses WAC for authorization.",
|
||||||
|
"A pod will be created in the root with the email/password login defined here.",
|
||||||
|
"It is advised to immediately change this password after starting the server."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:RootPodInitializer",
|
||||||
|
"@type": "AccountInitializer",
|
||||||
|
"email": "test@example.com",
|
||||||
|
"password": "secret!"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,21 +1,20 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/app/main/default.json",
|
|
||||||
"css:config/app/init/initialize-root.json",
|
"css:config/app/init/initialize-root.json",
|
||||||
"css:config/app/setup/disabled.json",
|
"css:config/app/main/default.json",
|
||||||
"css:config/app/variables/default.json",
|
"css:config/app/variables/default.json",
|
||||||
"css:config/http/handler/default.json",
|
"css:config/http/handler/default.json",
|
||||||
"css:config/http/middleware/default.json",
|
"css:config/http/middleware/default.json",
|
||||||
"css:config/http/notifications/websockets.json",
|
"css:config/http/notifications/all.json",
|
||||||
"css:config/http/server-factory/http.json",
|
"css:config/http/server-factory/http.json",
|
||||||
"css:config/http/static/default.json",
|
"css:config/http/static/default.json",
|
||||||
"css:config/identity/access/public.json",
|
"css:config/identity/access/public.json",
|
||||||
"css:config/identity/email/default.json",
|
"css:config/identity/email/default.json",
|
||||||
"css:config/identity/handler/default.json",
|
"css:config/identity/handler/no-accounts.json",
|
||||||
|
"css:config/identity/oidc/default.json",
|
||||||
"css:config/identity/ownership/token.json",
|
"css:config/identity/ownership/token.json",
|
||||||
"css:config/identity/pod/static.json",
|
"css:config/identity/pod/static.json",
|
||||||
"css:config/identity/registration/disabled.json",
|
|
||||||
"css:config/ldp/authentication/dpop-bearer.json",
|
"css:config/ldp/authentication/dpop-bearer.json",
|
||||||
"css:config/ldp/authorization/webacl.json",
|
"css:config/ldp/authorization/webacl.json",
|
||||||
"css:config/ldp/handler/default.json",
|
"css:config/ldp/handler/default.json",
|
||||||
@ -24,6 +23,7 @@
|
|||||||
"css:config/ldp/modes/default.json",
|
"css:config/ldp/modes/default.json",
|
||||||
"css:config/storage/backend/file.json",
|
"css:config/storage/backend/file.json",
|
||||||
"css:config/storage/key-value/resource-store.json",
|
"css:config/storage/key-value/resource-store.json",
|
||||||
|
"css:config/storage/location/root.json",
|
||||||
"css:config/storage/middleware/default.json",
|
"css:config/storage/middleware/default.json",
|
||||||
"css:config/util/auxiliary/acl.json",
|
"css:config/util/auxiliary/acl.json",
|
||||||
"css:config/util/identifiers/suffix.json",
|
"css:config/util/identifiers/suffix.json",
|
||||||
@ -37,7 +37,7 @@
|
|||||||
{
|
{
|
||||||
"comment": [
|
"comment": [
|
||||||
"A Solid server that stores its resources on disk and uses WAC for authorization.",
|
"A Solid server that stores its resources on disk and uses WAC for authorization.",
|
||||||
"No setup is required and the root container is initialized to allow full access for everyone so make sure to change this."
|
"No registration and the root container is initialized to allow full access for everyone so make sure to change this."
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -1,21 +1,20 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
|
"css:config/app/init/static-root.json",
|
||||||
"css:config/app/main/default.json",
|
"css:config/app/main/default.json",
|
||||||
"css:config/app/init/default.json",
|
|
||||||
"css:config/app/setup/required.json",
|
|
||||||
"css:config/app/variables/default.json",
|
"css:config/app/variables/default.json",
|
||||||
"css:config/http/handler/default.json",
|
"css:config/http/handler/default.json",
|
||||||
"css:config/http/middleware/default.json",
|
"css:config/http/middleware/default.json",
|
||||||
"css:config/http/notifications/websockets.json",
|
"css:config/http/notifications/all.json",
|
||||||
"css:config/http/server-factory/http.json",
|
"css:config/http/server-factory/http.json",
|
||||||
"css:config/http/static/default.json",
|
"css:config/http/static/default.json",
|
||||||
"css:config/identity/access/public.json",
|
"css:config/identity/access/public.json",
|
||||||
"css:config/identity/email/default.json",
|
"css:config/identity/email/default.json",
|
||||||
"css:config/identity/handler/default.json",
|
"css:config/identity/handler/default.json",
|
||||||
|
"css:config/identity/oidc/default.json",
|
||||||
"css:config/identity/ownership/token.json",
|
"css:config/identity/ownership/token.json",
|
||||||
"css:config/identity/pod/static.json",
|
"css:config/identity/pod/static.json",
|
||||||
"css:config/identity/registration/enabled.json",
|
|
||||||
"css:config/ldp/authentication/dpop-bearer.json",
|
"css:config/ldp/authentication/dpop-bearer.json",
|
||||||
"css:config/ldp/authorization/webacl.json",
|
"css:config/ldp/authorization/webacl.json",
|
||||||
"css:config/ldp/handler/default.json",
|
"css:config/ldp/handler/default.json",
|
||||||
@ -24,6 +23,7 @@
|
|||||||
"css:config/ldp/modes/default.json",
|
"css:config/ldp/modes/default.json",
|
||||||
"css:config/storage/backend/file.json",
|
"css:config/storage/backend/file.json",
|
||||||
"css:config/storage/key-value/resource-store.json",
|
"css:config/storage/key-value/resource-store.json",
|
||||||
|
"css:config/storage/location/pod.json",
|
||||||
"css:config/storage/middleware/default.json",
|
"css:config/storage/middleware/default.json",
|
||||||
"css:config/util/auxiliary/acl.json",
|
"css:config/util/auxiliary/acl.json",
|
||||||
"css:config/util/identifiers/suffix.json",
|
"css:config/util/identifiers/suffix.json",
|
||||||
|
@ -22,13 +22,15 @@ Determines how notifications should be sent out from the server when resources c
|
|||||||
|
|
||||||
* *all*: Supports all available notification types of the Solid Notifications protocol
|
* *all*: Supports all available notification types of the Solid Notifications protocol
|
||||||
[specification](https://solidproject.org/TR/notifications-protocol).
|
[specification](https://solidproject.org/TR/notifications-protocol).
|
||||||
Currently, this includes WebHookChannel2023 and WebSocketChannel2023.
|
Currently, this includes WebhookChannel2023, WebSocketChannel2023 and StreamingHTTPChannel2023.
|
||||||
* *disabled*: No notifications are sent out.
|
* *disabled*: No notifications are sent out.
|
||||||
* *legacy-websocket*: Follows the legacy Solid WebSocket
|
* *legacy-websocket*: Follows the legacy Solid WebSocket
|
||||||
[specification](https://github.com/solid/solid-spec/blob/master/api-websockets.md).
|
[specification](https://github.com/solid/solid-spec/blob/master/api-websockets.md).
|
||||||
Will be removed in future versions.
|
Will be removed in future versions.
|
||||||
* *new-old-websockets.json*: Support for both the legacy Solid Websockets and the new WebSocketChannel2023.
|
* *new-old-websockets.json*: Support for both the legacy Solid Websockets and the new WebSocketChannel2023.
|
||||||
* *webhooks*: Follows the WebHookChannel2023
|
* *streaming-http*: Follows the StreamingHTTPChannel2023
|
||||||
|
[specification](https://solid.github.io/notifications/streaming-http-channel-2023) draft.
|
||||||
|
* *webhooks*: Follows the WebhookChannel2023
|
||||||
[specification](https://solid.github.io/notifications/webhook-channel-2023) draft.
|
[specification](https://solid.github.io/notifications/webhook-channel-2023) draft.
|
||||||
* *websockets*: Follows the WebSocketChannel2023
|
* *websockets*: Follows the WebSocketChannel2023
|
||||||
[specification](https://solid.github.io/notifications/websocket-channel-2023).
|
[specification](https://solid.github.io/notifications/websocket-channel-2023).
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/handler/handlers/oidc.json",
|
|
||||||
"css:config/http/handler/handlers/storage-description.json"
|
"css:config/http/handler/handlers/storage-description.json"
|
||||||
],
|
],
|
||||||
"@graph": [
|
"@graph": [
|
||||||
@ -12,10 +11,10 @@
|
|||||||
"handlers": [
|
"handlers": [
|
||||||
{ "@id": "urn:solid-server:default:Middleware" },
|
{ "@id": "urn:solid-server:default:Middleware" },
|
||||||
{
|
{
|
||||||
|
"@id": "urn:solid-server:default:BaseHttpHandler",
|
||||||
"@type": "WaterfallHandler",
|
"@type": "WaterfallHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
{ "@id": "urn:solid-server:default:StaticAssetHandler" },
|
{ "@id": "urn:solid-server:default:StaticAssetHandler" },
|
||||||
{ "@id": "urn:solid-server:default:SetupHandler" },
|
|
||||||
{ "@id": "urn:solid-server:default:OidcHandler" },
|
{ "@id": "urn:solid-server:default:OidcHandler" },
|
||||||
{ "@id": "urn:solid-server:default:NotificationHttpHandler" },
|
{ "@id": "urn:solid-server:default:NotificationHttpHandler" },
|
||||||
{ "@id": "urn:solid-server:default:StorageDescriptionHandler" },
|
{ "@id": "urn:solid-server:default:StorageDescriptionHandler" },
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Example handler to configure redirect patterns.",
|
"comment": "Example handler to configure redirect patterns.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "The relative path appended to a storage container URL to find its description resource.",
|
"comment": "The relative path appended to a storage container URL to find its description resource.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/handler/handlers/storage-description.json"
|
"css:config/http/handler/handlers/storage-description.json"
|
||||||
],
|
],
|
||||||
@ -11,10 +11,10 @@
|
|||||||
"handlers": [
|
"handlers": [
|
||||||
{ "@id": "urn:solid-server:default:Middleware" },
|
{ "@id": "urn:solid-server:default:Middleware" },
|
||||||
{
|
{
|
||||||
|
"@id": "urn:solid-server:default:BaseHttpHandler",
|
||||||
"@type": "WaterfallHandler",
|
"@type": "WaterfallHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
{ "@id": "urn:solid-server:default:StaticAssetHandler" },
|
{ "@id": "urn:solid-server:default:StaticAssetHandler" },
|
||||||
{ "@id": "urn:solid-server:default:SetupHandler" },
|
|
||||||
{ "@id": "urn:solid-server:default:StorageDescriptionHandler" },
|
{ "@id": "urn:solid-server:default:StorageDescriptionHandler" },
|
||||||
{ "@id": "urn:solid-server:default:LdpHandler" }
|
{ "@id": "urn:solid-server:default:LdpHandler" }
|
||||||
]
|
]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/middleware/handlers/constant-headers.json",
|
"css:config/http/middleware/handlers/constant-headers.json",
|
||||||
"css:config/http/middleware/handlers/cors.json"
|
"css:config/http/middleware/handlers/cors.json"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Adds several constant headers.",
|
"comment": "Adds several constant headers.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Adds all the necessary CORS headers.",
|
"comment": "Adds all the necessary CORS headers.",
|
||||||
@ -21,6 +21,7 @@
|
|||||||
"Accept-Post",
|
"Accept-Post",
|
||||||
"Accept-Put",
|
"Accept-Put",
|
||||||
"Allow",
|
"Allow",
|
||||||
|
"Content-Range",
|
||||||
"ETag",
|
"ETag",
|
||||||
"Last-Modified",
|
"Last-Modified",
|
||||||
"Link",
|
"Link",
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/notifications/base/description.json",
|
"css:config/http/notifications/base/description.json",
|
||||||
"css:config/http/notifications/base/handler.json",
|
"css:config/http/notifications/base/handler.json",
|
||||||
"css:config/http/notifications/base/http.json",
|
"css:config/http/notifications/base/http.json",
|
||||||
"css:config/http/notifications/base/listener.json",
|
"css:config/http/notifications/base/listener.json",
|
||||||
"css:config/http/notifications/base/storage.json",
|
"css:config/http/notifications/base/storage.json",
|
||||||
|
"css:config/http/notifications/streaming-http/http.json",
|
||||||
"css:config/http/notifications/websockets/handler.json",
|
"css:config/http/notifications/websockets/handler.json",
|
||||||
"css:config/http/notifications/websockets/http.json",
|
"css:config/http/notifications/websockets/http.json",
|
||||||
"css:config/http/notifications/websockets/subscription.json",
|
"css:config/http/notifications/websockets/subscription.json",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server:default:StorageDescriber",
|
"@id": "urn:solid-server:default:StorageDescriber",
|
||||||
@ -21,7 +21,10 @@
|
|||||||
"comment": "The root URL of all Notification subscription routes.",
|
"comment": "The root URL of all Notification subscription routes.",
|
||||||
"@id": "urn:solid-server:default:NotificationRoute",
|
"@id": "urn:solid-server:default:NotificationRoute",
|
||||||
"@type": "RelativePathInteractionRoute",
|
"@type": "RelativePathInteractionRoute",
|
||||||
"base": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
"base": {
|
||||||
|
"@type": "AbsolutePathInteractionRoute",
|
||||||
|
"path": { "@id": "urn:solid-server:default:variable:baseUrl" }
|
||||||
|
},
|
||||||
"relativePath": "/.notifications/"
|
"relativePath": "/.notifications/"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Generates the Notification objects and caches them based on the topic.",
|
"comment": "Generates the Notification objects and caches them based on the topic.",
|
||||||
@ -15,15 +15,13 @@
|
|||||||
{ "@type": "DeleteNotificationGenerator" },
|
{ "@type": "DeleteNotificationGenerator" },
|
||||||
{
|
{
|
||||||
"@type": "AddRemoveNotificationGenerator",
|
"@type": "AddRemoveNotificationGenerator",
|
||||||
"store": {
|
"store": { "@id": "urn:solid-server:default:ResourceStore" },
|
||||||
"@id": "urn:solid-server:default:ResourceStore"
|
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"@type": "ActivityNotificationGenerator",
|
"@type": "ActivityNotificationGenerator",
|
||||||
"store": {
|
"store": { "@id": "urn:solid-server:default:ResourceStore" },
|
||||||
"@id": "urn:solid-server:default:ResourceStore"
|
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server:default:NotificationHttpHandler",
|
"@id": "urn:solid-server:default:NotificationHttpHandler",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Listens to the activities emitted by the MonitoringStore.",
|
"comment": "Listens to the activities emitted by the MonitoringStore.",
|
||||||
@ -20,7 +20,7 @@
|
|||||||
"comment": "The ListeningActivityHandler is added to the list of Initializers so Components.js finds and instantiates it.",
|
"comment": "The ListeningActivityHandler is added to the list of Initializers so Components.js finds and instantiates it.",
|
||||||
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
||||||
"@type": "ParallelHandler",
|
"@type": "ParallelHandler",
|
||||||
"handlers": [ { "@id": "urn:solid-server:default:ListeningActivityHandler" } ]
|
"handlers": [{ "@id": "urn:solid-server:default:ListeningActivityHandler" }]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Storage to be used to keep track of subscriptions.",
|
"comment": "Storage to be used to keep track of subscriptions.",
|
||||||
@ -7,7 +7,7 @@
|
|||||||
"@type": "KeyValueChannelStorage",
|
"@type": "KeyValueChannelStorage",
|
||||||
"locker": { "@id": "urn:solid-server:default:ResourceLocker" },
|
"locker": { "@id": "urn:solid-server:default:ResourceLocker" },
|
||||||
"storage": {
|
"storage": {
|
||||||
"@type": "EncodingPathStorage",
|
"@type": "ContainerPathStorage",
|
||||||
"relativePath": "/notifications/",
|
"relativePath": "/notifications/",
|
||||||
"source": { "@id": "urn:solid-server:default:KeyValueStorage" }
|
"source": { "@id": "urn:solid-server:default:KeyValueStorage" }
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Disables notification routing.",
|
"comment": "Disables notification routing.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Disables notification routing.",
|
"comment": "Disables notification routing.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/notifications/base/description.json",
|
"css:config/http/notifications/base/description.json",
|
||||||
"css:config/http/notifications/base/handler.json",
|
"css:config/http/notifications/base/handler.json",
|
||||||
|
15
config/http/notifications/streaming-http.json
Normal file
15
config/http/notifications/streaming-http.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"import": [
|
||||||
|
"css:config/http/notifications/base/description.json",
|
||||||
|
"css:config/http/notifications/base/handler.json",
|
||||||
|
"css:config/http/notifications/base/http.json",
|
||||||
|
"css:config/http/notifications/base/storage.json",
|
||||||
|
"css:config/http/notifications/streaming-http/http.json"
|
||||||
|
],
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"comment": "All the relevant components are made in the specific imports seen above."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
87
config/http/notifications/streaming-http/http.json
Normal file
87
config/http/notifications/streaming-http/http.json
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
|
"@graph": [
|
||||||
|
{
|
||||||
|
"@id": "urn:solid-server:default:StreamingHTTP2023Route",
|
||||||
|
"@type": "RelativePathInteractionRoute",
|
||||||
|
"base": { "@id": "urn:solid-server:default:NotificationRoute" },
|
||||||
|
"relativePath": "/StreamingHTTPChannel2023/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "Creates updatesViaStreamingHttp2023 Link relations",
|
||||||
|
"@id": "urn:solid-server:default:StreamingHttpMetadataWriter",
|
||||||
|
"@type": "StreamingHttpMetadataWriter",
|
||||||
|
"route": { "@id": "urn:solid-server:default:StreamingHTTP2023Route" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "Allows discovery of the corresponding streaming HTTP channel",
|
||||||
|
"@id": "urn:solid-server:default:MetadataWriter",
|
||||||
|
"@type": "ParallelHandler",
|
||||||
|
"handlers": [
|
||||||
|
{ "@id": "urn:solid-server:default:StreamingHttpMetadataWriter" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "Handles the request targeting a StreamingHTTPChannel2023 receiveFrom endpoint.",
|
||||||
|
"@id": "urn:solid-server:default:StreamingHttp2023Router",
|
||||||
|
"@type": "OperationRouterHandler",
|
||||||
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
|
"allowedMethods": [ "GET" ],
|
||||||
|
"allowedPathNames": [ "/StreamingHTTPChannel2023/" ],
|
||||||
|
"handler": {
|
||||||
|
"@id": "urn:solid-server:default:StreamingHttp2023RequestHandler",
|
||||||
|
"@type": "StreamingHttpRequestHandler",
|
||||||
|
"streamMap": { "@id": "urn:solid-server:default:StreamingHttpMap" },
|
||||||
|
"route": { "@id": "urn:solid-server:default:StreamingHTTP2023Route" },
|
||||||
|
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
|
||||||
|
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
|
||||||
|
"credentialsExtractor": { "@id": "urn:solid-server:default:CredentialsExtractor" },
|
||||||
|
"permissionReader": { "@id": "urn:solid-server:default:PermissionReader" },
|
||||||
|
"authorizer": { "@id": "urn:solid-server:default:Authorizer" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "Add the router to notification type handler",
|
||||||
|
"@id": "urn:solid-server:default:NotificationTypeHandler",
|
||||||
|
"@type": "WaterfallHandler",
|
||||||
|
"handlers": [
|
||||||
|
{ "@id": "urn:solid-server:default:StreamingHttp2023Router" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "Opened response streams will be stored in this Map.",
|
||||||
|
"@id": "urn:solid-server:default:StreamingHttpMap",
|
||||||
|
"@type": "StreamingHttpMap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "Emits serialized notifications through Streaming HTTP.",
|
||||||
|
"@id": "urn:solid-server:default:StreamingHttp2023Emitter",
|
||||||
|
"@type": "StreamingHttp2023Emitter",
|
||||||
|
"streamMap": { "@id": "urn:solid-server:default:StreamingHttpMap" }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "Listens to the activities emitted by the MonitoringStore.",
|
||||||
|
"@id": "urn:solid-server:default:StreamingHttpListeningActivityHandler",
|
||||||
|
"@type": "StreamingHttpListeningActivityHandler",
|
||||||
|
"emitter": { "@id": "urn:solid-server:default:ResourceStore" },
|
||||||
|
"streamMap": { "@id": "urn:solid-server:default:StreamingHttpMap" },
|
||||||
|
"source": {
|
||||||
|
"comment": "Handles the generation and serialization of notifications for StreamingHTTPChannel2023",
|
||||||
|
"@id": "urn:solid-server:default:StreamingHttpNotificationHandler",
|
||||||
|
"@type": "ComposedNotificationHandler",
|
||||||
|
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
|
||||||
|
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
|
||||||
|
"emitter": { "@id": "urn:solid-server:default:StreamingHttp2023Emitter" },
|
||||||
|
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comment": "Add the activity handler to the primary initializer",
|
||||||
|
"@id": "urn:solid-server:default:PrimaryParallelInitializer",
|
||||||
|
"@type": "ParallelHandler",
|
||||||
|
"handlers": [
|
||||||
|
{ "@id": "urn:solid-server:default:StreamingHttpListeningActivityHandler" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/notifications/base/description.json",
|
"css:config/http/notifications/base/description.json",
|
||||||
"css:config/http/notifications/base/handler.json",
|
"css:config/http/notifications/base/handler.json",
|
||||||
|
@ -1,24 +1,25 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Handles the generation and serialization of notifications for WebhookChannel2023.",
|
"comment": "Handles the generation and serialization of notifications for WebhookChannel2023.",
|
||||||
"@id": "urn:solid-server:default:WebHookNotificationHandler",
|
"@id": "urn:solid-server:default:WebhookNotificationHandler",
|
||||||
"@type": "TypedNotificationHandler",
|
"@type": "TypedNotificationHandler",
|
||||||
"type": "http://www.w3.org/ns/solid/notifications#WebhookChannel2023",
|
"type": "http://www.w3.org/ns/solid/notifications#WebhookChannel2023",
|
||||||
"source": {
|
"source": {
|
||||||
"@type": "ComposedNotificationHandler",
|
"@type": "ComposedNotificationHandler",
|
||||||
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
|
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
|
||||||
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
|
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
|
||||||
"emitter": { "@id": "urn:solid-server:default:WebHookEmitter" }
|
"emitter": { "@id": "urn:solid-server:default:WebhookEmitter" },
|
||||||
|
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"comment": "Emits serialized notifications through HTTP requests to the Webhook.",
|
"comment": "Emits serialized notifications through HTTP requests to the Webhook.",
|
||||||
"@id": "urn:solid-server:default:WebHookEmitter",
|
"@id": "urn:solid-server:default:WebhookEmitter",
|
||||||
"@type": "WebHookEmitter",
|
"@type": "WebhookEmitter",
|
||||||
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
"webIdRoute": { "@id": "urn:solid-server:default:WebHookWebIdRoute" },
|
"webIdRoute": { "@id": "urn:solid-server:default:WebhookWebIdRoute" },
|
||||||
"jwkGenerator": { "@id": "urn:solid-server:default:JwkGenerator" }
|
"jwkGenerator": { "@id": "urn:solid-server:default:JwkGenerator" }
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -26,7 +27,7 @@
|
|||||||
"@id": "urn:solid-server:default:NotificationHandler",
|
"@id": "urn:solid-server:default:NotificationHandler",
|
||||||
"@type": "WaterfallHandler",
|
"@type": "WaterfallHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
{ "@id": "urn:solid-server:default:WebHookNotificationHandler" }
|
{ "@id": "urn:solid-server:default:WebhookNotificationHandler" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,27 +1,28 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server:default:WebHookRoute",
|
"@id": "urn:solid-server:default:WebhookRoute",
|
||||||
"@type": "RelativePathInteractionRoute",
|
"@type": "RelativePathInteractionRoute",
|
||||||
"base": { "@id": "urn:solid-server:default:NotificationRoute" },
|
"base": { "@id": "urn:solid-server:default:NotificationRoute" },
|
||||||
"relativePath": "/WebhookChannel2023/"
|
"relativePath": "/WebhookChannel2023/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server:default:WebHookWebIdRoute",
|
"@id": "urn:solid-server:default:WebhookWebIdRoute",
|
||||||
"@type": "RelativePathInteractionRoute",
|
"@type": "RelativePathInteractionRoute",
|
||||||
"base": { "@id": "urn:solid-server:default:WebHookRoute" },
|
"base": { "@id": "urn:solid-server:default:WebhookRoute" },
|
||||||
"relativePath": "/webId"
|
"relativePath": "/webId",
|
||||||
|
"ensureSlash": false
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"comment": "Handles the WebhookChannel2023 WebID.",
|
"comment": "Handles the WebhookChannel2023 WebID.",
|
||||||
"@id": "urn:solid-server:default:WebHookWebId",
|
"@id": "urn:solid-server:default:WebhookWebId",
|
||||||
"@type": "OperationRouterHandler",
|
"@type": "OperationRouterHandler",
|
||||||
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
"allowedPathNames": [ "/WebhookChannel2023/webId$" ],
|
"allowedPathNames": [ "/WebhookChannel2023/webId$" ],
|
||||||
"handler": {
|
"handler": {
|
||||||
"@type": "WebHookWebId",
|
"@type": "WebhookWebId",
|
||||||
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -30,8 +31,8 @@
|
|||||||
"@id": "urn:solid-server:default:NotificationTypeHandler",
|
"@id": "urn:solid-server:default:NotificationTypeHandler",
|
||||||
"@type": "WaterfallHandler",
|
"@type": "WaterfallHandler",
|
||||||
"handlers": [
|
"handlers": [
|
||||||
{ "@id": "urn:solid-server:default:WebHookRouter" },
|
{ "@id": "urn:solid-server:default:WebhookRouter" },
|
||||||
{ "@id": "urn:solid-server:default:WebHookWebId" }
|
{ "@id": "urn:solid-server:default:WebhookWebId" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Handles the subscriptions targeting a WebhookChannel2023.",
|
"comment": "Handles the subscriptions targeting a WebhookChannel2023.",
|
||||||
"@id": "urn:solid-server:default:WebHookRouter",
|
"@id": "urn:solid-server:default:WebhookRouter",
|
||||||
"@type": "OperationRouterHandler",
|
"@type": "OperationRouterHandler",
|
||||||
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
"allowedMethods": [ "HEAD", "GET", "POST" ],
|
"allowedMethods": [ "HEAD", "GET", "POST" ],
|
||||||
"allowedPathNames": [ "/WebhookChannel2023/$" ],
|
"allowedPathNames": [ "/WebhookChannel2023/$" ],
|
||||||
"handler": {
|
"handler": {
|
||||||
"@id": "urn:solid-server:default:WebHookSubscriber",
|
"@id": "urn:solid-server:default:WebhookSubscriber",
|
||||||
"@type": "NotificationSubscriber",
|
"@type": "NotificationSubscriber",
|
||||||
"channelType": { "@id": "urn:solid-server:default:WebHookChannel2023Type" },
|
"channelType": { "@id": "urn:solid-server:default:WebhookChannel2023Type" },
|
||||||
"converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
|
"converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
|
||||||
"credentialsExtractor": { "@id": "urn:solid-server:default:CredentialsExtractor" },
|
"credentialsExtractor": { "@id": "urn:solid-server:default:CredentialsExtractor" },
|
||||||
"permissionReader": { "@id": "urn:solid-server:default:PermissionReader" },
|
"permissionReader": { "@id": "urn:solid-server:default:PermissionReader" },
|
||||||
@ -21,13 +21,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"comment": "Contains all the metadata relevant for a WebhookChannel2023.",
|
"comment": "Contains all the metadata relevant for a WebhookChannel2023.",
|
||||||
"@id": "urn:solid-server:default:WebHookChannel2023Type",
|
"@id": "urn:solid-server:default:WebhookChannel2023Type",
|
||||||
"@type": "WebhookChannel2023Type",
|
"@type": "WebhookChannel2023Type",
|
||||||
"route": { "@id": "urn:solid-server:default:WebHookRoute" },
|
"route": { "@id": "urn:solid-server:default:WebhookRoute" },
|
||||||
"webIdRoute": { "@id": "urn:solid-server:default:WebHookWebIdRoute" },
|
"webIdRoute": { "@id": "urn:solid-server:default:WebhookWebIdRoute" },
|
||||||
"stateHandler": {
|
"stateHandler": {
|
||||||
"@type": "BaseStateHandler",
|
"@type": "BaseStateHandler",
|
||||||
"handler": { "@id": "urn:solid-server:default:WebHookNotificationHandler" },
|
"handler": { "@id": "urn:solid-server:default:WebhookNotificationHandler" },
|
||||||
"storage": { "@id": "urn:solid-server:default:SubscriptionStorage" }
|
"storage": { "@id": "urn:solid-server:default:SubscriptionStorage" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -37,7 +37,7 @@
|
|||||||
"@type": "NotificationDescriber",
|
"@type": "NotificationDescriber",
|
||||||
"subscriptions": [
|
"subscriptions": [
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server:default:WebHookChannel2023Type"
|
"@id": "urn:solid-server:default:WebhookChannel2023Type"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/notifications/base/description.json",
|
"css:config/http/notifications/base/description.json",
|
||||||
"css:config/http/notifications/base/handler.json",
|
"css:config/http/notifications/base/handler.json",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Handles the generation and serialization of notifications for WebSocketChannel2023.",
|
"comment": "Handles the generation and serialization of notifications for WebSocketChannel2023.",
|
||||||
@ -10,7 +10,8 @@
|
|||||||
"@type": "ComposedNotificationHandler",
|
"@type": "ComposedNotificationHandler",
|
||||||
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
|
"generator": { "@id": "urn:solid-server:default:BaseNotificationGenerator" },
|
||||||
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
|
"serializer": { "@id": "urn:solid-server:default:BaseNotificationSerializer" },
|
||||||
"emitter": { "@id": "urn:solid-server:default:WebSocket2023Emitter" }
|
"emitter": { "@id": "urn:solid-server:default:WebSocket2023Emitter" },
|
||||||
|
"eTagHandler": { "@id": "urn:solid-server:default:ETagHandler" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Catches newly opened WebSockets and verifies if they belong to a subscription.",
|
"comment": "Catches newly opened WebSockets and verifies if they belong to a subscription.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Handles the subscriptions targeting a WebSocketChannel2023.",
|
"comment": "Handles the subscriptions targeting a WebSocketChannel2023.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server:default:ServerConfigurator",
|
"@id": "urn:solid-server:default:ServerConfigurator",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/server-factory/configurator/default.json"
|
"css:config/http/server-factory/configurator/default.json"
|
||||||
],
|
],
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/server-factory/configurator/default.json"
|
"css:config/http/server-factory/configurator/default.json"
|
||||||
],
|
],
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
"css:config/http/server-factory/configurator/default.json",
|
"css:config/http/server-factory/configurator/default.json",
|
||||||
"css:config/http/server-factory/https/cli.json",
|
"css:config/http/server-factory/https/cli.json",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"@id": "urn:solid-server-app-setup:default:CliExtractor",
|
"@id": "urn:solid-server-app-setup:default:CliExtractor",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Adds resolvers to assign the HTTPS CLI values to the Components.js variables.",
|
"comment": "Adds resolvers to assign the HTTPS CLI values to the Components.js variables.",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Servers static files on fixed URLs.",
|
"comment": "Servers static files on fixed URLs.",
|
||||||
@ -9,26 +9,35 @@
|
|||||||
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
"assets": [
|
"assets": [
|
||||||
{
|
{
|
||||||
"StaticAssetHandler:_assets_key": "/favicon.ico",
|
"@id": "urn:solid-server:default:FaviconStaticAsset",
|
||||||
"StaticAssetHandler:_assets_value": "@css:templates/images/favicon.ico"
|
"@type": "StaticAssetEntry",
|
||||||
|
"relativeUrl": "/favicon.ico",
|
||||||
|
"filePath": "@css:templates/images/favicon.ico"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"StaticAssetHandler:_assets_key": "/.well-known/css/styles/",
|
"@id": "urn:solid-server:default:StylesStaticAsset",
|
||||||
"StaticAssetHandler:_assets_value": "@css:templates/styles/"
|
"@type": "StaticAssetEntry",
|
||||||
|
"relativeUrl": "/.well-known/css/styles/",
|
||||||
|
"filePath": "@css:templates/styles/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"StaticAssetHandler:_assets_key": "/.well-known/css/fonts/",
|
"@id": "urn:solid-server:default:FontsStaticAsset",
|
||||||
"StaticAssetHandler:_assets_value": "@css:templates/fonts/"
|
"@type": "StaticAssetEntry",
|
||||||
|
"relativeUrl": "/.well-known/css/fonts/",
|
||||||
|
"filePath": "@css:templates/fonts/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"StaticAssetHandler:_assets_key": "/.well-known/css/images/",
|
"@id": "urn:solid-server:default:ImagesStaticAsset",
|
||||||
"StaticAssetHandler:_assets_value": "@css:templates/images/"
|
"@type": "StaticAssetEntry",
|
||||||
|
"relativeUrl": "/.well-known/css/images/",
|
||||||
|
"filePath": "@css:templates/images/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"StaticAssetHandler:_assets_key": "/.well-known/css/scripts/",
|
"@id": "urn:solid-server:default:ScriptsStaticAsset",
|
||||||
"StaticAssetHandler:_assets_value": "@css:templates/scripts/"
|
"@type": "StaticAssetEntry",
|
||||||
|
"relativeUrl": "/.well-known/css/scripts/",
|
||||||
|
"filePath": "@css:templates/scripts/"
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"import": [
|
"import": [
|
||||||
|
"css:config/app/init/static-root.json",
|
||||||
"css:config/app/main/default.json",
|
"css:config/app/main/default.json",
|
||||||
"css:config/app/init/default.json",
|
|
||||||
"css:config/app/setup/required.json",
|
|
||||||
"css:config/app/variables/default.json",
|
"css:config/app/variables/default.json",
|
||||||
"css:config/http/handler/default.json",
|
"css:config/http/handler/default.json",
|
||||||
"css:config/http/middleware/default.json",
|
"css:config/http/middleware/default.json",
|
||||||
"css:config/http/notifications/websockets.json",
|
"css:config/http/notifications/all.json",
|
||||||
"css:config/http/server-factory/https.json",
|
"css:config/http/server-factory/https.json",
|
||||||
"css:config/http/static/default.json",
|
"css:config/http/static/default.json",
|
||||||
"css:config/identity/access/public.json",
|
"css:config/identity/access/public.json",
|
||||||
"css:config/identity/email/default.json",
|
"css:config/identity/email/default.json",
|
||||||
"css:config/identity/handler/default.json",
|
"css:config/identity/handler/default.json",
|
||||||
|
"css:config/identity/oidc/default.json",
|
||||||
"css:config/identity/ownership/token.json",
|
"css:config/identity/ownership/token.json",
|
||||||
"css:config/identity/pod/static.json",
|
"css:config/identity/pod/static.json",
|
||||||
"css:config/identity/registration/enabled.json",
|
|
||||||
"css:config/ldp/authentication/dpop-bearer.json",
|
"css:config/ldp/authentication/dpop-bearer.json",
|
||||||
"css:config/ldp/authorization/webacl.json",
|
"css:config/ldp/authorization/webacl.json",
|
||||||
"css:config/ldp/handler/default.json",
|
"css:config/ldp/handler/default.json",
|
||||||
@ -24,6 +23,7 @@
|
|||||||
"css:config/ldp/modes/default.json",
|
"css:config/ldp/modes/default.json",
|
||||||
"css:config/storage/backend/file.json",
|
"css:config/storage/backend/file.json",
|
||||||
"css:config/storage/key-value/resource-store.json",
|
"css:config/storage/key-value/resource-store.json",
|
||||||
|
"css:config/storage/location/pod.json",
|
||||||
"css:config/storage/middleware/default.json",
|
"css:config/storage/middleware/default.json",
|
||||||
"css:config/util/auxiliary/acl.json",
|
"css:config/util/auxiliary/acl.json",
|
||||||
"css:config/util/identifiers/suffix.json",
|
"css:config/util/identifiers/suffix.json",
|
||||||
|
@ -25,10 +25,28 @@ Necessary for sending e-mail when using IDP.
|
|||||||
|
|
||||||
## Handler
|
## Handler
|
||||||
|
|
||||||
Contains everything needed for setting up the Identity Provider.
|
Contains everything needed for setting up the account management.
|
||||||
|
|
||||||
* *default*: As of writing there is not much customization possible.
|
* *default*: All account features enabled.
|
||||||
This contains everything needed.
|
* *disabled*: Completely disables everything account related.
|
||||||
|
* *no-accounts*: Disables the creation of new accounts.
|
||||||
|
* *no-accounts-pods*: Disables the creation of new accounts and creating new pods for existing accounts.
|
||||||
|
* *no-pods*: Disables the creation of new pods.
|
||||||
|
|
||||||
|
## OIDC
|
||||||
|
|
||||||
|
Determines if OIDC interactions are supported as an identity provider.
|
||||||
|
|
||||||
|
* *default*: OIDC is enabled.
|
||||||
|
* *disabled*: OIDC is disabled.
|
||||||
|
|
||||||
|
## Interaction
|
||||||
|
|
||||||
|
Everything related to the JSON API and its routing.
|
||||||
|
|
||||||
|
* *default*: Everything enabled.
|
||||||
|
* *no-accounts*: Disables the creation of new accounts.
|
||||||
|
* *no-pods*: Disables the creation of new pods.
|
||||||
|
|
||||||
## Ownership
|
## Ownership
|
||||||
|
|
||||||
@ -44,10 +62,3 @@ What to use for pod creation.
|
|||||||
* *dynamic*: Every created pod has its own Components.js config for its ResourceStore,
|
* *dynamic*: Every created pod has its own Components.js config for its ResourceStore,
|
||||||
which can differ from the others.
|
which can differ from the others.
|
||||||
* *static*: All pod data is stored in separate containers in the same ResourceStore.
|
* *static*: All pod data is stored in separate containers in the same ResourceStore.
|
||||||
|
|
||||||
## Registration
|
|
||||||
|
|
||||||
If users should be able to register on the server.
|
|
||||||
|
|
||||||
* *enabled*: Enables registration.
|
|
||||||
* *disabled*: Disables registration.
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Makes sure the IDP container has the necessary root resources.",
|
"comment": "Makes sure the IDP container has the necessary root resources.",
|
||||||
@ -11,7 +11,7 @@
|
|||||||
"source": {
|
"source": {
|
||||||
"@type": "ContainerInitializer",
|
"@type": "ContainerInitializer",
|
||||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||||
"args_path": "/idp/",
|
"args_path": "/.account/",
|
||||||
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
|
"args_store": { "@id": "urn:solid-server:default:ResourceStore" },
|
||||||
"args_generator": {
|
"args_generator": {
|
||||||
"@type": "StaticFolderGenerator",
|
"@type": "StaticFolderGenerator",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^6.0.0/components/context.jsonld",
|
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^7.0.0/components/context.jsonld",
|
||||||
"@graph": [
|
"@graph": [
|
||||||
{
|
{
|
||||||
"comment": "Makes sure the .well-known container has the necessary root resources. Some IDP resources are stored there due to OIDC requirements.",
|
"comment": "Makes sure the .well-known container has the necessary root resources. Some IDP resources are stored there due to OIDC requirements.",
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user