District and venue registry managing physical locations and their organizational ownership.
| Server | hydravenues.experiencenet.com (91.98.117.16) |
| hcloud | hydraexperiencenet context, cx23 nbg1 |
| Config | /root/.hydravenues/config.yaml |
| Data | /root/.hydravenues/ |
| Service | systemctl status hydravenues |
| Logs | journalctl -u hydravenues -f |
| Health | GET /api/v1/health |
ssh root@91.98.117.16 systemctl status hydravenues
Or via the health endpoint:
curl -s https://hydravenues.experiencenet.com/api/v1/health
ssh root@91.98.117.16 journalctl -u hydravenues -f
Show last 100 lines:
ssh root@91.98.117.16 journalctl -u hydravenues -n 100 --no-pager
ssh root@91.98.117.16 systemctl restart hydravenues
Updates happen automatically. The service polls releases.experiencenet.com for new versions and applies them. To check the current version:
ssh root@91.98.117.16 hydravenues version
Never manually deploy -- always use the release pipeline (tag + push to trigger CI, release server distributes, service auto-updates).
Districts are infrastructure-level entities with no owner. They represent physical regions or areas.
curl -X POST https://hydravenues.experiencenet.com/api/v1/districts \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "District Name",
"region": "eu-west"
}'
Venues belong to an organization (managed via HydraOrganization) and are located within a district.
curl -X POST https://hydravenues.experiencenet.com/api/v1/venues \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Venue Name",
"district_id": "<district-id>",
"organization_id": "<organization-id>"
}'
curl -s https://hydravenues.experiencenet.com/api/v1/districts \
-H "Authorization: Bearer <token>" | jq .
curl -s https://hydravenues.experiencenet.com/api/v1/venues \
-H "Authorization: Bearer <token>" | jq .
curl -X DELETE https://hydravenues.experiencenet.com/api/v1/venues/<id> \
-H "Authorization: Bearer <token>"
Districts can only be deleted when no venues reference them.
curl -X DELETE https://hydravenues.experiencenet.com/api/v1/districts/<id> \
-H "Authorization: Bearer <token>"
organization_id links venues to their owning customer or agency./root/.hydravenues/. Separate stores for districts and venues. No database required.If the YAML store becomes corrupted (partial writes, disk issues):
systemctl stop hydravenuesls -la /root/.hydravenues/systemctl start hydravenuesjournalctl -u hydravenues -n 50 --no-pagercat /root/.hydravenues/config.yamlss -tlnp | grep <port>ls -la $(which hydravenues)hydravenues servecurl -s https://hydraauth.experiencenet.com/api/v1/verify -H "Authorization: Bearer <token>"ssh root@91.98.117.16 curl -s https://hydraauth.experiencenet.com/api/v1/healthssh root@91.98.117.16 date -- token validation may fail if the server clock is skewedIf a venue's organization_id points to a deleted organization:
curl -s https://hydravenues.experiencenet.com/api/v1/venues -H "Authorization: Bearer <token>" | jq .