Commit Graph

84 Commits

Author SHA1 Message Date
83d04dff17 feat(auth): replace .env/godotenv secret handling with config-based secrets
Secrets (JWT keys, LDAP sync password, OIDC client id/secret, cross-login
keys) are now configured directly in config.json under the auth section
where they are used. Each secret can still be supplied via its existing
environment variable, which takes precedence over the config value.

The godotenv dependency, the .env file, configs/env-template.txt and the
loadEnvironment() bootstrap step are removed. -init now writes the demo
JWT keys into config.json instead of a .env file.

Closes #283

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: 3a7cb814c53f
2026-06-17 12:28:17 +02:00
2b01b57495 feat: replace gorilla/sessions with alexedwards/scs/v2
Browser sessions are now server-side, stored in the SQLite database via
scs/sqlite3store (new `sessions` table, DB migration to version 12) instead
of gorilla/sessions client-side cookie storage. Only an opaque random token
is kept in the cookie; session data lives server-side and survives restarts.

Session middleware is wired as a hybrid to avoid buffering large responses:
scs.LoadAndSave on the login/logout write paths, and a non-buffering
read-only LoadSession middleware on the secured/config/frontend read paths
so the large GraphQL /query responses stream unbuffered. JWT-only APIs
(/api, /userapi, /api/metricstore) and static files are left unwrapped.

The session cookie Secure flag is now derived from the server config (set
when cc-backend terminates TLS itself); previously it was effectively never
set. The SESSION_KEY env var is removed as server-side tokens need no
signing secret. The dormant Bearer-JWT branch in the frontend urql client
is removed; the web UI authenticates GraphQL via the session cookie.

Closes #558

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Entire-Checkpoint: b51075f43cc7
2026-06-17 07:54:26 +02:00
9c6075ebb5 Update README to reflect main branch naming 2026-06-07 08:18:46 +02:00
01fb4d53f1 Fix broken link in README 2026-06-07 08:12:25 +02:00
ed236ec539 Add Make targets for formatting and linting
Add configuration and document usage in README

Entire-Checkpoint: 53425877e242
2026-03-30 16:23:12 +02:00
df93dbed63 Add busyTimeout config setting
Entire-Checkpoint: 81097a6c52a2
2026-03-16 11:30:21 +01:00
6e0fe62566 Add new db config options to README 2026-03-11 14:30:41 +01:00
7d8b305cd9 Add format conversion to archive manager 2026-02-13 13:54:10 +01:00
0dff9fa07f Update docs and agent files 2026-02-10 09:17:34 +01:00
f41301036b Move metricstore from internal to pkg 2026-01-23 07:49:47 +01:00
11ec2267da Major refactor of metric data handling
- make the  internal memory store required and default
- Rename memorystore to metricstore
- Rename metricDataDispatcher to metricdispatch
- Remove metricdata package
- Introduce metricsync package for upstream metric data pull
2025-12-25 08:42:54 +01:00
9bf5c5dc1a Update README and config schema 2025-12-23 09:34:09 +01:00
1cd4a57bd3 Remove support for mysql/mariadb 2025-12-20 11:13:41 +01:00
5698d5216f Reformat 2025-12-15 11:24:56 +01:00
Jan Eitzinger
0cb50f2f01 Add warning for master branch usability
Added warning about the master branch not being production-ready.
2025-10-28 09:11:23 +01:00
c093cca8b1 Update README 2024-11-16 07:45:18 +01:00
e7ae9dd06d Cleanup README 2024-02-13 11:55:00 +01:00
Jan Eitzinger
d388a45630 Update README.md 2023-09-06 13:56:55 +02:00
Christoph Kluge
f6c4c963ec feat: Add users rest endpoint swagger docs 2023-08-18 17:18:31 +02:00
Jan Eitzinger
2c56bfd89e Update README.md 2023-06-29 15:16:21 +02:00
463b60acb6 Update doc files 2023-06-26 12:39:08 +02:00
Jan Eitzinger
1ee47bbc99 Merge pull request #142 from ClusterCockpit/hotfix
Hotfix
2023-06-14 14:37:37 +02:00
Alex
8ab482d503 Fix demo password in README.md 2023-06-14 10:33:01 +02:00
9bdd608361 Extend docs 2023-06-14 07:31:29 +02:00
18bbd11c5e Update documentation 2023-06-13 14:35:57 +02:00
3b2fbcfb52 Update README.md 2023-04-29 06:40:12 +02:00
Jan Eitzinger
5af1fa19b9 Update README.md 2023-02-27 09:12:26 +01:00
Jan Eitzinger
2472698367 Update README.md 2023-02-27 09:12:04 +01:00
Jan Eitzinger
57951bdcc2 Update README.md 2023-02-22 10:05:16 +01:00
8588664043 Update README.md 2023-02-22 10:04:37 +01:00
15e71869a8 Add notice about required golang version 2023-02-22 10:03:41 +01:00
Jan Eitzinger
6c0d192662 Update README.md 2023-02-21 18:04:37 +01:00
42d3318125 Add documentation in README 2023-02-21 13:50:15 +01:00
Jan Eitzinger
e00e3208ca Update README.md 2022-11-11 14:19:36 +01:00
Jan Eitzinger
126630e01f Update README.md 2022-11-11 10:52:43 +01:00
Jan Eitzinger
d50b777d7b Update README.md 2022-11-05 08:31:36 +01:00
Jan Eitzinger
31bee38790 Update README.md 2022-11-05 08:30:57 +01:00
Jan Eitzinger
f368f83967 Update README.md 2022-11-05 08:21:16 +01:00
Jan Eitzinger
bf15bdd003 Update README.md 2022-11-05 07:51:08 +01:00
Jan Eitzinger
8cea7fcbb2 Update README.md 2022-11-05 07:48:53 +01:00
Jan Eitzinger
9d9690b2ff Update README.md 2022-09-27 07:46:18 +02:00
Jan Eitzinger
4af3b62567 Update README.md 2022-09-27 07:44:35 +02:00
Jan Eitzinger
7eebc0b5b7 Update README.md 2022-09-26 16:39:34 +02:00
Jan Eitzinger
d1fefe16a3 Update README.md 2022-09-26 15:46:38 +02:00
Jan Eitzinger
2753cf5652 Update README.md 2022-09-26 14:19:15 +02:00
Jan Eitzinger
597fe955fa Update README.md 2022-09-16 07:05:44 +02:00
Jan Eitzinger
ae26c86e3b Add description on Swagger UI 2022-09-16 06:39:12 +02:00
Lou Knauer
f2f54bec4b Fixes #18: Update documentation 2022-07-08 11:01:51 +02:00
Jan Eitzinger
c1b7c8c6ae Update README.md 2022-07-06 06:37:30 +02:00
Jan Eitzinger
17f04a12dc Update README.md 2022-07-04 13:35:49 +02:00