in Templates/kerberosSideCar/krb_side_car.py [0:0]
def read_env():
"""
Environment variables can be set in Dockerfile
:return: Environment variables
:rtype: Dictionary
"""
secret_arn = str(os.environ.get('CREDENTIALS_SECRET_ARN'))
directory_name = str(os.environ.get('DOMAIN_NAME'))
region_name = str(os.environ.get('AWS_REGION'))
service_principal_name = str(os.environ.get('SERVICE_PRINCIPAL_NAME'))
krb_ticket_refresh_period = os.environ.get(
"KRB_TICKET_REFRESH_PERIOD_IN_SECS")
if krb_ticket_refresh_period is None or not isinstance(
krb_ticket_refresh_period, int):
krb_ticket_refresh_period = KINIT_DELAY_IN_SECS
krb_dir = str(os.getenv("KRB_DIR"))
if not secret_arn or not directory_name or not region_name or not krb_dir \
or not service_principal_name:
print("*ERROR* : All parameters are not filled out", flush=True)
print("secret_arn = {0}, directory_name = {1}, region_name = {2}, krb_dir "
"= {3}, service_principal_name = {4}".format(secret_arn,
directory_name,
region_name, krb_dir,
service_principal_name),
flush=True)
raise NameError("*ERROR* : All parameters are not filled out")
# Protect against script injection
invalid_chars = re.compile(r"[$`()]")
if invalid_chars.search(secret_arn) or invalid_chars.search(directory_name) or \
invalid_chars.search(region_name) or \
invalid_chars.search(krb_dir):
print("*ERROR* Invalid characters detected", flush=True)
print("secret_arn = {0}, directory_name = {1}, region_name = {2}, krb_dir "
"= {3}".format(secret_arn,
directory_name,
region_name, krb_dir), flush=True)
raise NameError("*ERROR* : Invalid characters detected")
print('secret arn = ' + secret_arn, flush=True)
print('directory name = ' + directory_name, flush=True)
print('region name = ' + region_name, flush=True)
print('kerberos ticket renewal time = ' + str(krb_ticket_refresh_period),
flush=True)
print('kerberos directory = ' + krb_dir, flush=True)
env_vars = {SECRET_ARN: secret_arn, DIRECTORY_NAME: directory_name,
REGION_NAME: region_name,
SERVICE_PRINCIPAL_NAME: service_principal_name,
KRB_TICKET_REFRESH_PERIOD: krb_ticket_refresh_period,
KRB_DIR: krb_dir}
return env_vars