Commit Graph

22417 Commits

Author SHA1 Message Date
Pascal Bleser
084eb005e3 groupware: minor email searching response improvements + started implementing vacation response setting API 2025-12-09 09:15:36 +01:00
Pascal Bleser
2bdbc5a42e groupware: add identities of all accounts to the index resource 2025-12-09 09:15:36 +01:00
Pascal Bleser
0a5d13b916 groupware: fix email search, add variant that includes the full emails 2025-12-09 09:15:36 +01:00
Pascal Bleser
446a98dd62 groupware: fix email search, add variant that includes the full emails 2025-12-09 09:15:36 +01:00
Pascal Bleser
e6441e58d4 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}
2025-12-09 09:15:36 +01:00
Pascal Bleser
a64223fe7d groupware: implement message search with snippets 2025-12-09 09:15:36 +01:00
Pascal Bleser
6e4918b50b groupware: blob streaming (upload and download) 2025-12-09 09:15:36 +01:00
Pascal Bleser
ac8d2587c9 groupware: more JMAP operations implementation 2025-12-09 09:15:36 +01:00
Pascal Bleser
0d2a5e992c groupware: further implementation and improvements 2025-12-09 09:15:36 +01:00
Pascal Bleser
1b9249ecba upgrade Stalwart to 0.13.2 2025-12-09 09:15:36 +01:00
Pascal Bleser
94c932d6a7 refactored the Session object, refactored the services/groupware directory, and started Swagger documentation implementation 2025-12-09 09:15:36 +01:00
Pascal Bleser
8be4d11a5e groupware: refactoring the API mechanisms 2025-12-09 09:15:36 +01:00
Pascal Bleser
2191b1d011 groupware: implement JSON:API's error response format, with a revamped error handling in jmap and services/groupware 2025-12-09 09:15:36 +01:00
Pascal Bleser
07522ce79a 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
2025-12-09 09:15:36 +01:00
Pascal Bleser
d544efdec7 Groupware and jmap: cleanup and API documentation 2025-12-09 09:15:36 +01:00
Pascal Bleser
8df4ef67a2 groupware: remove unneeded messages.go that was a remainder from an earlier implementation attempt, which also fixes compilation issues due to changes in main 2025-12-09 09:15:36 +01:00
Pascal Bleser
2412e64cc5 opencloud_full: upgrade Stalwart to 0.12.5, and use the ghcr.io container repository to avoid Hub limits 2025-12-09 09:15:36 +01:00
Pascal Bleser
3f8076aa46 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...
2025-12-09 09:15:36 +01:00
Pascal Bleser
5920291ec7 fix Stalwart LDAP configuration 2025-12-09 09:15:36 +01:00
Pascal Bleser
772a902f6d Use password policy overlay in LDAP and configure Stalwart to use it 2025-12-09 09:15:36 +01:00
Pascal Bleser
e0ea733489 upgrade Stalwart to 0.12.4 2025-12-09 09:15:36 +01:00
Pascal Bleser
22e51bd4a1 groupware: removed debugging logs 2025-12-09 09:15:36 +01:00
Pascal Bleser
0f47e3aca8 jwkset: remove debugging printlns 2025-12-09 09:15:36 +01:00
Pascal Bleser
b3766abba5 auth-api: fix: was missing newly introduced metrics 2025-12-09 09:15:36 +01:00
Pascal Bleser
71cddaaf3c groupware and jmap improvements and refactoring 2025-12-09 09:15:36 +01:00
Pascal Bleser
a6cdb4e863 upgrade Stalwart to 0.12 2025-12-09 09:15:36 +01:00
Pascal Bleser
02f33bd1d8 minor corrections to the Stalwart configuration 2025-12-09 09:15:36 +01:00
Pascal Bleser
ebd58fcfdb 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
2025-12-09 09:15:36 +01:00
Pascal Bleser
4e6053cdbd add an auth-api service to make an exemplary implementation of an external authentication API for third party services such as Stalwart 2025-12-09 09:15:36 +01:00
Pascal Bleser
4cf4d44321 move services/groupware/pkg/jmap to pkg/jmap 2025-12-09 09:15:36 +01:00
Pascal Bleser
da9ed5f44b WIP: restructure the Jmap client, and implement the /me/messages Graph API endpoint with it 2025-12-09 09:15:36 +01:00
Pascal Bleser
6da208e754 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 2025-12-09 09:15:36 +01:00
Pascal Bleser
6620313b43 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 2025-12-09 09:15:36 +01:00
Pascal Bleser
72af257cbd add missing routing for /groupware (currently unprotected for testing) 2025-12-09 09:15:36 +01:00
Pascal Bleser
d638fba8c2 WIP: initial implementation of the groupware service 2025-12-09 09:15:36 +01:00
Pascal Bleser
0435d5679d Add Stalwart container to the opencloud_full deployment, using the OpenLDAP container as a directory for user authentication 2025-12-09 09:15:36 +01:00
Sawjan Gurung
8e2fab3c9d Merge pull request #1990 from opencloud-eu/test/fix-resource-checks
[full-ci][tests-only] test: proper resource existence check
2025-12-09 12:12:03 +05:45
Saw-jan
c3a7892889 test: proper resource existence check
Signed-off-by: Saw-jan <saw.jan.grg3e@gmail.com>
2025-12-09 10:51:06 +05:45
Viktor Scharf
db7c0a88dd set backport feature (#1973) 2025-12-06 17:13:07 +01:00
Michael Barz
64119b3f8a fix: enhance resource creation with detailed process information (#1978)
Co-authored-by: Stavros Kois <s.kois@outlook.com>
2025-12-05 15:08:39 +01:00
Viktor Scharf
6c171e11a2 check propfing after renaming data in file system (#1809) 2025-12-05 09:11:23 +01:00
Viktor Scharf
7318fde6a0 fix-get-attribute-test (#1974) 2025-12-04 14:24:57 +01:00
Viktor Scharf
6ce0cc6b1f replace golang image (#1955) 2025-12-03 15:02:25 +01:00
dependabot[bot]
3e81d1f1d8 build(deps): bump github.com/testcontainers/testcontainers-go
Bumps [github.com/testcontainers/testcontainers-go](https://github.com/testcontainers/testcontainers-go) from 0.39.0 to 0.40.0.
- [Release notes](https://github.com/testcontainers/testcontainers-go/releases)
- [Commits](https://github.com/testcontainers/testcontainers-go/compare/v0.39.0...v0.40.0)

---
updated-dependencies:
- dependency-name: github.com/testcontainers/testcontainers-go
  dependency-version: 0.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 12:12:51 +01:00
Jannik Stehle
d352d91210 Merge pull request #1965 from opencloud-eu/ci/chat-notification-url
ci: use secret for the chat notifications url
2025-12-03 11:53:49 +01:00
Jannik Stehle
434ba0a30a ci: use secret for the chat notifications url 2025-12-03 11:08:53 +01:00
opencloudeu
0f448f23a0 [tx] updated from transifex 2025-12-03 00:02:26 +00:00
Artur Neumann
babb97f8a6 Merge pull request #1956 from opencloud-eu/individual-it-patch-1
fix the link in quickstart script for itself
2025-12-02 21:11:25 +05:45
Artur Neumann
a6d637456d fix the link in quickstart script for itself
see also https://docs.opencloud.eu/docs/admin/intro#quick-start
2025-12-02 19:24:27 +05:45
OpenCloud Devops
986545da52 🎉 Release 4.0.0 (#1770)
* 🎉 Release 3.7.1

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0

* 🎉 Release 4.0.0
v4.0.0
2025-12-01 10:30:14 +01:00