Skip to content

Commit 14b3a80

Browse files
committed
Address coderabbitai comments
1 parent d7478f8 commit 14b3a80

File tree

2 files changed

+28
-5
lines changed

2 files changed

+28
-5
lines changed

tools/deployment/presto-clp/scripts/generate-user-env-vars-file.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,9 @@ def _add_clp_env_vars(
111111
/ "data"
112112
/ ("archives" if clp_archive_output_storage_type == "fs" else "staged-archives"),
113113
)
114-
if "s3" == clp_archive_output_storage_type:
114+
if "fs" == clp_archive_output_storage_type:
115+
pass
116+
elif "s3" == clp_archive_output_storage_type:
115117
s3_config_key_prefix = f"archive_output.storage.s3_config"
116118
s3_credentials_key_prefix = f"{s3_config_key_prefix}.aws_authentication.credentials"
117119

@@ -121,15 +123,31 @@ def _add_clp_env_vars(
121123

122124
s3_bucket = _get_config_value(clp_config, f"{s3_config_key_prefix}.bucket")
123125
s3_region_code = _get_config_value(clp_config, f"{s3_config_key_prefix}.region_code")
124-
s3_end_point = f"https://{s3_bucket}.s3.{s3_region_code}.amazonaws.com/"
125126

126127
s3_secret_access_key = _get_config_value(
127128
clp_config, f"{s3_credentials_key_prefix}.secret_access_key"
128129
)
129130

131+
# Validate required S3 fields
132+
missing = []
133+
134+
for k, v in {
135+
f"{s3_credentials_key_prefix}.access_key_id": s3_access_key_id,
136+
f"{s3_credentials_key_prefix}.secret_access_key": s3_secret_access_key,
137+
f"{s3_config_key_prefix}.bucket": s3_bucket,
138+
f"{s3_config_key_prefix}.region_code": s3_region_code,
139+
}.items():
140+
if not v:
141+
missing.append(k)
142+
143+
if missing:
144+
logger.error("Missing required S3 config key(s): %s", ", ".join(missing))
145+
return False
146+
130147
env_vars["PRESTO_WORKER_CLPPROPERTIES_STORAGE_TYPE"] = "s3"
131148
env_vars["PRESTO_WORKER_CLPPROPERTIES_S3_AUTH_PROVIDER"] = "clp_package"
132149
env_vars["PRESTO_WORKER_CLPPROPERTIES_S3_ACCESS_KEY_ID"] = s3_access_key_id
150+
s3_end_point = f"https://{s3_bucket}.s3.{s3_region_code}.amazonaws.com/"
133151
env_vars["PRESTO_WORKER_CLPPROPERTIES_S3_END_POINT"] = s3_end_point
134152
env_vars["PRESTO_WORKER_CLPPROPERTIES_S3_SECRET_ACCESS_KEY"] = s3_secret_access_key
135153
else:

tools/deployment/presto-clp/worker/scripts/generate-configs.sh

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ update_config_file() {
5656
echo "${key}=${value}" >>"$file_path"
5757
fi
5858
if [[ "$sensitive" == "true" ]]; then
59-
local masked="****${value: -4}"
59+
local masked="****"
6060
log "INFO" "Set ${key}=${masked} in ${file_path}"
6161
else
6262
log "INFO" "Set ${key}=${value} in ${file_path}"
@@ -84,15 +84,20 @@ mv "${PRESTO_CONFIG_DIR}/clp.properties" "${PRESTO_CONFIG_DIR}/catalog"
8484
readonly CLP_PROPERTIES_FILE="/opt/presto-server/etc/catalog/clp.properties"
8585
if [ "${PRESTO_WORKER_CLPPROPERTIES_STORAGE_TYPE:-}" = "s3" ]; then
8686
log "INFO" "Enable S3 support"
87+
missing=()
8788
for var in PRESTO_WORKER_CLPPROPERTIES_S3_AUTH_PROVIDER \
8889
PRESTO_WORKER_CLPPROPERTIES_S3_ACCESS_KEY_ID \
8990
PRESTO_WORKER_CLPPROPERTIES_S3_SECRET_ACCESS_KEY \
9091
PRESTO_WORKER_CLPPROPERTIES_S3_END_POINT; do
9192
if [ -z "${!var:-}" ]; then
92-
log "ERROR" "Missing required env var: $var"
93-
exit 1
93+
missing+=("$var")
9494
fi
9595
done
96+
if [ ${#missing[@]} -gt 0 ]; then
97+
log "ERROR" "Missing required env var(s): ${missing[*]}"
98+
exit 1
99+
fi
100+
96101
update_config_file "$CLP_PROPERTIES_FILE" "clp.storage-type" "${PRESTO_WORKER_CLPPROPERTIES_STORAGE_TYPE}"
97102
update_config_file "$CLP_PROPERTIES_FILE" "clp.s3-auth-provider" "${PRESTO_WORKER_CLPPROPERTIES_S3_AUTH_PROVIDER}"
98103
update_config_file "$CLP_PROPERTIES_FILE" "clp.s3-access-key-id" "${PRESTO_WORKER_CLPPROPERTIES_S3_ACCESS_KEY_ID}" true

0 commit comments

Comments
 (0)