Skip to content

Commit 6e5b298

Browse files
FelixTJDietrichFelix T.J. Dietrich
andauthored
chore: address the instance as hephaestus.build (#1829)
Co-authored-by: Felix T.J. Dietrich <felix.dietrich@financial-health-initiative.org>
1 parent e77ad55 commit 6e5b298

17 files changed

Lines changed: 55 additions & 44 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
"hephaestus": patch
3+
---
4+
5+
The TUM-operated instance is now addressed as `hephaestus.build`. The imprint, the privacy
6+
statement, the in-app footer links, `security.txt` and the documentation all name it, and the older
7+
`hephaestus.aet.cit.tum.de` address continues to reach the same instance. Source links follow the
8+
repository to the `hephaestus-build` organisation; images and signatures for releases cut before the
9+
move keep their original namespace and signing identity, so verifying an older release is unchanged.

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
<p><strong>Learn from the work you're already doing</strong></p>
1010

1111
<p>
12-
<a href="https://hephaestus.aet.cit.tum.de"><img alt="Open the TUM-operated Hephaestus web app" src="https://img.shields.io/badge/web_app-try_it-493C83"></a>
12+
<a href="https://hephaestus.build"><img alt="Open the TUM-operated Hephaestus web app" src="https://img.shields.io/badge/web_app-try_it-493C83"></a>
1313
<a href="https://docs.hephaestus.build/"><img alt="Read the Hephaestus documentation" src="https://img.shields.io/badge/docs-read_online-1F75CB?logo=docusaurus&logoColor=white"></a>
14-
<a href="https://github.com/ls1intum/Hephaestus/releases/latest"><img alt="Latest Hephaestus release" src="https://img.shields.io/github/v/release/ls1intum/Hephaestus?display_name=tag&sort=semver"></a>
15-
<a href="https://github.com/ls1intum/Hephaestus/actions/workflows/cicd.yml"><img alt="Hephaestus CI status" src="https://github.com/ls1intum/Hephaestus/actions/workflows/cicd.yml/badge.svg?branch=main"></a>
16-
<a href="https://github.com/ls1intum/Hephaestus/blob/main/LICENSE"><img alt="MIT license" src="https://img.shields.io/github/license/ls1intum/Hephaestus"></a>
14+
<a href="https://github.com/hephaestus-build/Hephaestus/releases/latest"><img alt="Latest Hephaestus release" src="https://img.shields.io/github/v/release/hephaestus-build/Hephaestus?display_name=tag&sort=semver"></a>
15+
<a href="https://github.com/hephaestus-build/Hephaestus/actions/workflows/cicd.yml"><img alt="Hephaestus CI status" src="https://github.com/hephaestus-build/Hephaestus/actions/workflows/cicd.yml/badge.svg?branch=main"></a>
16+
<a href="https://github.com/hephaestus-build/Hephaestus/blob/main/LICENSE"><img alt="MIT license" src="https://img.shields.io/github/license/hephaestus-build/Hephaestus"></a>
1717
</p>
1818
</div>
1919

@@ -39,12 +39,12 @@ relationships stay with people.
3939

4040
> [!IMPORTANT]
4141
> **Hephaestus is pre-1.0.** It is released continuously and only the
42-
> [latest release](https://github.com/ls1intum/Hephaestus/releases/latest) is supported — no
42+
> [latest release](https://github.com/hephaestus-build/Hephaestus/releases/latest) is supported — no
4343
> maintenance branches, no backports. Until 1.0, a *minor* release can change configuration or the
4444
> API in ways that need you to act, so read the release notes before every upgrade.
4545
> Version 1.0 is what makes upgrades, configuration, Compose and the REST API predictable:
4646
> [compatibility policy](https://docs.hephaestus.build/admin/compatibility-policy) ·
47-
> [1.0 milestone](https://github.com/ls1intum/Hephaestus/issues/1378).
47+
> [1.0 milestone](https://github.com/hephaestus-build/Hephaestus/issues/1378).
4848
4949
## What Hephaestus does
5050

@@ -81,13 +81,13 @@ The feedback is advisory: it does not approve a change for merge or grade anyone
8181

8282
## Get started
8383

84-
- **Try the hosted app:** open the [TUM deployment](https://hephaestus.aet.cit.tum.de).
84+
- **Try the hosted app:** open the [TUM deployment](https://hephaestus.build).
8585
- **Learn how it works:** read the [user guide](https://docs.hephaestus.build/user/overview).
8686
- **Run your own deployment.** One 64-bit Linux host, 4 vCPUs / 8 GB RAM / 40 GB SSD recommended:
8787

8888
```bash
8989
VERSION=0.76.0 # the release you are installing, without the leading "v"
90-
sudo git clone --depth 1 --branch "v$VERSION" https://github.com/ls1intum/Hephaestus.git /opt/hephaestus
90+
sudo git clone --depth 1 --branch "v$VERSION" https://github.com/hephaestus-build/Hephaestus.git /opt/hephaestus
9191
sudo chown -R "$USER" /opt/hephaestus
9292
cd /opt/hephaestus/docker/self-host
9393
cp .env.example .env
@@ -106,8 +106,8 @@ The feedback is advisory: it does not approve a change for merge or grade anyone
106106

107107
## Get help
108108

109-
- Ask questions and share ideas in [GitHub Discussions](https://github.com/ls1intum/Hephaestus/discussions).
110-
- Report reproducible bugs in [GitHub Issues](https://github.com/ls1intum/Hephaestus/issues).
109+
- Ask questions and share ideas in [GitHub Discussions](https://github.com/hephaestus-build/Hephaestus/discussions).
110+
- Report reproducible bugs in [GitHub Issues](https://github.com/hephaestus-build/Hephaestus/issues).
111111
- Report security vulnerabilities privately as described in [SECURITY.md](./SECURITY.md).
112112

113113
## Contributing

SECURITY.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.**
66

7-
Report privately via [GitHub private vulnerability reporting](https://github.com/ls1intum/Hephaestus/security/advisories/new) — it keeps the report confidential and credits you in the resulting advisory. If you cannot use GitHub, email [felixtj.dietrich@tum.de](mailto:felixtj.dietrich@tum.de) with the subject "Hephaestus Security Vulnerability Report".
7+
Report privately via [GitHub private vulnerability reporting](https://github.com/hephaestus-build/Hephaestus/security/advisories/new) — it keeps the report confidential and credits you in the resulting advisory. If you cannot use GitHub, email [felixtj.dietrich@tum.de](mailto:felixtj.dietrich@tum.de) with the subject "Hephaestus Security Vulnerability Report".
88

99
Please include as much as you can:
1010

@@ -19,7 +19,7 @@ Security reports are triaged before other work.
1919

2020
- **Initial response within 14 days.**
2121
- We follow **coordinated disclosure**: please give us time to ship a fix before disclosing publicly. If we cannot agree on a timeline, we treat **90 days** from your report as the default disclosure date, shortened when a vulnerability is being actively exploited.
22-
- Confirmed vulnerabilities are fixed as soon as feasible and published as [GitHub Security Advisories](https://github.com/ls1intum/Hephaestus/security/advisories). You are credited unless you prefer to stay anonymous.
22+
- Confirmed vulnerabilities are fixed as soon as feasible and published as [GitHub Security Advisories](https://github.com/hephaestus-build/Hephaestus/security/advisories). You are credited unless you prefer to stay anonymous.
2323

2424
We do not run a bug bounty program.
2525

@@ -53,4 +53,4 @@ Independent of this reporting channel, the project runs:
5353
- **Static analysis**: GitHub CodeQL
5454
- **Native alerts**: GitHub secret scanning and Dependabot dependency alerts
5555

56-
A machine-readable [`security.txt`](https://hephaestus.aet.cit.tum.de/.well-known/security.txt) ([RFC 9116](https://www.rfc-editor.org/info/rfc9116/)) points to this policy.
56+
A machine-readable [`security.txt`](https://hephaestus.build/.well-known/security.txt) ([RFC 9116](https://www.rfc-editor.org/info/rfc9116/)) points to this policy.

commitlint.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ const helpfulErrorsPlugin = {
110110
const configuration = {
111111
extends: ["@commitlint/config-conventional"],
112112
plugins: [helpfulErrorsPlugin],
113-
helpUrl: "https://github.com/ls1intum/Hephaestus/blob/main/CONTRIBUTING.md",
113+
helpUrl: "https://github.com/hephaestus-build/Hephaestus/blob/main/CONTRIBUTING.md",
114114
rules: {
115115
// Use custom rules for helpful error messages
116116
"type-enum-helpful": [2, "always"],

docker/preview/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ serialized through one Actions concurrency group, so previews never start at onc
8383

8484
## Coolify configuration
8585

86-
Create one Docker Compose application for `ls1intum/Hephaestus` on branch `main` and point it at
86+
Create one Docker Compose application for `hephaestus-build/Hephaestus` on branch `main` and point it at
8787
`/docker/preview/compose.app.yaml`.
8888

8989
1. Keep normal automatic deployment off. Disable the repository webhook that targets Coolify's

docs/admin/dsms/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description: Art. 30 / Art. 35 / Art. 28 records and source-governance controls
77

88
# Hephaestus — Data-Protection Documentation
99

10-
This folder is the data-protection package for the TUM-operated Hephaestus deployment at https://hephaestus.aet.cit.tum.de. Files are named after the GDPR articles they answer to, not after the TUM DSMS portal field labels. The portal supplies its own field prompts; submit by pasting from the fenced code blocks in `record-of-processing.md` into the corresponding form fields.
10+
This folder is the data-protection package for the TUM-operated Hephaestus deployment at https://hephaestus.build. Files are named after the GDPR articles they answer to, not after the TUM DSMS portal field labels. The portal supplies its own field prompts; submit by pasting from the fenced code blocks in `record-of-processing.md` into the corresponding form fields.
1111

1212
A different operator forking Hephaestus must amend, before opening their deployment to users: the controller block in `record-of-processing.md`, the operational-contact email, the Art. 28 row for any processor they engage that is not on the AET pool, the consent / public-task framing in `record-of-processing.md` "Legal basis", and the live privacy notice and imprint under `webapp/public/legal/profiles/`.
1313

@@ -21,7 +21,7 @@ A different operator forking Hephaestus must amend, before opening their deploym
2121
| [`artifact-source-governance.md`](./artifact-source-governance.md) | Approval, minimization, processor-egress, retention, and erasure gate for every AI-readable source. |
2222
| [`personal-data-map.md`](./personal-data-map.md) | Personal-data stores, export coverage, erasure paths, residual retention, and their verification. |
2323

24-
The live imprint and privacy pages are at https://hephaestus.aet.cit.tum.de/imprint and https://hephaestus.aet.cit.tum.de/privacy. Markdown source: [`webapp/public/legal/profiles/tumaet/`](https://github.com/ls1intum/Hephaestus/tree/main/webapp/public/legal/profiles/tumaet).
24+
The live imprint and privacy pages are at https://hephaestus.build/imprint and https://hephaestus.build/privacy. Markdown source: [`webapp/public/legal/profiles/tumaet/`](https://github.com/hephaestus-build/Hephaestus/tree/main/webapp/public/legal/profiles/tumaet).
2525

2626
## Maintenance
2727

docs/admin/dsms/artifact-source-governance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ missing or expired is never read, whatever the deployment sets. Disabling a use
5353
contract version in which that decision no longer permits it.
5454

5555
The runtime registry is
56-
[`source-use-decisions.json`](https://github.com/ls1intum/Hephaestus/blob/main/server/application/src/main/resources/contracts/artifact-source/1.0.0/source-use-decisions.json).
56+
[`source-use-decisions.json`](https://github.com/hephaestus-build/Hephaestus/blob/main/server/application/src/main/resources/contracts/artifact-source/1.0.0/source-use-decisions.json).
5757
It is an engineering gate and contains only releasable decision summaries. Each record governs exactly one source-use purpose; a source references separate records for automated review, feedback delivery, Mentor context, and operator evidence review:
5858

5959
- `ENGINEERING_BASELINE` with `ENGINEERING_APPROVED` records maintainer approval of the shipped, minimized

docs/admin/dsms/record-of-processing.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Hephaestus — Record of Processing Activities (Art. 30 GDPR)
22

3-
This file is the Art. 30 record for the TUM-operated Hephaestus deployment at https://hephaestus.aet.cit.tum.de. Each section maps to a single Art. 30 element. Fenced code blocks are paste-ready into the corresponding TUM DSMS form field at https://dsms.datenschutz.tum.de/; everything outside the fences is contextual.
3+
This file is the Art. 30 record for the TUM-operated Hephaestus deployment at https://hephaestus.build. Each section maps to a single Art. 30 element. Fenced code blocks are paste-ready into the corresponding TUM DSMS form field at https://dsms.datenschutz.tum.de/; everything outside the fences is contextual.
44

55
## Identifier
66

@@ -29,7 +29,7 @@ DSMS responsible person: Stephan Krusche (krusche@tum.de). Felix Dietrich (felix
2929
## Purpose and description (Art. 30(1)(b))
3030

3131
```text
32-
Hephaestus is a self-hosted web platform operated by AET on TUM infrastructure at https://hephaestus.aet.cit.tum.de. Its purpose is to support project-based software-engineering teaching at TUM and the development work of AET research projects by giving each contributor feedback on their collaborative engineering work: for example, whether a pull request is small enough to review well, or whether a review reply addresses the question raised.
32+
Hephaestus is a self-hosted web platform operated by AET on TUM infrastructure at https://hephaestus.build. Its purpose is to support project-based software-engineering teaching at TUM and the development work of AET research projects by giving each contributor feedback on their collaborative engineering work: for example, whether a pull request is small enough to review well, or whether a review reply addresses the question raised.
3333
3434
A workspace administrator connects one or more Git repositories from github.com or gitlab.lrz.de. Hephaestus then synchronises the pull/merge requests, issues, code reviews, review comments, and commit metadata authored in those repositories. The platform processes activity authored in the connected repositories, whether or not the author has signed in to Hephaestus.
3535
@@ -93,7 +93,7 @@ U.S. recipients are covered by the EU-US Data Privacy Framework (Commission Impl
9393
**Where stored**
9494

9595
```text
96-
Self-hosted by AET at https://hephaestus.aet.cit.tum.de on AET-administered infrastructure at TUM. Application data — including authentication state (accounts, federated identity links, the cookie-session revocation list, and the auth-event log) — in PostgreSQL, which also holds the practice-review job queue; webhook and integration-sync events in NATS JetStream. Local working copies of monitored repositories may be stored on the host filesystem when practice-review code execution is enabled. Container stdout goes to the Docker json-file driver. Every service in the stack sets an explicit rotation cap in the compose files: 50 MiB per file × 5 files for the webapp, the application server, the worker and PostgreSQL; 10 MiB × 3 for the webhook receiver, NATS, the reverse proxy and the maintenance page. No layer of the stack writes an HTTP access log — Tomcat's is explicitly disabled in the production profile, the Traefik reverse proxy is not started with `--accesslog` (Traefik's default is off), and both nginx containers (the static frontend and the maintenance page) disable it at the server level. No per-request IP/URL record is created anywhere.
96+
Self-hosted by AET at https://hephaestus.build on AET-administered infrastructure at TUM. Application data — including authentication state (accounts, federated identity links, the cookie-session revocation list, and the auth-event log) — in PostgreSQL, which also holds the practice-review job queue; webhook and integration-sync events in NATS JetStream. Local working copies of monitored repositories may be stored on the host filesystem when practice-review code execution is enabled. Container stdout goes to the Docker json-file driver. Every service in the stack sets an explicit rotation cap in the compose files: 50 MiB per file × 5 files for the webapp, the application server, the worker and PostgreSQL; 10 MiB × 3 for the webhook receiver, NATS, the reverse proxy and the maintenance page. No layer of the stack writes an HTTP access log — Tomcat's is explicitly disabled in the production profile, the Traefik reverse proxy is not started with `--accesslog` (Traefik's default is off), and both nginx containers (the static frontend and the maintenance page) disable it at the server level. No per-request IP/URL record is created anywhere.
9797
9898
Application and authentication data reside on TUM infrastructure within the EU. AI-assisted features additionally forward code snippets and surrounding discussion to the workspace-configured LLM provider (default for the TUM-operated deployment: Microsoft Azure OpenAI in an EU region).
9999
```
@@ -246,8 +246,8 @@ DSMS multi-select: tick `Data received from third parties` and `Directly from th
246246

247247
## Information duty (Art. 13)
248248

249-
- https://hephaestus.aet.cit.tum.de/privacy
250-
- https://hephaestus.aet.cit.tum.de/imprint
249+
- https://hephaestus.build/privacy
250+
- https://hephaestus.build/imprint
251251

252252
Markdown source under `webapp/public/legal/profiles/tumaet/`.
253253

docs/auth-glossary.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Strict subset of standard OIDC ID-Token claims:
4040

4141
| Claim | Type | Notes |
4242
|---|---|---|
43-
| `iss` | string | `https://hephaestus.aet.cit.tum.de` (env-configurable). |
43+
| `iss` | string | `https://hephaestus.build` (env-configurable). |
4444
| `sub` | string | `Account.id` as decimal. |
4545
| `aud` | string | `hephaestus-spa` for the SPA cookie. Future audiences allowed. |
4646
| `jti` | UUID | Inserted into `issued_jwt`. |

docs/docusaurus.config.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const config: Config = {
6060
},
6161

6262
customFields: {
63-
productUrl: "https://hephaestus.aet.cit.tum.de",
63+
productUrl: "https://hephaestus.build",
6464
repoUrl: "https://github.com/ls1intum/Hephaestus",
6565
},
6666

@@ -201,7 +201,7 @@ const config: Config = {
201201
},
202202

203203
{
204-
href: "https://hephaestus.aet.cit.tum.de",
204+
href: "https://hephaestus.build",
205205
label: "Open Hephaestus",
206206
position: "right",
207207
},
@@ -237,7 +237,7 @@ const config: Config = {
237237
},
238238
{
239239
label: "Open Hephaestus",
240-
href: "https://hephaestus.aet.cit.tum.de",
240+
href: "https://hephaestus.build",
241241
},
242242
],
243243
},
@@ -271,11 +271,11 @@ const config: Config = {
271271
},
272272
{
273273
label: "Imprint",
274-
href: "https://hephaestus.aet.cit.tum.de/imprint",
274+
href: "https://hephaestus.build/imprint",
275275
},
276276
{
277277
label: "Privacy",
278-
href: "https://hephaestus.aet.cit.tum.de/privacy",
278+
href: "https://hephaestus.build/privacy",
279279
},
280280
],
281281
},

0 commit comments

Comments
 (0)