Skip to content

Instantly share code, notes, and snippets.

@dpetzold
Created May 8, 2017 22:07
Show Gist options
  • Save dpetzold/c9bd156fdfcaacbd8415aad4e9fc00d0 to your computer and use it in GitHub Desktop.
Save dpetzold/c9bd156fdfcaacbd8415aad4e9fc00d0 to your computer and use it in GitHub Desktop.
Convert docker env files for use as kubernetes secrets
#!/usr/bin/python3
import argparse
import sys
from base64 import b64encode
from string import Template
parser = argparse.ArgumentParser()
parser.add_argument('env_file', nargs='?', type=argparse.FileType('r'), default=sys.stdin)
parser.add_argument('--gen-env', action='store_true', default=False)
args = parser.parse_args()
env = {}
t = Template("""\
- name: $name
valueFrom:
secretKeyRef:
name: backend-env
key: $key""")
for line in args.env_file.readlines():
stripped = line.strip()
if not stripped or stripped.startswith('#'):
continue
var, value = stripped.split('=')
env[var] = value
if args.gen_env:
for var in env.keys():
s = t.substitute(
name=var.upper(),
key=var.lower(),
)
print(s)
else:
for var, value in env.items():
print(' {}: {!s} # {}'.format(
var.lower(), b64encode(value.encode()).decode('ascii'), value))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment