Commit Graph

23255 Commits

Author SHA1 Message Date
Pascal Bleser
970e7928ec groupware: minor email searching response improvements + started implementing vacation response setting API 2026-06-16 16:48:31 +02:00
Pascal Bleser
ee066f26d8 groupware: add identities of all accounts to the index resource 2026-06-16 16:48:31 +02:00
Pascal Bleser
54e1bfdf94 groupware: fix email search, add variant that includes the full emails 2026-06-16 16:48:31 +02:00
Pascal Bleser
f5ba41508f groupware: fix email search, add variant that includes the full emails 2026-06-16 16:48:31 +02:00
Pascal Bleser
1b1ef91f53 Groupware: refactor jmap package, implement Email/set, EmailSubmission
* refactor the jmap package to split it into several files as the
   jmap.api.go file was becoming too unwieldy

 * refactor the Groupware handler function response to be a Response
   object, to be more future-proof and avoid adding more and more
   return parameters while handling "no content" response as well

 * more godoc for the JMAP model

 * add Email creation, updating, deleting (Email/set,
   EmailSubmission/set)

 * add endpoints
   - POST /accounts/{accountid}/messages
   - PATCH|PUT /accounts/{accountid}/messages/{messageid}
   - DELETE /accounts/{accountid}/messages/{messageid}
2026-06-16 16:48:31 +02:00
Pascal Bleser
2aa8ad11af groupware: implement message search with snippets 2026-06-16 16:48:31 +02:00
Pascal Bleser
d2a2992944 groupware: blob streaming (upload and download) 2026-06-16 16:48:31 +02:00
Pascal Bleser
ef354d6065 groupware: more JMAP operations implementation 2026-06-16 16:48:31 +02:00
Pascal Bleser
cace541896 groupware: further implementation and improvements 2026-06-16 16:48:31 +02:00
Pascal Bleser
ec08d2b25f upgrade Stalwart to 0.13.2 2026-06-16 16:48:31 +02:00
Pascal Bleser
7b4aafad34 refactored the Session object, refactored the services/groupware directory, and started Swagger documentation implementation 2026-06-16 16:48:31 +02:00
Pascal Bleser
2c41319a27 groupware: refactoring the API mechanisms 2026-06-16 16:48:31 +02:00
Pascal Bleser
843793bdff groupware: implement JSON:API's error response format, with a revamped error handling in jmap and services/groupware 2026-06-16 16:48:31 +02:00
Pascal Bleser
11b7b94468 Refactor groupware service after ADR decision on the Groupware API
* after having decided that the Groupware API should be a standalone
   independent custom REST API that is using JMAP data models as much as
   possible,
 * removed Groupware APIs from the Graph service
 * moved Groupware implementation to the Groupware service, and
   refactored a few things accordingly
2026-06-16 16:48:31 +02:00
Pascal Bleser
7199509130 Groupware and jmap: cleanup and API documentation 2026-06-16 16:48:31 +02:00
Pascal Bleser
6c14a88f0f groupware: remove unneeded messages.go that was a remainder from an earlier implementation attempt, which also fixes compilation issues due to changes in main 2026-06-16 16:48:31 +02:00
Pascal Bleser
34227405df opencloud_full: upgrade Stalwart to 0.12.5, and use the ghcr.io container repository to avoid Hub limits 2026-06-16 16:48:31 +02:00
Pascal Bleser
01c10af655 Groupware improvements: refactoring, k6 tests
* refactored the models to be strongly typed with structs and mapstruct
   to decompose the dynamic parts of the JMAP payloads

 * externalized large JSON strings for tests into .json files under
   testdata/

 * added a couple of fantasy Graph groupware APIs to explore further
   options

 * added k6 scripts to test those graph/me/messages APIs, with a setup
   program to set up users in LDAP, fill their IMAP inbox, activate them
   in Stalwart, cleaning things up, etc...
2026-06-16 16:48:31 +02:00
Pascal Bleser
059a95eb8b fix Stalwart LDAP configuration 2026-06-16 16:48:31 +02:00
Pascal Bleser
951e20fde1 Use password policy overlay in LDAP and configure Stalwart to use it 2026-06-16 16:48:31 +02:00
Pascal Bleser
995ed47637 upgrade Stalwart to 0.12.4 2026-06-16 16:48:31 +02:00
Pascal Bleser
7043b87ca9 groupware: removed debugging logs 2026-06-16 16:48:31 +02:00
Pascal Bleser
0fd35ce8d1 jwkset: remove debugging printlns 2026-06-16 16:48:31 +02:00
Pascal Bleser
6142492c28 auth-api: fix: was missing newly introduced metrics 2026-06-16 16:48:31 +02:00
Pascal Bleser
b0e3a9ec89 groupware and jmap improvements and refactoring 2026-06-16 16:48:31 +02:00
Pascal Bleser
efee9c6739 upgrade Stalwart to 0.12 2026-06-16 16:48:31 +02:00
Pascal Bleser
2258e5f63b minor corrections to the Stalwart configuration 2026-06-16 16:48:30 +02:00
Pascal Bleser
3561f3cba5 Introduce a the auth-api service
* primitive implementation to demonstrate how it could work, still to
   be considered WIP at best

 * add new dependency: MicahParks/jwkset and MicahParks/keyfunc to
   retrieve the JWK set from KeyCloak to verify the signature of the
   JWTs sent as part of Bearer authentication in the /auth API

 * (minor) opencloud/.../service.go: clean up a logging statement that
   was introduced earlier to hunt down why the auth-api service was not
   being started
