(charmed-osm) Add auth to prometheus and update kafka/zk

- Authentication to prometheus:
  - Update prometheus relation to provide auth credentials (user/pass)
  - Update grafana datasource to include credentials to prometheus
- Update kafka and zookeeper charms:
  - Add support for the charms to talk to the new kafka charm
  - Add kafka and zookeeper charms in local bundle

Change-Id: Ifb83769583178f3a2069ae6756aa430ec69eecce
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/installers/charm/prometheus/src/charm.py b/installers/charm/prometheus/src/charm.py
index 40c4f4e..af39a13 100755
--- a/installers/charm/prometheus/src/charm.py
+++ b/installers/charm/prometheus/src/charm.py
@@ -128,7 +128,13 @@
         )
 
     def _publish_prometheus_info(self, event: EventBase) -> NoReturn:
-        self.prometheus.publish_info(self.app.name, PORT)
+        config = ConfigModel(**dict(self.config))
+        self.prometheus.publish_info(
+            self.app.name,
+            PORT,
+            user=config.web_config_username,
+            password=config.web_config_password,
+        )
 
     def _on_backup_action(self, event: EventBase) -> NoReturn:
         url = f"http://{self.model.app.name}:{PORT}/api/v1/admin/tsdb/snapshot"
diff --git a/installers/charm/prometheus/tests/test_charm.py b/installers/charm/prometheus/tests/test_charm.py
index 66e199d..687c38a 100644
--- a/installers/charm/prometheus/tests/test_charm.py
+++ b/installers/charm/prometheus/tests/test_charm.py
@@ -47,6 +47,8 @@
             "site_url": "https://prometheus.192.168.100.100.nip.io",
             "cluster_issuer": "vault-issuer",
             "enable_web_admin_api": False,
+            "web_config_username": "admin",
+            "web_config_password": "1234",
         }
         self.harness.update_config(self.config)
 
@@ -77,6 +79,8 @@
         expected_result = {
             "hostname": "prometheus",
             "port": "9090",
+            "user": "admin",
+            "password": "1234",
         }
 
         relation_id = self.harness.add_relation("prometheus", "mon")