Fix: Allow Pegleg to generate unencrypted bundle

Promenade supports generating a bundle with or without encryption
Pegleg currently does not, it requires encryption.

This patch changes Pegleg behavior to look for an encryption method
and key before generating a bundle.
1. If both are present - generate with encryption
2. If neither are present - generate without encryption
3. If one or the other is present - raise an error

Change-Id: Id55e310ced3d650f64d3f6f626faa10dbe3ab052
This commit is contained in:
Alexander Hughes 2019-07-31 15:00:53 -05:00 committed by Alexander Hughes
parent ccd05998b2
commit 55349d078e
1 changed files with 6 additions and 1 deletions

View File

@ -73,10 +73,15 @@ def build_genesis(build_path, encryption_key, validators, debug, site_name):
substitute=True,
allow_missing_substitutions=False,
leave_kubectl=False)
# Both a policy and key are present, generate bundle with encryption
if c.get_path('EncryptionPolicy:scripts.genesis') and encryption_key:
Builder(c, validators=validators).build_all(output_dir=build_path)
else:
# A policy or key are present but not both, raise an error
elif c.get_path('EncryptionPolicy:scripts.genesis') or encryption_key:
raise GenesisBundleEncryptionException()
# Neither policy or key are present, generate bundle without encryption
else:
Builder(c, validators=validators).build_all(output_dir=build_path)
except exceptions.PromenadeException as e:
LOG.error(