2026-06-16 16:48:30 +02:00
Pascal Bleser
26505f7443 add an auth-api service to make an exemplary implementation of an external authentication API for third party services such as Stalwart 2026-06-16 16:48:30 +02:00
Pascal Bleser
8e76649270 move services/groupware/pkg/jmap to pkg/jmap 2026-06-16 16:48:30 +02:00
Pascal Bleser
429880566c WIP: restructure the Jmap client, and implement the /me/messages Graph API endpoint with it 2026-06-16 16:48:30 +02:00
Pascal Bleser
e7c2ab55b6 add an OIDC Directory to Stalwart, requires exposing Keycloak port 8080 directly to access the userinfo endpoint using HTTP since the certificates in traefik are self-signed and end up being rejected by Stalwart with no option to bypass the certificate check 2026-06-16 16:48:30 +02:00
Pascal Bleser
9401b53a49 rename Stalwart fallback admin username from 'admin' to 'mailadmin' since 'admin' exists as a regular user in LDAP and thus won't have access to the administration 2026-06-16 16:48:30 +02:00
Pascal Bleser
f8328827a9 add missing routing for /groupware (currently unprotected for testing) 2026-06-16 16:48:30 +02:00
Pascal Bleser
91d2fb92e1 WIP: initial implementation of the groupware service 2026-06-16 16:48:30 +02:00
Pascal Bleser
73c626b013 Add Stalwart container to the opencloud_full deployment, using the OpenLDAP container as a directory for user authentication 2026-06-16 16:48:30 +02:00
Ralf Haferkamp
57d1cbc739 Merge pull request #2882 from opencloud-eu/dependabot/go_modules/github.com/go-chi/chi/v5-5.3.0
build(deps): bump github.com/go-chi/chi/v5 from 5.2.5 to 5.3.0
2026-06-16 15:53:53 +02:00
Jörn Friedrich Dreyer
81fd00043e Merge pull request #2063 from opencloud-eu/nats-tls-options
add tls support for all nats connections
2026-06-16 13:21:22 +02:00
dependabot[bot]
9ac5ed9274 build(deps): bump github.com/go-chi/chi/v5 from 5.2.5 to 5.3.0
Bumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi) from 5.2.5 to 5.3.0.
- [Release notes](https://github.com/go-chi/chi/releases)
- [Changelog](https://github.com/go-chi/chi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-chi/chi/compare/v5.2.5...v5.3.0)

---
updated-dependencies:
- dependency-name: github.com/go-chi/chi/v5
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 10:55:28 +00:00
Ralf Haferkamp
49aacef240 Merge pull request #2885 from opencloud-eu/dependabot/go_modules/github.com/nats-io/nats-server/v2-2.14.2
build(deps): bump github.com/nats-io/nats-server/v2 from 2.14.0 to 2.14.2
2026-06-16 12:53:57 +02:00
Ralf Haferkamp
46daf3f065 Merge pull request #2858 from opencloud-eu/dependabot/go_modules/github.com/open-policy-agent/opa-1.17.0
build(deps): bump github.com/open-policy-agent/opa from 1.15.2 to 1.17.1
2026-06-16 12:53:09 +02:00
Ralf Haferkamp
996c3b1ead Merge pull request #2797 from opencloud-eu/dependabot/go_modules/github.com/blevesearch/bleve/v2-2.6.0
build(deps): bump github.com/blevesearch/bleve/v2 from 2.5.7 to 2.6.0
2026-06-16 12:52:16 +02:00
dependabot[bot]
42987b038b build(deps): bump github.com/open-policy-agent/opa from 1.15.2 to 1.17.1
Bumps [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) from 1.15.2 to 1.17.1.
- [Release notes](https://github.com/open-policy-agent/opa/releases)
- [Changelog](https://github.com/open-policy-agent/opa/blob/v1.17.1/CHANGELOG.md)
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.15.2...v1.17.1)

---
updated-dependencies:
- dependency-name: github.com/open-policy-agent/opa
  dependency-version: 1.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 08:40:16 +00:00
Viktor Scharf
bb715fa4d4 Update .woodpecker.env 2026-06-16 10:37:12 +02:00
Viktor Scharf
50af682579 Update WEB_COMMITID in .woodpecker.env 2026-06-16 10:37:12 +02:00
Viktor Scharf
84607766c3 Update .woodpecker.env 2026-06-16 10:37:12 +02:00
Viktor Scharf
980ce494db Update WEB_COMMITID in .woodpecker.env 2026-06-16 10:37:12 +02:00
Viktor Scharf
0d132c0309 Update .woodpecker.env 2026-06-16 10:37:12 +02:00
Christian Richter
363a047b21 change web commit id & branch
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-06-16 10:37:12 +02:00
Christian Richter
f3f14e4a04 bump reva
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-06-16 10:37:12 +02:00