-
Notifications
You must be signed in to change notification settings - Fork 157
Groupware #1994
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pbleser-oc
wants to merge
175
commits into
main
Choose a base branch
from
groupware
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Groupware #1994
Changes from all commits
Commits
Show all changes
175 commits
Select commit
Hold shift + click to select a range
0435d56
Add Stalwart container to the opencloud_full deployment, using the Op…
pbleser-oc d638fba
WIP: initial implementation of the groupware service
pbleser-oc 72af257
add missing routing for /groupware (currently unprotected for testing)
pbleser-oc 6620313
rename Stalwart fallback admin username from 'admin' to 'mailadmin' s…
pbleser-oc 6da208e
add an OIDC Directory to Stalwart, requires exposing Keycloak port 80…
pbleser-oc da9ed5f
WIP: restructure the Jmap client, and implement the /me/messages Grap…
pbleser-oc 4cf4d44
move services/groupware/pkg/jmap to pkg/jmap
pbleser-oc 4e6053c
add an auth-api service to make an exemplary implementation of an ext…
pbleser-oc ebd58fc
Introduce a the auth-api service
pbleser-oc 02f33bd
minor corrections to the Stalwart configuration
pbleser-oc a6cdb4e
upgrade Stalwart to 0.12
pbleser-oc 71cddaa
groupware and jmap improvements and refactoring
pbleser-oc b3766ab
auth-api: fix: was missing newly introduced metrics
pbleser-oc 0f47e3a
jwkset: remove debugging printlns
pbleser-oc 22e51bd
groupware: removed debugging logs
pbleser-oc e0ea733
upgrade Stalwart to 0.12.4
pbleser-oc 772a902
Use password policy overlay in LDAP and configure Stalwart to use it
pbleser-oc 5920291
fix Stalwart LDAP configuration
pbleser-oc 3f8076a
Groupware improvements: refactoring, k6 tests
pbleser-oc 2412e64
opencloud_full: upgrade Stalwart to 0.12.5, and use the ghcr.io conta…
pbleser-oc 8df4ef6
groupware: remove unneeded messages.go that was a remainder from an e…
pbleser-oc d544efd
Groupware and jmap: cleanup and API documentation
pbleser-oc 07522ce
Refactor groupware service after ADR decision on the Groupware API
pbleser-oc 2191b1d
groupware: implement JSON:API's error response format, with a revampe…
pbleser-oc 8be4d11
groupware: refactoring the API mechanisms
pbleser-oc 94c932d
refactored the Session object, refactored the services/groupware dire…
pbleser-oc 1b9249e
upgrade Stalwart to 0.13.2
pbleser-oc 0d2a5e9
groupware: further implementation and improvements
pbleser-oc ac8d258
groupware: more JMAP operations implementation
pbleser-oc 6e4918b
groupware: blob streaming (upload and download)
pbleser-oc a64223f
groupware: implement message search with snippets
pbleser-oc e6441e5
Groupware: refactor jmap package, implement Email/set, EmailSubmission
pbleser-oc 446a98d
groupware: fix email search, add variant that includes the full emails
pbleser-oc 0a5d13b
groupware: fix email search, add variant that includes the full emails
pbleser-oc 2bdbc5a
groupware: add identities of all accounts to the index resource
pbleser-oc 084eb00
groupware: minor email searching response improvements + started impl…
pbleser-oc 8d9c3b0
Groupware improvements
pbleser-oc 72ee47f
groupware: swagger API documentation improvements
pbleser-oc f97bc0e
groupware: add /bootstrap
pbleser-oc d214cfa
groupware: initial related emails implementation with SSE
pbleser-oc 0f3dac0
groupware: Etag handling
pbleser-oc 5b51804
groupware: implement metrics
pbleser-oc 1fc75a9
groupware: jmap: add metrics
pbleser-oc 724c445
groupware: improve metrics
pbleser-oc fc938bc
jmap: minor logging improvements
pbleser-oc 1d6433f
refactor(groupware): logging and metrics improvements
pbleser-oc 58583a6
docs(groupware): add Groupware related ADRs
pbleser-oc 3ac4bcf
groupware: fix debug server, was missing a lot of configuration optio…
pbleser-oc c9a4bb9
groupware: session handling improvements
pbleser-oc 3e48284
add a .gitignore entry for debug binaries built by VSCode when runnin…
pbleser-oc 33cc336
groupware: add DNS auto-discovery (currently disabled, needs testing)
pbleser-oc 1b732b8
refactor(groupware): session cache and DNS autodiscovery
pbleser-oc a8c2bea
test(groupware): add testcontainers based jmap test
pbleser-oc 62cace1
docs(groupware): OpenAPI improvements
pbleser-oc f470462
feat(groupware): add fetching all mailboxes for all accounts
pbleser-oc aab08dd
chore(groupware): add launcher for OC + containers for services
pbleser-oc 0da72cf
groupware: minor typo fixes
pbleser-oc 6224ded
refactor(groupware): add max requests check
pbleser-oc df21fdf
docs(groupware): add services/groupware/DEVELOPER.md
pbleser-oc c4fb13b
refactor(groupware): use a function for multi-account method call IDs
pbleser-oc 3026ddb
refactor(groupware): rename "Messages" to "Email" everywhere
pbleser-oc c31d7c5
fix(groupware): fix JMAP error handling
pbleser-oc d54e27d
docs(groupware): add configuration instructions to DEVELOPER.md
pbleser-oc 3cb78ed
more updates to the Groupware DEVELOPER.md
pbleser-oc 1d94e38
docs(groupware): more developer instructions
pbleser-oc 431a5ab
fix(groupware): update DEVELOPER.md imap-filler usage since it was up…
pbleser-oc 21ea094
jmap: modify GetBlob -> GetBlobMetadata
pbleser-oc a65a59b
groupware: improved attachment APIs
pbleser-oc c4a16e3
refactor(groupware): just use a function for the attachment picker
pbleser-oc 2ea8afe
feat(groupware): add WebsocketEndpoint to the JMAP Session
pbleser-oc 4fee453
start websocket implementation, add endpoint for email summaries
pbleser-oc 5cc98f0
Docker Compose Groupware improvements
pbleser-oc e2c9350
Implement JSContact (RFC9553) Model
pbleser-oc 0e3e960
JSContact: refactored after full test coverage, stronger typing for e…
pbleser-oc 85fed11
services/groupware/DEVELOPER.md: adapt to new path for the opencloud_…
pbleser-oc 09f69c5
implement JSCalendar (RFC 8984)
pbleser-oc 04b038a
opencloud_full: also keep the 'Trace-Id' HTTP header
pbleser-oc eeccb56
groupware: add mock endpoints for addressbooks and contacts
pbleser-oc 2c6ff6c
groupware: more mock data, added missing JMAP types
pbleser-oc ed488b5
groupware: implement JMAP Task specification
pbleser-oc ebd51db
groupware: add mock endpoints for tasklists and tasks
pbleser-oc 101f38d
/auth: add SkipXAccessToken:true
pbleser-oc f4f2466
groupware: add JMAP capability checking (in part: for contacts, calen…
pbleser-oc 17b281c
groupware: add flag to currently ignore session capability checks for…
pbleser-oc 01b4a1f
groupware: minor improvements to the DEVELOPER.md
pbleser-oc abb5719
groupware: add quota API + add support for Accept-Language and Conten…
pbleser-oc d79f0b3
groupware: update @redocly/cli: 2.2.2 -> 2.3.0
pbleser-oc a5701ce
groupware: improve instructions in DEVELOPER.md
pbleser-oc d95b9a8
groupware: add /quota for all accounts
pbleser-oc 2343e7f
groupware: add bootstrapping on / with quotas for all accounts
pbleser-oc 0052d6f
groupware: upgrade Stalwart in devtools from 0.13.2 to 0.13.4
pbleser-oc e6abc2d
groupware: rewrite JMAP integration test to be more reusable, and upg…
pbleser-oc 7587c54
groupware: improve jmap integration tests
pbleser-oc b369f8b
fixed connection reset issue. adapted make file to generate swagger d…
ScharfViktor 996bc85
docs(groupware): fix basepath in OpenAPI, /groupware instead of /grou…
pbleser-oc d7b6752
groupware: update @redocly/cli from 2.3.0 to 2.3.1
pbleser-oc 11a6996
groupware: devtools: Stalwart: add internal LDAP configuration
pbleser-oc 197c854
groupware: make everything also work with the built-in LDAP and IDP
pbleser-oc 3da0deb
groupware: for /accounts/all/emails/latest/summary, rename the ?unrea…
pbleser-oc 925d9b8
groupware: further updates to make everything work with the builtin L…
pbleser-oc d470b51
jmap: fix Email/set
pbleser-oc 051b483
docs(groupware): upgrade @redocly/cli 2.3.1 -> 2.4.0
pbleser-oc f5ac628
groupware: implement email updating and email keyword updating endpoints
pbleser-oc 96fcf96
groupware: add Mermaid diagrams to describe the two setup options
pbleser-oc 73fd7e0
jmap: add GetInboxNameForMultipleAccounts
pbleser-oc d3cb741
groupware: try an alternative way to configure Stalwart dynamically i…
pbleser-oc 2efc4fd
groupware: jmap: don't collpase threads when searching for emails, an…
pbleser-oc f1972e0
groupware: DEVELOPER.md: explain how to set a quota on a user using t…
pbleser-oc ecc9e6b
groupware: accept both '_' and '*' as the 'default account' placeholder
pbleser-oc 4cb8a8a
groupware: DEVELOPER.md: add note explaining LDAPTLS_REQCERT
pbleser-oc b580392
groupware: fix devtools LDAP passwords, as it was breaking regular op…
pbleser-oc cb2c6dc
groupware: fix NPE when one of the accounts is a group account
pbleser-oc 633679c
groupware: add instructions for using stalwart-admin
pbleser-oc df8b424
groupware:
pbleser-oc 1845fa8
groupware: add identity deletion
pbleser-oc 0d23867
groupware: add email HTML sanitization
pbleser-oc f024c2c
groupware: add searching emails by their Message-Id + retrieving an e…
pbleser-oc 4dfed5a
groupware: add the Retry-After header in responses when the session c…
pbleser-oc 0507779
groupware: add markAsSeen=true to mark an email as $seen before it is
pbleser-oc 8a97320
groupware: add headers Unmatched-Path and Unsupported-Method to make
pbleser-oc 46f8d27
groupware: improve email sanitization by using the mime package to pa…
pbleser-oc d80db93
groupware: add threadSize property in the email summary endpoint
pbleser-oc ed605f9
groupware: fix keyword patching syntax for markAsSeen=true
pbleser-oc 2358e61
groupware: fix keyword patching syntax for adding and removing email …
pbleser-oc 5e61c03
groupware: introduce constants for Email property names, see EmailSum…
pbleser-oc 84ce6b2
groupware: add threadSize in email-by-id response
pbleser-oc 1f59143
upgrade to Stalwart 0.14.0
pbleser-oc 276209c
groupware: add recipe for using ldapsearch in an Alpine container to …
pbleser-oc 0fdc5a0
groupware: add ContactCard operations
pbleser-oc ed730b0
groupware: add threadCount to /groupware/accounts/{accountId}/mailbox…
pbleser-oc 8530513
groupware: add missing total,limit,offset attributes in the QueryEmai…
pbleser-oc f15681c
groupware: fix compilation in tests after recent changes
pbleser-oc 43c1107
groupware: actually add total and limit to the email summary endpoint
pbleser-oc f2e5156
groupware: fix creating contacts
pbleser-oc 3cddb65
groupware: change /accounts endpoint to return an array with the acco…
pbleser-oc 26317a1
groupware: minor: reorganize the route nesting
pbleser-oc e9fb96e
groupware: jmap: fix id -> blobId attribute when uploading a blob
pbleser-oc 9275ff1
groupware: also change accounts to an array instead of a map in the r…
pbleser-oc 18027f1
groupware: add Mailbox sorting
pbleser-oc e36dff9
groupware: add ical blob parsing endpoint
pbleser-oc 0b393de
groupware: implement Mailbox modification endpoints + refactor ETag/s…
pbleser-oc d53f7be
groupware: implement/fix email submission
pbleser-oc 4c1b887
groupware: add real calendars and events
pbleser-oc dce5b16
groupware: move POST+DELETE of contacts and events as a top-level rou…
pbleser-oc db3efe6
groupware: return identities with accounts in the /accounts endpoint
pbleser-oc 000b7b2
groupware: some fixes accordingly to the latest JMAP and jscalendarbi…
pbleser-oc abd7a37
groupware: remove mock calendars and contacts
pbleser-oc 3465008
groupware: fix deserialization of Event Alert Trigger types using map…
pbleser-oc 29d9071
groupware: improved integration test for email, fixed two bugs
pbleser-oc 457e0d1
groupware: add getting a contact by ID + add integration tests for co…
pbleser-oc b305855
groupware: fix blob uploading metadata and add 'POST /blobs' route
pbleser-oc a6aeb78
groupware: fix recently introduced error with UploadedBlob with and w…
pbleser-oc b8f60f3
groupware: stalwart: add the magic sharing.allow-directory-query conf…
pbleser-oc e27df2c
groupware: improve JMAP integration tests for ContactCards
pbleser-oc 5dc9f71
groupware: improve JMAP ContactCard integration tests
pbleser-oc 9f65d90
groupware: refactor the JMAP integration tests
pbleser-oc 1ea251c
groupware: finalize JMAP events integration test, with multiple chang…
pbleser-oc ae9c8dc
groupware: feature test improvements and upgrade to Stalwart 0.14.1
pbleser-oc 225f6f6
groupware: add Object-Type and Account-Id response headers
pbleser-oc 282bee5
groupware: response payload /groupware/accounts/{id}/emails should be…
pbleser-oc 6a5c90e
groupware: fix email summaries and allow negative offsets
pbleser-oc 14bd930
groupware: JMAP WS push notifications support
pbleser-oc aa95437
groupware: WS push improvements, add getting email changes to WS inte…
pbleser-oc dfda4b3
groupware: upgrade the Stalwart image in devtools from 0.14.0 to 0.14.1
pbleser-oc d0effed
groupware, auth-api: remove tracing and tracing configuration
pbleser-oc 8ae4694
groupware: fix missing casting to jmap.State after changes in pkg/jmap
pbleser-oc e7d557c
groupware: minor: remove network declaration in stalwart.yml
pbleser-oc 25068ad
groupware: refactor response objects to take a list of accountIds
pbleser-oc 42cce92
groupware: add retrieving and adding mailboxIds for drafts and sent i…
pbleser-oc 5dc1f28
groupware: improve email submission and testing
pbleser-oc 6ff5b1a
groupware: add description and version annotations for env configurat…
pbleser-oc 3da6855
groupware: fix failing pkg/jscalendar unit tests
pbleser-oc dc7df40
groupware: fix failing pkg/jscontact unit tests
pbleser-oc 790a241
groupware: shift some attributes of the Groupware object around, in d…
pbleser-oc 3d8cad1
groupware: update to Stalwart 0.15.0
pbleser-oc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
devtools/deployments/opencloud_full/config/keycloak/clients/groupware.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| { | ||
| "clientId": "groupware", | ||
| "name": "OpenCloud Groupware", | ||
| "description": "Used for authenticating automated HTTP clients of the OpenCloud Groupware API", | ||
| "rootUrl": "", | ||
| "adminUrl": "", | ||
| "baseUrl": "", | ||
| "surrogateAuthRequired": false, | ||
| "enabled": true, | ||
| "alwaysDisplayInConsole": false, | ||
| "clientAuthenticatorType": "client-secret", | ||
| "redirectUris": [ | ||
| "/*" | ||
| ], | ||
| "webOrigins": [ | ||
| "/*" | ||
| ], | ||
| "notBefore": 0, | ||
| "bearerOnly": false, | ||
| "consentRequired": false, | ||
| "standardFlowEnabled": true, | ||
| "implicitFlowEnabled": false, | ||
| "directAccessGrantsEnabled": true, | ||
| "serviceAccountsEnabled": false, | ||
| "publicClient": true, | ||
| "frontchannelLogout": true, | ||
| "protocol": "openid-connect", | ||
| "attributes": { | ||
| "oidc.ciba.grant.enabled": "false", | ||
| "backchannel.logout.session.required": "true", | ||
| "oauth2.device.authorization.grant.enabled": "false", | ||
| "backchannel.logout.revoke.offline.tokens": "false" | ||
| }, | ||
| "authenticationFlowBindingOverrides": {}, | ||
| "fullScopeAllowed": true, | ||
| "nodeReRegistrationTimeout": -1, | ||
| "defaultClientScopes": [ | ||
| "web-origins", | ||
| "acr", | ||
| "profile", | ||
| "roles", | ||
| "groups", | ||
| "OpenCloudUnique_ID", | ||
| "basic", | ||
| "email" | ||
| ], | ||
| "optionalClientScopes": [ | ||
| "address", | ||
| "phone", | ||
| "offline_access", | ||
| "microprofile-jwt" | ||
| ], | ||
| "access": { | ||
| "view": true, | ||
| "configure": true, | ||
| "manage": true | ||
| } | ||
| } |
26 changes: 26 additions & 0 deletions
26
devtools/deployments/opencloud_full/config/ldap/ldif/11_ppolicy.ldif
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| dn: ou=policies,dc=opencloud,dc=eu | ||
| objectClass: organizationalUnit | ||
| objectClass: top | ||
| ou: policies | ||
|
|
||
| dn: cn=default,ou=policies,dc=opencloud,dc=eu | ||
| cn: default | ||
| objectClass: pwdPolicy | ||
| objectClass: person | ||
| objectClass: top | ||
| pwdAllowUserChange: TRUE | ||
| pwdAttribute: userPassword | ||
| pwdCheckQuality: 0 | ||
| pwdExpireWarning: 600 | ||
| pwdFailureCountInterval: 30 | ||
| pwdGraceAuthNLimit: 5 | ||
| pwdInHistory: 5 | ||
| pwdLockout: FALSE | ||
| pwdLockoutDuration: 0 | ||
| pwdMaxAge: 0 | ||
| pwdMaxFailure: 5 | ||
| pwdMinAge: 0 | ||
| pwdMinLength: 1 | ||
| pwdMustChange: FALSE | ||
| pwdSafeModify: FALSE | ||
| sn: default |
21 changes: 21 additions & 0 deletions
21
devtools/deployments/opencloud_full/config/stalwart/README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Stalwart Configuration | ||
|
|
||
| The mechanics are currently to mount a different configuration file depending on the environment, as we support two scenarios that are described in [`services/groupware/DEVELOPER.md`](../../../../../services/groupware/DEVELOPER.md): | ||
|
|
||
| * «production» setup, with OpenLDAP and Keycloak containers | ||
| * «homelab» setup, with the built-in IDM (LDAP) and IDP that run as part of the `opencloud` container | ||
|
|
||
| The Docker Compose setup (in [`stalwart.yml`](../../stalwart.yml)) mounts either [`idmldap.toml`](./idmldap.toml) or [`ldap.toml`](./ldap.toml) depending on how the variable `STALWART_AUTH_DIRECTORY` is set, which is either `idmldap` for the homelab setup, or `ldap` for the production setup. | ||
|
|
||
| This is thus all done automatically, but whenever changes are performed to Stalwart configuration files, they must be reflected across those two files, to keep them in sync, as the only entry that should differ is this one: | ||
|
|
||
| ```ruby | ||
| storage.directory = "ldap" | ||
| ``` | ||
|
|
||
| or this: | ||
|
|
||
| ```ruby | ||
| storage.directory = "idmldap" | ||
| ``` | ||
|
|
110 changes: 110 additions & 0 deletions
110
devtools/deployments/opencloud_full/config/stalwart/config.toml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,110 @@ | ||
| authentication.fallback-admin.secret = "$6$4qPYDVhaUHkKcY7s$bB6qhcukb9oFNYRIvaDZgbwxrMa2RvF5dumCjkBFdX19lSNqrgKltf3aPrFMuQQKkZpK2YNuQ83hB1B3NiWzj." | ||
| authentication.fallback-admin.user = "mailadmin" | ||
| authentication.master.secret = "$6$4qPYDVhaUHkKcY7s$bB6qhcukb9oFNYRIvaDZgbwxrMa2RvF5dumCjkBFdX19lSNqrgKltf3aPrFMuQQKkZpK2YNuQ83hB1B3NiWzj." | ||
| authentication.master.user = "master" | ||
| directory.idmldap.attributes.class = "objectClass" | ||
| directory.idmldap.attributes.description = "displayName" | ||
| directory.idmldap.attributes.email = "mail" | ||
| directory.idmldap.attributes.groups = "memberOf" | ||
| directory.idmldap.attributes.name = "uid" | ||
| directory.idmldap.attributes.secret = "userPassword" | ||
| directory.idmldap.base-dn = "o=libregraph-idm" | ||
| directory.idmldap.bind.auth.method = "default" | ||
| directory.idmldap.bind.dn = "uid=reva,ou=sysusers,o=libregraph-idm" | ||
| directory.idmldap.bind.secret = "admin" | ||
| directory.idmldap.cache.size = 1048576 | ||
| directory.idmldap.cache.ttl.negative = "10m" | ||
| directory.idmldap.cache.ttl.positive = "1h" | ||
| directory.idmldap.filter.email = "(&(|(objectClass=person)(objectClass=groupOfNames))(mail=?))" | ||
| directory.idmldap.filter.name = "(&(|(objectClass=person)(objectClass=groupOfNames))(uid=?))" | ||
| directory.idmldap.timeout = "15s" | ||
| directory.idmldap.tls.allow-invalid-certs = true | ||
| directory.idmldap.tls.enable = true | ||
| directory.idmldap.type = "ldap" | ||
| directory.idmldap.url = "ldaps://opencloud:9235" | ||
| directory.keycloak.auth.method = "user-token" | ||
| directory.keycloak.cache.size = 1048576 | ||
| directory.keycloak.cache.ttl.negative = "10m" | ||
| directory.keycloak.cache.ttl.positive = "1h" | ||
| directory.keycloak.endpoint.method = "introspect" | ||
| directory.keycloak.endpoint.url = "http://keycloak:8080/realms/openCloud/protocol/openid-connect/userinfo" | ||
| directory.keycloak.fields.email = "email" | ||
| directory.keycloak.fields.full-name = "name" | ||
| directory.keycloak.fields.username = "preferred_username" | ||
| directory.keycloak.timeout = "15s" | ||
| directory.keycloak.type = "oidc" | ||
| directory.ldap.attributes.class = "objectClass" | ||
| directory.ldap.attributes.description = "displayName" | ||
| directory.ldap.attributes.email = "mail" | ||
| directory.ldap.attributes.email-alias = "mailAlias" | ||
| directory.ldap.attributes.groups = "memberOf" | ||
| directory.ldap.attributes.name = "uid" | ||
| directory.ldap.attributes.secret = "userPassword" | ||
| directory.ldap.attributes.secret-changed = "pwdChangedTime" | ||
| directory.ldap.base-dn = "dc=opencloud,dc=eu" | ||
| directory.ldap.bind.auth.dn = "cn=?,ou=users,dc=opencloud,dc=eu" | ||
| directory.ldap.bind.auth.enable = true | ||
| directory.ldap.bind.auth.search = true | ||
| directory.ldap.bind.dn = "cn=admin,dc=opencloud,dc=eu" | ||
| directory.ldap.bind.secret = "admin" | ||
| directory.ldap.cache.ttl.negative = "10m" | ||
| directory.ldap.cache.ttl.positive = "1h" | ||
| directory.ldap.filter.email = "(&(|(objectClass=person)(objectClass=groupOfNames))(|(uid=?)(mail=?)(mailAlias=?)(cn=?)))" | ||
| directory.ldap.filter.name = "(&(|(objectClass=person)(objectClass=groupOfNames))(|(uid=?)(cn=?)))" | ||
| directory.ldap.timeout = "5s" | ||
| directory.ldap.tls.allow-invalid-certs = true | ||
| directory.ldap.tls.enable = true | ||
| directory.ldap.type = "ldap" | ||
| directory.ldap.url = "ldap://ldap-server:1389" | ||
| http.allowed-endpoint = 200 | ||
| http.hsts = true | ||
| http.permissive-cors = false | ||
| http.url = "'https://' + config_get('server.hostname')" | ||
| http.use-x-forwarded = true | ||
| metrics.prometheus.auth.secret = "secret" | ||
| metrics.prometheus.auth.username = "metrics" | ||
| metrics.prometheus.enable = true | ||
| server.listener.http.bind = "0.0.0.0:8080" | ||
| server.listener.http.protocol = "http" | ||
| server.listener.https.bind = "0.0.0.0:443" | ||
| server.listener.https.protocol = "http" | ||
| server.listener.https.tls.implicit = true | ||
| server.listener.imap.bind = "0.0.0.0:143" | ||
| server.listener.imap.protocol = "imap" | ||
| server.listener.imaptls.bind = "0.0.0.0:993" | ||
| server.listener.imaptls.protocol = "imap" | ||
| server.listener.imaptls.tls.implicit = true | ||
| server.listener.pop3.bind = "0.0.0.0:110" | ||
| server.listener.pop3.protocol = "pop3" | ||
| server.listener.pop3s.bind = "0.0.0.0:995" | ||
| server.listener.pop3s.protocol = "pop3" | ||
| server.listener.pop3s.tls.implicit = true | ||
| server.listener.sieve.bind = "0.0.0.0:4190" | ||
| server.listener.sieve.protocol = "managesieve" | ||
| server.listener.smtp.bind = "0.0.0.0:25" | ||
| server.listener.smtp.protocol = "smtp" | ||
| server.listener.submission.bind = "0.0.0.0:587" | ||
| server.listener.submission.protocol = "smtp" | ||
| server.listener.submissions.bind = "0.0.0.0:465" | ||
| server.listener.submissions.protocol = "smtp" | ||
| server.listener.submissions.tls.implicit = true | ||
| server.max-connections = 8192 | ||
| server.socket.backlog = 1024 | ||
| server.socket.nodelay = true | ||
| server.socket.reuse-addr = true | ||
| server.socket.reuse-port = true | ||
| storage.blob = "rocksdb" | ||
| storage.data = "rocksdb" | ||
| storage.directory = "%{env:STALWART_AUTH_DIRECTORY}%" | ||
| storage.fts = "rocksdb" | ||
| storage.lookup = "rocksdb" | ||
| store.rocksdb.compression = "lz4" | ||
| store.rocksdb.path = "/opt/stalwart/data" | ||
| store.rocksdb.type = "rocksdb" | ||
| tracer.console.ansi = true | ||
| tracer.console.buffered = true | ||
| tracer.console.enable = true | ||
| tracer.console.level = "trace" | ||
| tracer.console.lossy = false | ||
| tracer.console.multiline = false | ||
| tracer.console.type = "stdout" |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.