Skip to content

Commit

Permalink
static check
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeldmitry committed Sep 2, 2024
1 parent 13a0372 commit fc6e200
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 3 deletions.
4 changes: 2 additions & 2 deletions lib/charms/observability_libs/v1/cert_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -366,14 +366,14 @@ def __init__(

def _on_refresh_event(self, _):
# Renew only if there are CSR changes
curr_csr = self._csr.encode()
curr_csr = self._csr.encode() if self._csr else None
new_csr = generate_csr(
private_key=self.private_key.encode(),
subject=self.cert_subject,
sans_dns=self.sans_dns,
sans_ip=self.sans_ip,
)
if curr_csr != new_csr:
if curr_csr is not None and curr_csr != new_csr:
self._generate_csr(renew=True)

def _on_upgrade_charm(self, _):
Expand Down
6 changes: 6 additions & 0 deletions tests/integration/tester-charm/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ requires:
- (client) posting alerts to alertmanager server
- (server) serving data to grafana
peers:
peers:
interface: peers
description: |
peer relation for internal coordination
containers:
httpbin:
resource: httpbin-image
Expand Down
25 changes: 24 additions & 1 deletion tests/integration/tester-charm/src/charm.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,38 @@ def __init__(self, *args):
super().__init__(*args)
self._name = "httpbin"
self._container = self.unit.get_container(self._name)
sans = ["charm.tester"]
if hostname := self._get_hostname_from_peers():
sans.append(hostname)

print("SANSSS ", sans)
self.cert_handler = CertHandler(
charm=self,
key="tester-server-cert",
sans=["charm.tester"],
sans=sans,
refresh_events=[self.on.peers_relation_changed],
)
self.framework.observe(self.cert_handler.on.cert_changed, self._on_server_cert_changed)
self.framework.observe(self.on["httpbin"].pebble_ready, self._on_httpbin_pebble_ready)
self.framework.observe(self.on.config_changed, self._on_config_changed)
self.framework.observe(self.on.upgrade_charm, self._on_upgrade_charm)
self.framework.observe(self.on.peers_relation_changed, self._on_peers_relation_changed)

@property
def peers(self):
"""Fetch the peer relation."""
return self.model.get_relation("peers")

def _get_hostname_from_peers(self):
if not self.peers:
return None

data = self.peers.data[self.app].get("hostname", None)
return data

def _on_peers_relation_changed(self, _):
if self.peers:
self.peers.data[self.app]["hostname"] = "custom-hostname"

def _on_upgrade_charm(self, _):
self._update_cert()
Expand Down

0 comments on commit fc6e200

Please sign in to comment.