From 2cdf120d0265fa03d3ab4a7a02d0ac5ee9bc607b Mon Sep 17 00:00:00 2001 From: Matteo Voges Date: Mon, 30 Oct 2023 15:44:30 +0100 Subject: [PATCH 1/4] feat(vault): improve error message for `Authenticationerror` --- kapitan/refs/vault_resources.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kapitan/refs/vault_resources.py b/kapitan/refs/vault_resources.py index a67e7080d..3d7aafca4 100644 --- a/kapitan/refs/vault_resources.py +++ b/kapitan/refs/vault_resources.py @@ -80,7 +80,7 @@ def authenticate(self): if not self.is_authenticated(): self.adapter.close() - raise VaultError("Vault Authentication Error, Environment Variables defined?") + raise VaultError("Vault Authentication Error, check if token in env:VAULT_TOKEN is valid and not expired") def get_env(parameter): From 0e3a804cdba028641399261e4f35c7b832faf725 Mon Sep 17 00:00:00 2001 From: Matteo Voges Date: Mon, 30 Oct 2023 16:37:43 +0100 Subject: [PATCH 2/4] fix: import libmagic only when its needed --- kapitan/utils.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/kapitan/utils.py b/kapitan/utils.py index bf53588ab..fd54912ed 100644 --- a/kapitan/utils.py +++ b/kapitan/utils.py @@ -9,7 +9,6 @@ import collections import json import logging -import magic import math import os import re @@ -31,7 +30,8 @@ from kapitan import cached, defaults from kapitan.errors import CompileError -from kapitan.inputs.jinja2_filters import load_jinja2_filters, load_jinja2_filters_from_file +from kapitan.inputs.jinja2_filters import (load_jinja2_filters, + load_jinja2_filters_from_file) from kapitan.version import VERSION logger = logging.getLogger(__name__) @@ -532,6 +532,14 @@ def make_request(source): def unpack_downloaded_file(file_path, output_path, content_type): """unpacks files of various MIME type and stores it to the output_path""" + try: + import magic + except ImportError: + logger.error( + "Error with unpacking content: libmagic is not installed. Install it with 'apt install libmagic1' or 'apk|brew install libmagic'" + ) + sys.exit(1) + if content_type == None or content_type == "application/octet-stream": if re.search(r"^Zip archive data.*", magic.from_file(file_path)): content_type = "application/zip" From 70087ec1e376a3e215fa45e624dfcfe1f136f365 Mon Sep 17 00:00:00 2001 From: Matteo Voges Date: Mon, 30 Oct 2023 16:41:34 +0100 Subject: [PATCH 3/4] revert vault changes --- kapitan/refs/vault_resources.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kapitan/refs/vault_resources.py b/kapitan/refs/vault_resources.py index 3d7aafca4..a67e7080d 100644 --- a/kapitan/refs/vault_resources.py +++ b/kapitan/refs/vault_resources.py @@ -80,7 +80,7 @@ def authenticate(self): if not self.is_authenticated(): self.adapter.close() - raise VaultError("Vault Authentication Error, check if token in env:VAULT_TOKEN is valid and not expired") + raise VaultError("Vault Authentication Error, Environment Variables defined?") def get_env(parameter): From 0d6097c6accc00e1eff55045e4f862aadbd20ad2 Mon Sep 17 00:00:00 2001 From: Matteo Voges Date: Mon, 30 Oct 2023 16:45:03 +0100 Subject: [PATCH 4/4] lint: apply black --- kapitan/utils.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kapitan/utils.py b/kapitan/utils.py index fd54912ed..930a4808f 100644 --- a/kapitan/utils.py +++ b/kapitan/utils.py @@ -30,8 +30,7 @@ from kapitan import cached, defaults from kapitan.errors import CompileError -from kapitan.inputs.jinja2_filters import (load_jinja2_filters, - load_jinja2_filters_from_file) +from kapitan.inputs.jinja2_filters import load_jinja2_filters, load_jinja2_filters_from_file from kapitan.version import VERSION logger = logging.getLogger(__name__)