The following dependencies are required to run the service correctly but they are not installed by the package. They must be installed if Mandatory otherwise user discretion is advised.
| Name | Mandatory/Optional |
|---|---|
| carbonio-mailbox | Mandatory |
Install carbonio-user-management via apt:
sudo apt install carbonio-user-managementor via yum:
sudo yum install carbonio-user-managementAfter the installation you must run pending-setups in order to register the service
in service-discover.
Build using maven:
mvn installThe uber-jar will be saved inside the app/target folder.
Unit tests:
mvn verify -Dskip.unit.tests=falseIntegration tests (requires Docker):
mvn verify -Dskip.integration.tests=falseWith the generated uber-jar:
java -Djava.net.preferIPv4Stack=true -jar app/target/carbonio-user-management-app-*-runner.jarStarts the full Docker stack (mailbox, consul, postgres) and the app with hot-reload:
mvn -pl app quarkus:devThis repo uses the pre-commit framework (.pre-commit-config.yaml).
Install it once per clone:
pip install --user pre-commit
pre-commit install --hook-type pre-commit --hook-type commit-msgBesides linting/formatting, pre-commit locally regenerates the files CI previously
generated and bot-committed (Jenkins now only verifies them):
THIRDPARTIES— regenerated via a vendored copy of jenkins-lib-common's license-maven-plugin invocation/template (.ci/thirdparties/).package/PKGBUILDsha256sums— verified/autofixed via a vendored copy of jenkins-lib-common'schecksum-verify.sh(.ci/checksum-verify.sh);SKIPentries (build artifacts, or sources whose content embedspkgver) are always preserved.
If a hook regenerates a file, pre-commit will fail that commit (by design — it does not
auto-stage changes for you). Review the diff, git add the regenerated file(s), and
re-run git commit.
Note: unlike some sibling services, this one exposes a real JAX-RS REST surface
(/internal/users/*, via UserResource / @Path) plus health endpoints (/q/health/*,
from quarkus-smallrye-health). Its app/docs/openapi.json, app/docs/openapi.yaml and
app/docs/configs.md are all actively regenerated by mvn package
(quarkus-smallrye-openapi + the config-doc extension) and are covered like any other
generated artifact — byte-identical check via the pre-commit hook / CI verification, not a
frozen historical artifact.
User Management service for Zextras Carbonio.
Released under the AGPL-3.0-only license as specified here: COPYING.
Copyright (C) 2022 Zextras https://www.zextras.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
See COPYING file for the project license details
See THIRDPARTIES file for other licenses details
All non-software material (such as, for example, names, images, logos, sounds) is owned by Zextras s.r.l. and is licensed under CC-BY-NC-SA.
Where not specified, all source files owned by Zextras s.r.l. are licensed under AGPL-3.0-only