Skip to content

Conversation

@javirln
Copy link
Member

@javirln javirln commented Feb 10, 2026

Store CA certificate content (base64-encoded) in config instead of file paths, enabling portable configurations across environments. The gRPC connection layer now accepts CA content directly via WithCAContent option.

PFM-4423

Store CA certificate content (base64-encoded) in config instead of file
paths, enabling portable configurations across environments. The gRPC
connection layer now accepts CA content directly via WithCAContent option.

Signed-off-by: Javier Rodriguez <javier@chainloop.dev>
@javirln javirln requested review from jiparis and migmartri February 10, 2026 09:11
@javirln javirln self-assigned this Feb 10, 2026
@javirln javirln changed the title feat(cli): support inline CA certificates in gRPC connections feat(cli): support inline CA certificates in gRPC connections and config Feb 10, 2026
Copy link
Member

@migmartri migmartri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@javirln we need to make sure new clients work with old configuration and the other way around.

In other words, new clients should be compatible with the deprecated path loading

Add unit tests for CA certificate loading functionality including file
path detection, PEM content loading, base64-encoded content, and option
functions. Tests verify backward compatibility with file paths and new
inline content support.

Signed-off-by: Javier Rodriguez <javier@chainloop.dev>
Signed-off-by: Javier Rodriguez <javier@chainloop.dev>
@javirln
Copy link
Member Author

javirln commented Feb 10, 2026

@javirln we need to make sure new clients work with old configuration and the other way around.

In other words, new clients should be compatible with the deprecated path loading

Yes, it is. I've added tests for that. It will attempt to load the path, and if successful, store it as base64. Otherwise, It will try to load the base64 directly.

@migmartri
Copy link
Member

@javirln we need to make sure new clients work with old configuration and the other way around.
In other words, new clients should be compatible with the deprecated path loading

Yes, it is. I've added tests for that. It will attempt to load the path, and if successful, store it as base64. Otherwise, It will try to load the base64 directly.

I don't mean the storing, but the consumption of an already stored path, just to confirm, is that covered?

Add tests verifying that new clients can consume old configurations with
stored file paths, and that the file path detection correctly routes to
the legacy loading method. Addresses PR feedback on backward compatibility.

Signed-off-by: Javier Rodriguez <javier@chainloop.dev>
@javirln
Copy link
Member Author

javirln commented Feb 10, 2026

@javirln we need to make sure new clients work with old configuration and the other way around.
In other words, new clients should be compatible with the deprecated path loading

Yes, it is. I've added tests for that. It will attempt to load the path, and if successful, store it as base64. Otherwise, It will try to load the base64 directly.

I don't mean the storing, but the consumption of an already stored path, just to confirm, is that covered?

Yes, it's backwards compatible with CAs as paths stored in the configuration from all the tests I could ran.

@javirln javirln marked this pull request as ready for review February 10, 2026 10:03
Signed-off-by: Javier Rodriguez <javier@chainloop.dev>
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.

2 participants