[VC-43753] CyberArk(client): extract cluster UID from data readings #687
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Stacked on #684
The problem with the first approach to getting the cluster ID (#670), -- the UID of the kube-system namespace -- is that it requires the agent to have a connection to a target Kubernetes cluster at startup.
But this breaks one of operating modes of the agent; it is designed so data can be collected and stored to a file by one instance, (
--one-shot --output-file) and then the data read from a file and uploaded to Venafi TLSPK (or CyberArk Discovery) by another separate instance (--one-shot --input-file).In this alternative approach, we use a dynamic data-gatherer to get all the namespaces, and extract the UID from the kube-system namespace before uploading to CyberArk.
extractClusterUIDFromReadingto derive the cluster UID fromark/namespacesdata readings.ConvertDataReadingsToCyberarkSnapshotto include the cluster UIDin the snapshot.
ark/namespacesdata gatherer.pkg/clusteruidpackage as its functionality is now integratedinto the client logic.
Part of: https://venafi.atlassian.net/browse/VC-43753
Followup PRs