Commit Graph

30 Commits

Author SHA256 Message Date
ad6ba2c8e6 More work.
Added chat service
Updated packet service to pass the tcp stream around in a Arc type.
Updated character position data to not require multiplying the coords
Added more debug logs
Added an interceptor for gRPC comms with the chat server
Updated build and push script for the chat server changes
2025-06-06 17:52:29 -04:00
a8755bd3de Add comprehensive documentation and unit tests
Documentation:
- Add detailed README files for all services (auth, character, database, launcher, packet, utils, world)
- Create API documentation for the database service with detailed endpoint specifications
- Document database schema and relationships
- Add service architecture overviews and configuration instructions

Unit Tests:
- Implement comprehensive test suite for database repositories (user, character, session)
- Add gRPC service tests for database interactions
- Create tests for packet service components (bufferpool, connection, packets)
- Add utility service tests (health check, logging, load balancer, redis cache, service discovery)
- Implement auth service user tests
- Add character service tests

Code Structure:
- Reorganize test files into a more consistent structure
- Create a dedicated tests crate for integration testing
- Add test helpers and mock implementations for easier testing
2025-04-09 13:29:53 -04:00
4046f56191 - removed: api-service
- removed: session-service
- updated: moved health check out of consul registration
- updated: get service info to pull the service from the default namespace for the service account
- updated: the rest of the services to be able to handle the new database tables
2025-03-20 22:53:49 -04:00
b9ebdd7080 - updated: logging setup to allow extra crates to be passed in for logging 2025-03-20 22:50:59 -04:00
98b8d412e7 - update: logging system to only show logs from the app and not any 3rd party dependencies 2025-03-19 02:13:02 -04:00
8e39c42046 - fix: unable to find a kubernetes service 2025-03-18 11:56:56 -04:00
f4bc414ebd - update: code update to use kube api instead of consul 2025-03-18 02:00:11 -04:00
cdf7bb3f15 - update: tell consul to use docker dns to resolve CNAME addresses
- add: load balancer for consul services
- update: dns lookup to now return the service address
- update: docker consul to the latest version
2025-03-12 15:39:45 -04:00
81068759e5 - update: docker compose to add custom networks
- add: get service endpoints by using consul dns
2025-03-10 06:09:26 -04:00
ae04d2bf5b - add: gRPC health check for gRPC services 2025-03-10 03:56:47 -04:00
14c6aa485a - add: redis cache refresh function sets the ttl for a key
- update: session service refresh session function now just updates the ttl of the session instead of calling set
2025-03-09 17:08:56 -04:00
b6f2d3f456 - chore: ran cargo fix on the codebase 2025-03-07 21:03:15 -05:00
292a298205 - update: grab version info to register from the cargo package
- update: docker volume to persist the registered service IDs
- update: consul service id function to store the service id in the services folder
2025-01-29 14:25:53 -05:00
6d35d15ac3 - add: ability to refresh the current session
- add: delete type to delete character request
- add: ability to update key in redis
- add: handle alive packet to refresh the session
- fix: delete now actually returns the time remaining correctly
- fix: character list now has the correct time until character deletion
2025-01-08 02:03:27 -05:00
584892ab97 - fix: compile issue on windows due to incorrect signal handling function call 2025-01-07 23:48:23 -05:00
9f63a5fd3a - update: moved signal handler into utils crate to make it easier to update
- fix: windows compile issue due to exposed unix signal
2025-01-05 22:49:55 -05:00
2ef85f85db - update: NullTerminatedString now derives Clone and Default 2025-01-05 20:56:32 -05:00
00468e9600 - update: generate_service_id function call now takes in the service name so the id file isn't always called utils_service_id.txt 2024-12-27 19:04:54 -05:00
18afa71d74 - add: logout grpc function
- add: logout packet handler
- add: connection state and service for storing connection data
- add: session service calls to auth-service
- fix: compile error on database service due to moved redis cache
2024-12-20 14:46:00 -05:00
3c1f8c40d6 - add: session-service
- move: redis_cache from database service to utils so it can be reused
- update: redis_cache set function to allow creating a key without a lifetime
- update: services to use the new get_or_generate_service_id function
2024-12-20 14:43:25 -05:00
07e991fbdc - add: function to get the service id if already ran, if not we now generate then store the id for future app runs (useful for docker containers) 2024-12-20 14:38:25 -05:00
aaa7143b11 - update: health check status output to health log 2024-12-17 20:03:12 -05:00
52455d6ffc - update: major refactor of the database-service to make it easy to add newer api services
- add: character database api
2024-12-17 01:58:18 -05:00
ff3f6b2148 - add: service version to metadata when registering with consul 2024-12-14 23:39:39 -05:00
444e69294c - move: null string to utils 2024-12-13 14:32:07 -05:00
38ea2ddb71 - add: handle channel list request
- add: handle server select request
- add: handle character list request stub
- add: start health check function for consul
2024-12-13 04:40:07 -05:00
9121b7f88b - add: consul tags and metadata
- update: login reply now requests for the character services from consul to build the server list
2024-12-10 15:46:13 -05:00
a7af7f1b9e - update: service discovery now supports retrieving multiple service nodes 2024-12-10 13:51:30 -05:00
13d4b45859 - add: uuid to generate service id for consul
- update: each service now generates a service id for registering with consul
2024-12-10 13:31:35 -05:00
e5c961d1b4 - add: utils library
- add: packet-service to handle game client packets
- fix: health check for database-service
- fix: health check for auth-service
2024-12-09 23:10:26 -05:00