Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
Currently only aws_key_management plugin needs AWS SDK, and only the KMS part of it. So now it checks if the AWS SDK is installed globally, if not it checks if it can be build (compiler is sufficiently new, etc), downloads it and builds KMS libraries only. If AWS SDK is not available and cannot be built, the plugin is skipped.
We might be getting more plugins that need AWS SDK. As we don't want every plugin to do the above, much of that logic must be moved to the top level. Something like
- before configuring plugins cmake checks if AWS SDK is installed globally (may be this is part can be dropped?) and, if not, whether it can be built
- every plugin registers what AWS SDK libraries it needs (for example, SET(AWS_SDK_BUILD "${AWS_SDK_BUILD},kms"). Also a plugin can skip itself if AWS SDK was found (by the previous step) to be impossible
- after plugins are configured, AWS SDK is downloaded and built (if not installed and AWS_SDK_BUILD list isn't empty)