Skip to content

confidential-data-hub: Enable Guest components be exposed on sockets#1080

Draft
Apokleos wants to merge 2 commits into
confidential-containers:mainfrom
Apokleos:guest-services
Draft

confidential-data-hub: Enable Guest components be exposed on sockets#1080
Apokleos wants to merge 2 commits into
confidential-containers:mainfrom
Apokleos:guest-services

Conversation

@Apokleos
Copy link
Copy Markdown
Contributor

@Apokleos Apokleos commented Aug 5, 2025

confidential-data-hub: Enable Guest components be exposed on sockets

This commit introduces a new binary, guest-services, which acts as a
generic launcher for TTRPC services within the Confidential Data Hub
(CDH).

This change allows various services (ImagePull, SealedSecrets, etc.) to
be run as separate TTRPC servers on individual Unix domain sockets. This
design:

  • Improves service modularity and decoupling.
  • Enables individual services to be managed and configured
    independently.
  • Includes robust server startup logic, such as cleaning up stale
    sockets, setting permissions, and handling graceful shutdown signals
    (SIGINT/SIGTERM).

The launcher uses clap for command-line parsing to easily select and
configure the desired service, aligning with a more robust,
microservice-oriented architecture.

Currently it's still under heavily developed as discussed in this RFC

Signed-off-by: Alex Lyn [email protected]

@Xynnn007
Copy link
Copy Markdown
Member

Xynnn007 commented Aug 5, 2025

A generic question: do you think we should merge this logic into CDH than adding a separate binary?

@Apokleos
Copy link
Copy Markdown
Contributor Author

Apokleos commented Aug 6, 2025

A generic question: do you think we should merge this logic into CDH than adding a separate binary?

Thx Ding. good question anyway. this is also my question with you. I have no strong option to make it a seperate binary or just wrapped in the original binary of cdh. I'd like hear different voices till we reach the same goal.

@Apokleos
Copy link
Copy Markdown
Contributor Author

Apokleos commented Aug 6, 2025

cc @fitzthum @burgerdev @mkulke Could you please take a look at this PR ? Appreciate it !

@Xynnn007
Copy link
Copy Markdown
Member

Xynnn007 commented Aug 6, 2025

Thx Ding. good question anyway. this is also my question with you. I have no strong option to make it a seperate binary or just wrapped in the original binary of cdh. I'd like hear different voices till we reach the same goal.

IMO if we are going to use this to replace CDH in kata rootfs, directly change CDH than adding a new tool would be much beneficial for maintaince.

@fitzthum
Copy link
Copy Markdown
Member

fitzthum commented Aug 6, 2025

Yeah the startup process for the CDH and AA is already a bit convoluted. I am wary of adding another component. Hopefully this could be a good chance to simplify things.

@burgerdev
Copy link
Copy Markdown
Contributor

What we need for the RFC is the functionality to launch the individual services on individual sockets, but other than that I don't think these need to be backed by different processes. Integrating the functionality into the CDH makes most sense, imho.

This commit introduces a new binary, `guest-services`, which acts as
a generic launcher for TTRPC services within the Confidential Data Hub
(CDH).

This change allows various services (ImagePull, SealedSecrets, etc.)
to be run as separate TTRPC servers on individual Unix domain sockets.
This design:
- Improves service modularity and decoupling.
- Enables individual services to be managed and configured
  independently.
- Includes robust server startup logic, such as cleaning up stale
sockets, setting permissions, and handling graceful shutdown signals
(SIGINT/SIGTERM).

The launcher uses `clap` for command-line parsing to easily select
and configure the desired service, aligning with a more robust,
microservice-oriented architecture.

Signed-off-by: Alex Lyn <[email protected]>
Add related items in Makefile to enable guest services building
configurable.

Signed-off-by: Alex Lyn <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants