aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2020-05-28 12:48:59 -0700
committerMike Crute <mike@crute.us>2020-05-28 17:57:13 -0700
commit41f127d77b8d386244bf5f617711ed884df5df4f (patch)
treeb5cbf932f73e8e0e91014baeb764866651efcb87
parentbfc4bf99bf9b508bff7da385577460fc370fdc3c (diff)
downloadalpine-ec2-ami-41f127d77b8d386244bf5f617711ed884df5df4f.tar.bz2
alpine-ec2-ami-41f127d77b8d386244bf5f617711ed884df5df4f.tar.xz
alpine-ec2-ami-41f127d77b8d386244bf5f617711ed884df5df4f.zip
Authenticate per-region for make-amis
-rw-r--r--scripts/builder.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/builder.py b/scripts/builder.py
index 0263308..de95bdb 100644
--- a/scripts/builder.py
+++ b/scripts/builder.py
@@ -214,6 +214,8 @@ class MakeAMIs:
214 214
215 @staticmethod 215 @staticmethod
216 def add_args(parser): 216 def add_args(parser):
217 parser.add_argument("--region", "-r", default="us-west-2",
218 help="region to use for build")
217 parser.add_argument("profile", help="name of profile to build") 219 parser.add_argument("profile", help="name of profile to build")
218 parser.add_argument("builds", nargs="*", 220 parser.add_argument("builds", nargs="*",
219 help="name of builds within a profile to build") 221 help="name of builds within a profile to build")
@@ -232,6 +234,7 @@ class MakeAMIs:
232 print(f"Build dir '{build_dir}' does not exist") 234 print(f"Build dir '{build_dir}' does not exist")
233 break 235 break
234 236
237 creds = IdentityBrokerClient().get_credentials(args.region)
235 out = io.StringIO() 238 out = io.StringIO()
236 239
237 res = subprocess.Popen([ 240 res = subprocess.Popen([
@@ -239,7 +242,13 @@ class MakeAMIs:
239 "build", 242 "build",
240 f"-var-file={build_dir}/vars.json", 243 f"-var-file={build_dir}/vars.json",
241 "packer.json" 244 "packer.json"
242 ], stdout=subprocess.PIPE, encoding="utf-8") 245 ], stdout=subprocess.PIPE, encoding="utf-8", env={
246 "PATH": os.environ.get("PATH"),
247 "AWS_ACCESS_KEY_ID": creds["access_key"],
248 "AWS_SECRET_ACCESS_KEY": creds["secret_key"],
249 "AWS_SESSION_TOKEN": creds["session_token"],
250 "AWS_DEFAULT_REGION": args.region,
251 })
243 252
244 while res.poll() is None: 253 while res.poll() is None:
245 text = res.stdout.readline() 254 text = res.stdout.readline()