Skip to content
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

Support TLS configuration as raw bytes #647

Merged
merged 1 commit into from
Aug 9, 2024

Conversation

smulube
Copy link
Contributor

@smulube smulube commented Jun 17, 2024

This change is intended to allow users to configure TLS settings in the form of raw byte slices. This is particularly useful for situations where the FIX application is running in a cloud environment (e.g. k8s) and session configuration is loaded from a database (rather than a static file). In this scenario it is much more convenient to be able to load TLS key pairs from the DB in the form of byte slices, than it is to have to ensure files with the correct names exist on some persistent volume such that the FIX app can load them from disk correctly.

To support this we changed the basic type stored within SessionSettings to be a byte slice which means we are able to still support the existing settings model, but also handle raw byte slices we can use for TLS setup. The existing API exposed by SessionSettings remains unchanged meaning users should not have to update their codee, but we have added a new SetRaw and RawSetting accessors to directly read/write byte slice values.

This change is intended to allow users to configure TLS settings in the
form of raw byte slices. This is particularly useful for situations
where the FIX application is running in a cloud environment (e.g. k8s)
and session configuration is loaded from a database (rather than a
static file). In this scenario it is much more convenient to be able to
load TLS key pairs from the DB in the form of byte slices, than to have
to ensure files with the correct names exist on some persistent volume
such that the FIX app can load them from disk correctly.

To support this we changed the basic type stored within SessionSettings
to be a byte slice which means we are able to still support the existing
settings model, but also handle raw byte slices we can use for TLS
setup. The existing API exposed by SessionSettings remains unchanged
meaning users should not have to update their codee, but we have added a
new `SetRaw` and `RawSetting` accessors to directly read/write byte
slice values.
@ackleymi ackleymi merged commit 9191a58 into quickfixgo:main Aug 9, 2024
43 checks passed
@momin-javed
Copy link
Contributor

@smulube @ackleymi thanks for this! Is there going to be a release with this change included? We also require this feature in our systems in Prod.

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.

3 participants