Skip to content

Commit

Permalink
Merge pull request #549 from deepmind/release-v0.28.1-rc.1
Browse files Browse the repository at this point in the history
Start release v0.28.1-rc.1
  • Loading branch information
uberspot authored Jul 3, 2020
2 parents b7e720c + a722049 commit c9782ce
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 5 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.28.1-rc.1:
- Enable helm values files to be injected for input type "helm" (#545)
- Fix issue #500: Add --ref-file or --tag to refs --reveal option. (#548)

## 0.28.1-rc.0:
- Add TOML Jinja2 Filters (#534)
- Fix issues #535 and #536 by resolving relative paths in the copy input type and not clobbering the output dir (#539)
Expand Down
6 changes: 2 additions & 4 deletions kapitan/refs/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -509,16 +509,14 @@ def ref_from_ref_file(self, ref_file_path):
ref_file_obj = yaml.safe_load(ref_file)

type_name = ref_file_obj.pop("type")
encoding = ref_file_obj["encoding"]
data = ref_file_obj.pop("data")
from_base64 = encoding == "base64"

backend = self._get_backend(type_name)

# create new ref with deserialised data and remaining keys as kwargs
# note that encrypt=False is only for secret ref types, non secret refs (e.g. base64) will ignore
# from_base64 is True because data is always base64 encoded in embedded form
ref = backend.ref_type(data, encrypt=True, from_base64=from_base64, **ref_file_obj)
# from_base64 is True because data is being loaded from a ref file where it is always base64
ref = backend.ref_type(data, encrypt=True, from_base64=True, **ref_file_obj)
return ref

def _get_from_token(self, token):
Expand Down
42 changes: 41 additions & 1 deletion tests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,47 @@ def setUp(self):

def test_cli_secret_reveal_tag(self):
"""
run $ kapitan refs - -write gpg: test_secretb64 - -base64
run $ kapitan refs --write gpg: test_secret
and run $ kapitan refs --reveal --tag "?{gpg:test_secret}"
with [email protected] recipient
"""
test_secret_content = "I am another secret!"
test_secret_file = tempfile.mktemp()
with open(test_secret_file, "w") as fp:
fp.write(test_secret_content)

sys.argv = [
"kapitan",
"refs",
"--write",
"gpg:test_secret",
"-f",
test_secret_file,
"--refs-path",
REFS_PATH,
"--recipients",
"[email protected]",
]
main()

test_tag_content = "?{gpg:test_secret}"
test_tag_file = tempfile.mktemp()
with open(test_tag_file, "w") as fp:
fp.write(test_tag_content)
sys.argv = ["kapitan", "refs", "--reveal", "--tag", test_tag_content, "--refs-path", REFS_PATH]

# set stdout as string
stdout = io.StringIO()
with contextlib.redirect_stdout(stdout):
main()
stdout = stdout.getvalue()
self.assertEqual(test_secret_content, stdout)

os.remove(test_tag_file)

def test_cli_secret_reveal_b64_tag(self):
"""
run $ kapitan refs --write gpg: test_secretb64 --base64
and run $ kapitan refs --reveal --tag "?{gpg:test_secretb64}"
with [email protected] recipient
"""
Expand Down

0 comments on commit c9782ce

Please sign in to comment.