diff --git a/ansible/roles/apps/tasks/prometheus.yml b/ansible/roles/apps/tasks/prometheus.yml
index a43a3cbebf5cba72e612e33830473f0b72bfac48..599f9b2fa072af0902865550c01dd5cdfe830f17 100644
--- a/ansible/roles/apps/tasks/prometheus.yml
+++ b/ansible/roles/apps/tasks/prometheus.yml
@@ -1,8 +1,4 @@
 ---
-- name: Generate htpasswd hash
-  shell: openssl passwd -apr1 "{{ prometheus_basic_auth }}"
-  register: prometheus_passwd
-
 - name: Create auth secret for basic auth
   tags:
     - prometheus
@@ -17,7 +13,7 @@
         namespace: "oas"
         name: "prometheus-basic-auth"
       data:
-        auth: "{{ ('admin:' + prometheus_passwd.stdout )  | b64encode }}"
+        auth: "{{ ('admin:' + (prometheus_basic_auth | password_hash('apr_md5_crypt')) + '\n')  | b64encode }}"
 - name: Create Kubernetes secret with prometheus settings
   tags:
     - config
diff --git a/requirements-stable.txt b/requirements-stable.txt
index 3d2d87d533402e29fe52302e30222c1de573a354..878856abf92cb744dd290329d451d8ce8825cdb7 100644
--- a/requirements-stable.txt
+++ b/requirements-stable.txt
@@ -52,3 +52,4 @@ urllib3==1.25.8
 wcwidth==0.1.8
 websocket-client==0.57.0
 zipp==3.1.0
+passlib==1.7.2
diff --git a/requirements.txt b/requirements.txt
index c3985b01a07e51934cc430774785d4be6cd01ef9..281dc9a7020f41d8f1febcfa31089eb2c9651cdc 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -18,3 +18,4 @@ wheel>=0.33.1
 pytz>=2019.1
 -e git+https://open.greenhost.net/greenhost/cloud-api#egg=greenhost_cloud
 -e git+https://open.greenhost.net/openappstack/oas_behave#egg=oas_behave
+passlib>=1.7.2