2f5370bd98
Unit Tests / test (push) Successful in 11m24s
These files were created during Steps 1-4 of the services architecture but were never staged: AccountManager (per-service credential provisioning), ServiceComposer (docker-compose lifecycle), built-in service manifests for email/calendar/files, and their test suites (158 tests). Also un-tracks .coverage binaries that were accidentally committed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
69 lines
1.4 KiB
JSON
69 lines
1.4 KiB
JSON
{
|
|
"schema_version": 3,
|
|
"id": "calendar",
|
|
"name": "Calendar & Contacts",
|
|
"description": "Radicale CalDAV / CardDAV server",
|
|
"version": "1.0.0",
|
|
"author": "pic",
|
|
"kind": "builtin",
|
|
"min_pic_version": "1.0",
|
|
|
|
"capabilities": {
|
|
"has_subdomain": true,
|
|
"has_accounts": true,
|
|
"has_admin_config": true,
|
|
"has_storage": true,
|
|
"has_egress": true,
|
|
"has_api_hooks": false
|
|
},
|
|
|
|
"subdomain": "calendar",
|
|
"extra_subdomains": [],
|
|
"backend": "cell-radicale:5232",
|
|
|
|
"containers": ["cell-radicale"],
|
|
|
|
"config_schema": {
|
|
"port": {
|
|
"type": "integer",
|
|
"label": "CalDAV port (internal)",
|
|
"default": 5232,
|
|
"min": 1,
|
|
"max": 65535
|
|
}
|
|
},
|
|
|
|
"peer_config_template": {
|
|
"caldav_url": "https://calendar.{domain}/{peer.username}/",
|
|
"carddav_url": "https://calendar.{domain}/{peer.username}/",
|
|
"username": "{peer.username}",
|
|
"password": "{peer.service_credentials.calendar.password}"
|
|
},
|
|
|
|
"accounts": {
|
|
"manager": "calendar_manager",
|
|
"credentials": ["password"]
|
|
},
|
|
|
|
"compose": null,
|
|
|
|
"backup": {
|
|
"volumes": [
|
|
{"container": "cell-radicale", "path": "/data", "name": "radicale_data"}
|
|
],
|
|
"config_paths": [
|
|
"config/radicale"
|
|
]
|
|
},
|
|
|
|
"egress": {
|
|
"default": "default",
|
|
"allowed": ["default", "wireguard_ext", "openvpn", "tor"]
|
|
},
|
|
|
|
"storage": {
|
|
"primary_path": "data/radicale",
|
|
"quota_mb": null
|
|
}
|
|
}
|