forked from cerc-io/stack-orchestrator
so-m3m: add credentials-files spec key for on-disk credential injection
_write_config_file() now reads each file listed under the credentials-files top-level spec key and appends its contents to config.env after config vars. Paths support ~ expansion. Missing files fail hard with sys.exit(1). Also adds get_credentials_files() to Spec class following the same pattern as get_image_registry_config(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
0e4ecc3602
commit
25e5ff09d9
6 files changed
+97
-59
No files matched your search
@@ -695,6 +695,19 @@ def _write_config_file(
|
||||
continue
|
||||
output_file.write(f"{variable_name}={variable_value}\n")
|
||||
|
||||
# Append contents of credentials files listed in spec
|
||||
credentials_files = spec_content.get("credentials-files", []) or []
|
||||
for cred_path_str in credentials_files:
|
||||
cred_path = Path(cred_path_str).expanduser()
|
||||
if not cred_path.exists():
|
||||
print(f"Error: credentials file does not exist: {cred_path}")
|
||||
sys.exit(1)
|
||||
output_file.write(f"# From credentials file: {cred_path_str}\n")
|
||||
contents = cred_path.read_text()
|
||||
output_file.write(contents)
|
||||
if not contents.endswith("\n"):
|
||||
output_file.write("\n")
|
||||
|
||||
|
||||
def _write_kube_config_file(external_path: Path, internal_path: Path):
|
||||
if not external_path.exists():
|
||||
@@ -1041,12 +1054,8 @@ def _write_deployment_files(
|
||||
for configmap in parsed_spec.get_configmaps():
|
||||
source_config_dir = resolve_config_dir(stack_name, configmap)
|
||||
if os.path.exists(source_config_dir):
|
||||
destination_config_dir = target_dir.joinpath(
|
||||
"configmaps", configmap
|
||||
)
|
||||
copytree(
|
||||
source_config_dir, destination_config_dir, dirs_exist_ok=True
|
||||
)
|
||||
destination_config_dir = target_dir.joinpath("configmaps", configmap)
|
||||
copytree(source_config_dir, destination_config_dir, dirs_exist_ok=True)
|
||||
|
||||
# Copy the job files into the target dir
|
||||
jobs = get_job_list(parsed_stack)
|
||||
|
||||
Reference in new issue
Block a user