Merge pull request #273 from alexander-demicev/filesfromsecret

Fetch additional files from secrets
This commit is contained in:
Alexander Demicev 2024-02-27 12:28:22 +01:00 committed by GitHub
commit 0e94e1bec6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 29 additions and 1 deletions

View File

@ -489,10 +489,38 @@ func (r *RKE2ConfigReconciler) generateFileListIncludingRegistries(
Permissions: filePermissions, Permissions: filePermissions,
} }
additionalFiles := []bootstrapv1.File{}
for _, file := range scope.Config.Spec.Files {
if file.ContentFrom != nil {
scope.Logger.V(5).Info("File content is coming from a Secret, getting the content...")
fileContentSecret := &corev1.Secret{}
if err := r.Client.Get(ctx, types.NamespacedName{
Name: file.ContentFrom.Secret.Name,
Namespace: scope.Config.Namespace,
}, fileContentSecret); err != nil {
return nil, fmt.Errorf("unable to get secret %s/%s: %w", scope.Config.Namespace, file.ContentFrom.Secret.Name, err)
}
fileContent := fileContentSecret.Data[file.ContentFrom.Secret.Key]
if fileContent == nil {
return nil, fmt.Errorf("file content is empty for secret %s/%s, secret key %s",
scope.Config.Namespace, file.ContentFrom.Secret.Name, file.ContentFrom.Secret.Key)
}
file.Content = string(fileContent)
file.ContentFrom = nil
}
additionalFiles = append(additionalFiles, file)
}
files := configFiles files := configFiles
files = append(files, registryFiles...) files = append(files, registryFiles...)
files = append(files, initRegistriesFile) files = append(files, initRegistriesFile)
files = append(files, scope.Config.Spec.Files...) files = append(files, additionalFiles...)
return files, nil return files, nil
} }