From 55349d078ef2de6b02827dcd535549a0ed11e272 Mon Sep 17 00:00:00 2001 From: Alexander Hughes Date: Wed, 31 Jul 2019 15:00:53 -0500 Subject: [PATCH] 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 --- pegleg/engine/bundle.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pegleg/engine/bundle.py b/pegleg/engine/bundle.py index 940e85d8..8081b16a 100644 --- a/pegleg/engine/bundle.py +++ b/pegleg/engine/bundle.py @@ -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(