Skip to content

Commit 129e024

Browse files
committed
add DSF v2.0.0-RC1 basis documentation
1 parent 8533bc6 commit 129e024

27 files changed

+2455
-22
lines changed

docs/src/.vuepress/layouts/PageLayout.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ function navigateToNewVersion() {
5555
<div class="version-selector" v-if="route.path.startsWith('/operations/')">
5656
<label class="vp-sidebar-header" for="version-select"><strong>Version:</strong> </label>
5757
<select id="version-select" class="vp-sidebar-header" v-model="version" @change="navigateToNewVersion">
58+
<option value="v2.0.0-RC1">2.0.0-RC1</option>
5859
<option value="v1.9.0">latest (1.9.0)</option>
5960
<option value="v1.8.0">1.8.0</option>
6061
<option value="v1.7.1">1.7.1</option>
@@ -70,7 +71,6 @@ function navigateToNewVersion() {
7071
<option value="v1.2.0">1.2.0</option>
7172
<option value="v1.1.0">1.1.0</option>
7273
<option value="v1.0.0">1.0.0</option>
73-
<option value="v2.0.0-M4">2.0.0-M4</option>
7474
</select></div>
7575
</template>
7676
<PageContent id="main-content" class="vp-page"/>

docs/src/.vuepress/sidebar/operations-v1.ts

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,76 @@
1+
export function generate_v2_latest_sidebar() {
2+
return [
3+
4+
{
5+
text: "Get Started",
6+
icon: "tool",
7+
link: "./",
8+
},
9+
"release-notes", "install", "upgrade-from-1", "allowList-mgm", "root-certificates", "passwords-secrets", {
10+
text: "FHIR Reverse Proxy",
11+
icon: "module",
12+
children: [
13+
{
14+
icon: "config",
15+
text: "Configuration",
16+
link: "fhir-reverse-proxy/configuration",
17+
}
18+
]},
19+
{
20+
text: "FHIR Server",
21+
icon: "module",
22+
prefix: "fhir/",
23+
link: "fhir/",
24+
children: [{
25+
icon: "config",
26+
text: "Configuration",
27+
link: "configuration"
28+
}, {
29+
icon: "config",
30+
text: "Access Control",
31+
link: "access-control"
32+
}, {
33+
icon: "config",
34+
text: "OpenID Connect",
35+
link: "oidc"
36+
}]
37+
}, {
38+
text: "BPE Reverse Proxy",
39+
icon: "module",
40+
children: [
41+
{
42+
icon: "config",
43+
text: "Configuration",
44+
link: "bpe-reverse-proxy/configuration",
45+
}
46+
]
47+
}, {
48+
text: "BPE Server",
49+
icon: "module",
50+
prefix: "bpe/",
51+
link: "bpe/",
52+
children: [{
53+
icon: "config",
54+
text: "Configuration",
55+
link: "configuration"
56+
}, {
57+
icon: "config",
58+
text: "Access Control",
59+
link: "access-control"
60+
}, {
61+
icon: "config",
62+
text: "OpenID Connect",
63+
link: "oidc"
64+
}]
65+
},
66+
{
67+
text: "Install Plugins",
68+
icon: "plugin",
69+
link: "install-plugins"
70+
}]
71+
}
72+
73+
174
export function generate_v1_latest_sidebar() {
275
return [
376

docs/src/.vuepress/theme.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { slimsearchPlugin } from "@vuepress/plugin-slimsearch";
22
import { hopeTheme } from "vuepress-theme-hope";
3-
import { generate_v1_latest_sidebar, generate_v1_gt_eq_1_7_0_sidebar, generate_v1_gt_eq_1_5_0_sidebar, generate_v1_gt_eq_1_0_0_sidebar } from "./sidebar/operations-v1";
3+
import { generate_v1_latest_sidebar, generate_v1_gt_eq_1_7_0_sidebar, generate_v1_gt_eq_1_5_0_sidebar, generate_v1_gt_eq_1_0_0_sidebar, generate_v2_latest_sidebar } from "./sidebar/operations-v1";
44

55
export default hopeTheme({
66
author: {
@@ -114,8 +114,7 @@ export default hopeTheme({
114114
"/operations/old-versions": [],
115115
"/operations/latest/": generate_v1_latest_sidebar(),
116116
"/operations/next/": [],
117-
"/operations/v2.0.0-M4/": [],
118-
"/operations/v2.0.0-M3/": [],
117+
"/operations/v2.0.0-RC1/": generate_v2_latest_sidebar(),
119118
"/operations/v1.9.0/": generate_v1_latest_sidebar(),
120119
"/operations/v1.8.0/": generate_v1_gt_eq_1_7_0_sidebar(),
121120
"/operations/v1.7.1/": generate_v1_gt_eq_1_7_0_sidebar(),

docs/src/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ The Data Sharing Framework is entering an exciting new phase. With the upcoming
4848
---
4949

5050
**DSF 2.0 Announcement**
51-
We’re excited to announce that the next major release, DSF 2.0, is currently in development! This update brings significant improvements and new features designed to enhance performance and usability. In this article is a summary of what to expect in the upcoming release. Upcomming datails will be available under [Operations](operations/v2.0.0-M3/index.md)
51+
We’re excited to announce that the next major release, DSF 2.0, is currently in development! This update brings significant improvements and new features designed to enhance performance and usability. In this article is a summary of what to expect in the upcoming release. Upcoming datails will be available under [Operations](operations/v2.0.0-RC1/index.md)
5252
[Read more](/posts/2025-07-28-dsfv2-announcement)
5353

5454
---

docs/src/operations/v2.0.0-M3/index.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

docs/src/operations/v2.0.0-M4/index.md

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: Allow List Management
3+
icon: share
4+
---
5+
You can read all about the concept of Allow Lists [in our introduction](/explore/concepts/allow-list.md).
6+
7+
## Overview
8+
To simplify the DSF Allow List Management we have built a portal for administration. The portal is managed by the GECKO Institute at Heilbronn University. You as an DSF administrator can create or update your Allow List information. The information you provide on this portal will be transferred to us and will be used to built Allow List bundles that get distributed to the communication partners of the distributed processes.
9+
10+
The DSF Allow List management tool uses client certificates for authentication. You can either use a personal client certificate or the client certificate from your DSF BPE, which needs to be added to your web-browsers certificate store.
11+
12+
13+
## Prerequisites
14+
1. Deployed DSF instance (test or production infrastructure)
15+
1.1 If none exists yet, read [the installation guide](install)
16+
2. Certificate
17+
2.1 If none exists yet, read [the certificate requirements](install#client-server-certificates)
18+
3. Organization identifier, shortest FQDN of your organizations website, e.g. `my-hospital.de`
19+
4. FHIR endpoint URL, e.g. `https://dsf.my-hospital.de/fhir`
20+
5. Contact details from a responsible person of your organization
21+
6. Access to the E-Mail address from your organization for verification
22+
23+
24+
## Start here
25+
When you have fulfilled all the prerequisites, you can start managing your Allow Lists via the environment specific Allow List Management Tool:
26+
27+
- [**Test** infrastructure](https://allowlist-test.gecko.hs-heilbronn.de)
28+
- [**Production** infrastructure](https://allowlist.gecko.hs-heilbronn.de)
29+
30+
We use different highlight colors for the DSF Allow List Management Tool: Green for the **Test** environment and blue for the **Production** infrastructure. To access the site, you have to authenticate yourself with a client certificate. Your web-browser will show a dialog to choose a valid certificate.
31+
32+
::: tip Ideas for improvement?
33+
Have you found an error or is something unclear to you? Then please feel free to contact us on the <a href="https://mii.zulipchat.com/#narrow/stream/392426-Data-Sharing-Framework-.28DSF.29">MII-Zulip Channel</a> or write us at <a href="mailto:[email protected]">[email protected]</a>. Thank you very much!
34+
:::
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: BPE Reverse Proxy
3+
icon: module
4+
---
5+
## Overview
6+
- [Configuration Parameters](configuration)
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
---
2+
title: Configuration Parameters
3+
icon: config
4+
---
5+
6+
### APP_SERVER_IP
7+
- **Required:** Yes
8+
- **Description:** Hostname or IP-Address of the DSF BPE server application container, the reverse proxy target
9+
- **Example:** `app`, `172.28.1.3`
10+
11+
12+
### HTTPS_SERVER_NAME_PORT
13+
- **Required:** Yes
14+
- **Description:** FQDN of your DSF BPE server with port, typically `443`
15+
- **Example:** `my-external.fqdn:443`
16+
17+
18+
### PROXY_PASS_CONNECTION_TIMEOUT_HTTP
19+
- **Required:** No
20+
- **Description:** Connection timeout (seconds) for reverse proxy to app server http connection, time the proxy waits for a connection to be established
21+
- **Default:** `30` seconds
22+
23+
24+
### PROXY_PASS_CONNECTION_TIMEOUT_WS
25+
- **Required:** No
26+
- **Description:** Connection timeout (seconds) for reverse proxy to app server ws connection, time the proxy waits for a connection to be established
27+
- **Default:** `30` seconds
28+
29+
30+
### PROXY_PASS_TIMEOUT_HTTP
31+
- **Required:** No
32+
- **Description:** Timeout (seconds) for reverse proxy to app server http connection, time the proxy waits for a reply
33+
- **Default:** `60` seconds
34+
35+
36+
### PROXY_PASS_TIMEOUT_WS
37+
- **Required:** No
38+
- **Description:** Timeout (seconds) for reverse proxy to app server ws connection, time the proxy waits for a reply
39+
- **Default:** `60` seconds
40+
41+
42+
### SERVER_CONTEXT_PATH
43+
- **Required:** No
44+
- **Description:** Reverse proxy context path that delegates to the app server, `/` character at start, no `/` character at end, use `''` (empty string) to configure root as context path
45+
- **Default:** `/bpe`
46+
47+
48+
### SSL_CA_CERTIFICATE_FILE
49+
- **Required:** No
50+
- **Description:** Certificate chain file including all issuing, intermediate and root certificates used to validate client certificates, PEM encoded, sets the apache httpd parameter `SSLCACertificateFile`
51+
- **Recommendation:** Use docker secret file to configure
52+
- **Default:** `ca/client_cert_ca_chains.pem`
53+
54+
55+
### SSL_CA_DN_REQUEST_FILE
56+
- **Required:** No
57+
- **Description:** File containing all signing certificates excepted, will be used to specify the `Acceptable client certificate CA names` send to the client, during TLS handshake, sets the apache httpd parameter `SSLCADNRequestFile`; if omitted all entries from `SSL_CA_CERTIFICATE_FILE` are used
58+
- **Recommendation:** Use docker secret file to configure
59+
- **Default:** `ca/client_cert_issuing_cas.pem`
60+
61+
62+
### SSL_CERTIFICATE_CHAIN_FILE
63+
- **Required:** No
64+
- **Description:** Certificate chain file, PEM encoded, must contain all certificates between the server certificate and the root ca certificate (excluding the root ca certificate), sets the apache httpd parameter `SSLCertificateChainFile`; can be omitted if either no chain is needed (self signed server certificate) or the file specified via `SSL_CERTIFICATE_FILE` contains the certificate chain
65+
- **Recommendation:** Use docker secret file to configure
66+
- **Example:** `/run/secrets/ssl_certificate_chain_file.pem`
67+
68+
69+
### SSL_CERTIFICATE_FILE
70+
- **Required:** Yes
71+
- **Description:** Server certificate file, PEM encoded, sets the apache httpd parameter `SSLCertificateFile`, may contain all certificates between the server certificate and the root ca certificate (excluding the root ca certificate). Omit `SSL_CERTIFICATE_CHAIN_FILE` if chain included
72+
- **Recommendation:** Use docker secret file to configure
73+
- **Example:** `/run/secrets/ssl_certificate_file.pem`
74+
75+
76+
### SSL_CERTIFICATE_KEY_FILE
77+
- **Required:** Yes
78+
- **Description:** Server certificate private key file, PEM encoded, unencrypted, sets the apache httpd parameter `SSLCertificateKeyFile`
79+
- **Recommendation:** Use docker secret file to configure
80+
- **Example:** `/run/secrets/ssl_certificate_key_file.pem`
81+
82+
83+
### SSL_EXPECTED_CLIENT_S_DN_C_VALUES
84+
- **Required:** No
85+
- **Description:** Expected client certificate subject DN country `C` values, must be a comma-separated list of strings in single quotation marks, e.g. `'DE', 'FR'`. If a client certificate with a not configured subject country `C` value is used, the server answers with a `403 Forbidden` status code
86+
- **Default:** `'DE'`
87+
88+
89+
### SSL_EXPECTED_CLIENT_I_DN_CN_VALUES
90+
- **Required:** No
91+
- **Description:** Expected client certificate issuer DN common-name `CN` values, must be a comma-separated list of strings in single quotation marks. If a client certificate from a not configured issuing ca common-name is used, the server answers with a `403 Forbidden` status code
92+
- **Default:** `'GEANT TLS ECC 1', 'HARICA OV TLS ECC', 'GEANT TLS RSA 1', 'HARICA OV TLS RSA', 'GEANT S/MIME ECC 1', 'HARICA S/MIME ECC', 'GEANT S/MIME RSA 1', 'HARICA S/MIME RSA', 'DFN-Verein Global Issuing CA', 'Fraunhofer User CA - G02', 'D-TRUST SSL Class 3 CA 1 2009', 'Sectigo RSA Organization Validation Secure Server CA', 'GEANT OV RSA CA 4', 'GEANT Personal CA 4', 'GEANT eScience Personal CA 4', 'Sectigo ECC Organization Validation Secure Server CA', 'GEANT OV ECC CA 4', 'GEANT Personal ECC CA 4', 'GEANT eScience Personal ECC CA 4', 'D-TRUST Limited Basic CA 1-2 2019', 'D-TRUST Limited Basic CA 1-3 2019'`
93+
94+
95+
### SSL_VERIFY_CLIENT
96+
- **Required:** No
97+
- **Description:** Modifies the apache mod_ssl config parameter `SSLVerifyClient`
98+
- **Recommendation:** Set to `optional` when using OIDC authentication
99+
- **Default:** `require`
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: BPE Server
3+
icon: module
4+
---
5+
## Overview
6+
- [Configuration Parameters](configuration)
7+
- [Access Control](access-control)
8+
- [OpenID Connect](oidc)

0 commit comments

Comments
 (0)