Ansible Trekker Client (Share Nothing)
Manages components used specifically by a tenants. This deployment layer is being activated by management portal whenever user create a new client

Core Components
CouchDB (exclusive)
- Storage for registering user of gps device
- Deploy specific container for a client with container name
cdb_[client name].
Traccar (exclusive)
- Provides real-time GPS data for tenants.
- Configures tenant-specific integrations and endpoints.
- Enables geolocation tracking and reporting.
Snapmanhour (exclusive, deprecated)
- Generate ManhourSnapshot records from HeadcountSnapshot every 6 hours
- Written in Java
MariaDB
- Raw storage of gps position record
- Database schema per client.
- Schema naming convention
traccar_[client name].
Keycloak
- Manages authentication and authorization for tenants.
- Single Sign-On (SSO) client isolation.
- Ensures secure access with token-based authentication.
Automation Script
- Automates tenant setup.
- Creates tenant-specific configurations automatically.
- Streamlines deployment for new clients.
- Reduces manual intervention with predefined templates.
Conclusion
The Trekker Not Shared Infrastructure manage tenant-specific services. Its combination of Ansible playbooks, roles, and automation scripts ensures consistent deployments and efficient operations across multiple clients.