feat: Implement SSH Agent Connector and gRPC server

- Added `AgentConnectorTrait` and `AgentConnector` for managing agent connections.
- Introduced `SshAgentConnector` to handle SSH-related functionalities and start a gRPC server.
- Created database entities for `agents`, `certificates`, `organizations`, `public_key_revocations`, `setup_tokens`, `upstreams`, `users`, `virtual_hosts`, and `workspaces` using SeaORM.
- Developed `CertificateService` for managing certificate generation and retrieval.
- Implemented the main server logic to initialize the database connection and start the agent server.
- Configured development settings in `development.toml` for server and database connections.
This commit is contained in:
GW_MC
2026-03-21 03:09:39 +00:00
parent 9640f03d69
commit f5eb25993b
27 changed files with 1581 additions and 2 deletions

View File

@@ -37,8 +37,7 @@ tower.workspace = true
tower-http = { workspace = true, features = ["fs", "cors"] }
# OpenAPI
utoipa = { version = "4", features = ["axum_extras"] }
utoipa-swagger-ui = { version = "6", features = ["axum"] }
utoipa = { version = "5.4", features = ["axum_extras"] }
# gRPC
tonic.workspace = true
@@ -79,6 +78,12 @@ handlebars.workspace = true
# Random generation
rand = "0.10"
clap = { workspace = true, features = ["derive"] }
rcgen = { version = "0.14.7", features = ["x509-parser"] }
time = "0.3"
# Cert handling
zip = { workspace = true }
[dev-dependencies]
tokio-test.workspace = true