Commit Graph

23320 Commits

Author SHA1 Message Date
Pascal Bleser
2e4bc60f87 groupware: add identities of all accounts to the index resource 2026-07-01 14:56:55 +02:00
Pascal Bleser
e2e8bcd4c1 groupware: fix email search, add variant that includes the full emails 2026-07-01 14:56:55 +02:00
Pascal Bleser
f01fdcadd7 groupware: fix email search, add variant that includes the full emails 2026-07-01 14:56:55 +02:00
Pascal Bleser
3f432deb79 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-07-01 14:56:55 +02:00
Pascal Bleser
c1337a9c04 groupware: implement message search with snippets 2026-07-01 14:56:55 +02:00
Pascal Bleser
29fa354b81 groupware: blob streaming (upload and download) 2026-07-01 14:56:55 +02:00
Pascal Bleser
6720b09349 groupware: more JMAP operations implementation 2026-07-01 14:56:55 +02:00
Pascal Bleser
10f89892b0 groupware: further implementation and improvements 2026-07-01 14:56:55 +02:00
Pascal Bleser
9e6e824d17 upgrade Stalwart to 0.13.2 2026-07-01 14:56:55 +02:00
Pascal Bleser
bf6baf57ab refactored the Session object, refactored the services/groupware directory, and started Swagger documentation implementation 2026-07-01 14:56:55 +02:00
Pascal Bleser
51f3827751 groupware: refactoring the API mechanisms 2026-07-01 14:56:55 +02:00
Pascal Bleser
91bf6a36db groupware: implement JSON:API's error response format, with a revamped error handling in jmap and services/groupware 2026-07-01 14:56:55 +02:00
Pascal Bleser
9d3fd1cd27 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-07-01 14:56:55 +02:00
Pascal Bleser
f6d6c08ceb Groupware and jmap: cleanup and API documentation 2026-07-01 14:56:55 +02:00
Pascal Bleser
adc839f0ec 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-07-01 14:56:55 +02:00
Pascal Bleser
5b147e9978 opencloud_full: upgrade Stalwart to 0.12.5, and use the ghcr.io container repository to avoid Hub limits 2026-07-01 14:56:55 +02:00
Pascal Bleser
8e9981ff42 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-07-01 14:56:55 +02:00
Pascal Bleser
99a3454924 fix Stalwart LDAP configuration 2026-07-01 14:56:55 +02:00
Pascal Bleser
5feb97d3be Use password policy overlay in LDAP and configure Stalwart to use it 2026-07-01 14:56:55 +02:00
Pascal Bleser
17749afd57 upgrade Stalwart to 0.12.4 2026-07-01 14:56:55 +02:00
Pascal Bleser
22ce836074 groupware: removed debugging logs 2026-07-01 14:56:55 +02:00
Pascal Bleser
d8d955417e jwkset: remove debugging printlns 2026-07-01 14:56:55 +02:00
Pascal Bleser
5688543f25 auth-api: fix: was missing newly introduced metrics 2026-07-01 14:56:55 +02:00
Pascal Bleser
e0b8090f94 groupware and jmap improvements and refactoring 2026-07-01 14:56:55 +02:00
Pascal Bleser
10cabc8175 upgrade Stalwart to 0.12 2026-07-01 14:56:55 +02:00
Pascal Bleser
0c802c1e7a minor corrections to the Stalwart configuration 2026-07-01 14:56:55 +02:00
Pascal Bleser
3f92844dcd 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-07-01 14:56:55 +02:00
Pascal Bleser
aacc8dafd0 add an auth-api service to make an exemplary implementation of an external authentication API for third party services such as Stalwart 2026-07-01 14:56:55 +02:00
Pascal Bleser
2a169ac647 move services/groupware/pkg/jmap to pkg/jmap 2026-07-01 14:56:55 +02:00
Pascal Bleser
eeffbdc9fc WIP: restructure the Jmap client, and implement the /me/messages Graph API endpoint with it 2026-07-01 14:56:55 +02:00
Pascal Bleser
064dfbb630 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-07-01 14:56:55 +02:00
Pascal Bleser
3285c30266 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-07-01 14:56:55 +02:00
Pascal Bleser
198cf4b6ee add missing routing for /groupware (currently unprotected for testing) 2026-07-01 14:56:55 +02:00
Pascal Bleser
745b90eec5 WIP: initial implementation of the groupware service 2026-07-01 14:56:55 +02:00
Pascal Bleser
fa9f9af294 Add Stalwart container to the opencloud_full deployment, using the OpenLDAP container as a directory for user authentication 2026-07-01 14:56:55 +02:00
Alex
93fb9cbf6c feat: adjust theme chrome colors and logos (#2599) 2026-07-01 13:20:39 +02:00
dependabot[bot]
e599fa57aa build(deps): bump github.com/jellydator/ttlcache/v3 from 3.4.0 to 3.4.1
Bumps [github.com/jellydator/ttlcache/v3](https://github.com/jellydator/ttlcache) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/jellydator/ttlcache/releases)
- [Commits](https://github.com/jellydator/ttlcache/compare/v3.4.0...v3.4.1)

---
updated-dependencies:
- dependency-name: github.com/jellydator/ttlcache/v3
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 09:57:45 +02:00
dependabot[bot]
00ec9a8898 build(deps): bump go.etcd.io/bbolt from 1.4.3 to 1.5.0
Bumps [go.etcd.io/bbolt](https://github.com/etcd-io/bbolt) from 1.4.3 to 1.5.0.
- [Release notes](https://github.com/etcd-io/bbolt/releases)
- [Commits](https://github.com/etcd-io/bbolt/compare/v1.4.3...v1.5.0)

---
updated-dependencies:
- dependency-name: go.etcd.io/bbolt
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 09:56:17 +02:00
Ralf Haferkamp
22485957fe chore: bump version in license-checker clarifications 2026-06-30 18:10:16 +02:00
dependabot[bot]
06c7d6d7af build(deps-dev): bump i18next-conv in /services/idp
Bumps [i18next-conv](https://github.com/i18next/i18next-gettext-converter) from 15.1.2 to 17.0.0.
- [Release notes](https://github.com/i18next/i18next-gettext-converter/releases)
- [Changelog](https://github.com/i18next/i18next-gettext-converter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-gettext-converter/compare/v15.1.2...v17.0.0)

---
updated-dependencies:
- dependency-name: i18next-conv
  dependency-version: 17.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-30 18:10:16 +02:00
opencloudeu
858f03fde4 [tx] updated from transifex 2026-06-29 23:16:21 +00:00
Michael Stingl
ea29a5d1a4 test(apiSpaces): a space admin can delete a space with no manager (#3040)
#1877 reordered the api-test teardown to delete spaces before users, so the
state where a project space's manager has been deleted is no longer exercised.
This adds explicit coverage for it: the only manager of a project space is
deleted, and a space admin can still list and delete (disable + purge) the space.

Related: #1878
2026-06-29 10:00:44 +02:00
Jannik Stehle
012d817288 Merge pull request #3019 from opencloud-eu/chore/bump-web-skill
chore(skills): add skill for bumping web
2026-06-29 09:52:36 +02:00
Ralf Haferkamp
ab7cf4655a Merge pull request #3023 from opencloud-eu/dependabot/go_modules/github.com/testcontainers/testcontainers-go/modules/opensearch-0.43.0
build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch from 0.42.0 to 0.43.0
2026-06-26 12:53:53 +02:00
Ralf Haferkamp
9318001dcc Merge pull request #3024 from opencloud-eu/dependabot/go_modules/go.opentelemetry.io/contrib/zpages-0.69.0
build(deps): bump go.opentelemetry.io/contrib/zpages from 0.68.0 to 0.69.0
2026-06-26 11:37:38 +02:00
Ralf Haferkamp
a7b57ccfc2 Merge pull request #3022 from opencloud-eu/dependabot/go_modules/github.com/onsi/ginkgo/v2-2.32.0
build(deps): bump github.com/onsi/ginkgo/v2 from 2.31.0 to 2.32.0
2026-06-26 09:19:09 +02:00
Ralf Haferkamp
6300c99924 Merge pull request #3025 from rhafer/bump-reva
chore: switch reva back from fork
2026-06-26 09:17:42 +02:00
Benedikt Kulmann
701aa28b22 Merge pull request #3001 from fschade/collaboration-optinal-events
fix: make the collaboration service events optional
2026-06-26 08:38:42 +02:00
Ralf Haferkamp
b9a945c5b9 chore: switch reva back from fork 2026-06-25 17:25:56 +02:00
dependabot[bot]
a06ad04701 build(deps): bump github.com/onsi/ginkgo/v2 from 2.31.0 to 2.32.0
Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.31.0 to 2.32.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v2.31.0...v2.32.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-version: 2.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-25 14:58:01 +00:00