-
Notifications
You must be signed in to change notification settings - Fork 3
feat: add TLS encryption for client-agent communication #269
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
a9a7542 to
2b64792
Compare
|
The agent will auto generate a self-signed key/certificate into the key and certificate path if no files exists in the path. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request implements TLS encryption for client-agent communication using Ed25519 self-signed certificates. TLS is enabled by default with an --insecure flag available for backward compatibility with plain HTTP. The implementation provides encryption only, without client authentication.
Key changes:
- New
internal/tlsutilpackage for certificate generation and management with auto-generation support - TLS client configuration in
dutctlwith InsecureSkipVerify to accept self-signed certificates - TLS server configuration in
dutagentwith configurable certificate paths and automatic certificate generation
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 13 comments.
| File | Description |
|---|---|
| internal/tlsutil/tlsutil.go | New package providing Ed25519 certificate generation, loading, and auto-generation functionality |
| cmds/dutctl/dutctl.go | Added TLS client support with --insecure flag and TLS/HTTPS transport configuration |
| cmds/dutagent/dutagent.go | Added TLS server support with certificate auto-generation, configurable paths, and --insecure fallback |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
2b64792 to
bd30857
Compare
49df9ea to
ed5eea3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
f6ff376 to
7f29510
Compare
Move the duplicated newInsecureClient implementation from dutctl and dutagent into a shared pkg/rpc.NewInsecureClient function. This eliminates code duplication and provides a single source of truth for h2c (HTTP/2 without TLS) client configuration. Signed-off-by: Fabian Wienand <fabian.wienand@9elements.com>
Implement TLS support using Ed25519 self-signed certificates to encrypt communication between dutctl client and dutagent server. TLS is enabled by default with an --insecure flag available for HTTP support. This provides encryption only, not client authentication. Any client can connect to the agent. Signed-off-by: Fabian Wienand <fabian.wienand@9elements.com>
Signed-off-by: Fabian Wienand <fabian.wienand@9elements.com>
7f29510 to
ab6f229
Compare
Implement TLS support using Ed25519 self-signed certificates to encrypt communication between dutctl client and dutagent server. TLS is enabled by default with an --insecure flag available for HTTP support. This provides encryption only, not client authentication. Any client can connect to the agent.