[v14] Fixes crash when writing kubeconfig with tctl auth sign --tar
#34874
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.
Backports #34612
Prior this patch, using the
--format=kubernetes
option withtctl auth sign --tar
would crash due to the filesystem abstractionused to capture the
tctl
output files did not support removing orstat
ing files.In addition, the kubeconfig file writer did not use the filesystem
abstraction given to the identity file writer, but would only write
files out to the host filesystem. This means that any kubeconfig
file oututs would not be included in the output tarfile stream.
This patch:
by
tctl
until the write is complete, and then stream the archiveout at the end. This gives sensible semabtics to the remove and
stat operations.
compatible with the one used by the identity file writer, so that
the kubeconfg file output is correctly caught by the tarfile writer.
Fixes: #34371
Changelog: Fixes crash when writing kubeconfig with
tctl auth sign --tar