Skip to content

Commit

Permalink
Merge pull request #39 from canonical/IAM-662-setup-var-log
Browse files Browse the repository at this point in the history
refactor: setup log folder and adjust tests + pinned main dependecies
  • Loading branch information
BarcoMasile authored Feb 2, 2024
2 parents f127586 + addc0ea commit 6cb6300
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 11 deletions.
10 changes: 5 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ops >= 2.3.0
requests >= 2.25.1
jsonschema >= 3.2.0
ops == 2.10.0
requests == 2.31.0
jsonschema==4.21.1
cryptography >= 3.4.8
lightkube
lightkube-models
lightkube===0.15.0
lightkube-models==1.29.0.6
pydantic<2.0
11 changes: 8 additions & 3 deletions src/charm.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@
GRAFANA_RELATION_NAME,
GRPC_INGRESS_RELATION_NAME,
HTTP_INGRESS_RELATION_NAME,
LOG_FILE,
LOG_FILE_PATH,
LOG_FOLDER,
LOG_PROXY_RELATION_NAME,
METRIC_RELATION_NAME,
OPENFGA_METRICS_HTTP_PORT,
Expand Down Expand Up @@ -110,7 +111,7 @@ def __init__(self, *args: Any) -> None:
# Loki log-proxy relation
self.log_proxy = LogProxyConsumer(
self,
log_files=[LOG_FILE],
log_files=[LOG_FILE_PATH],
relation_name=LOG_PROXY_RELATION_NAME,
container_name=WORKLOAD_CONTAINER,
)
Expand Down Expand Up @@ -277,7 +278,7 @@ def _pebble_layer(self) -> Layer:
SERVICE_NAME: {
"override": "merge",
"summary": "OpenFGA",
"command": f"sh -c 'openfga run --log-format json --log-level {self._log_level} 2>&1 | tee -a {LOG_FILE}'",
"command": f"sh -c 'openfga run --log-format json --log-level {self._log_level} 2>&1 | tee -a {LOG_FILE_PATH}'",
"startup": "disabled",
"environment": env_vars,
}
Expand Down Expand Up @@ -355,6 +356,10 @@ def _update_workload(self, event: HookEvent) -> None:
# if openfga relation exists, make sure the address is updated
self.openfga_relation.update_server_info(http_api_url=self.http_ingress.url)

if not self._container.isdir(LOG_FOLDER):
self._container.make_dir(path=LOG_FOLDER, make_parents=True)
logger.info(f"Created directory {LOG_FOLDER}")

self._container.add_layer("openfga", self._pebble_layer, combine=True)
if not self._ready():
logger.info("workload container not ready - deferring")
Expand Down
4 changes: 3 additions & 1 deletion src/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Constants."""
import os

WORKLOAD_CONTAINER = "openfga"
SERVICE_NAME = "openfga"
Expand All @@ -11,7 +12,8 @@
"OPENFGA_AUTHN_PRESHARED_KEYS",
]

LOG_FILE = "/openfga-k8s.log"
LOG_FOLDER = "/var/log/openfga"
LOG_FILE_PATH = os.path.join(LOG_FOLDER, "openfga-k8s.log")

OPENFGA_SERVER_HTTP_PORT = 8080
OPENFGA_METRICS_HTTP_PORT = 2112
Expand Down
4 changes: 2 additions & 2 deletions tests/unit/test_charm.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

logger = logging.getLogger(__name__)

LOG_FILE = "/openfga-k8s.log"
LOG_FILE_PATH = "/var/log/openfga/openfga-k8s.log"
DB_USERNAME = "test-username"
DB_PASSWORD = "test-password"
DB_ENDPOINT = "postgresql-k8s-primary.namespace.svc.cluster.local:5432"
Expand Down Expand Up @@ -74,7 +74,7 @@ def test_on_config_changed(
"override": "merge",
"startup": "disabled",
"summary": "OpenFGA",
"command": f"sh -c 'openfga run --log-format json --log-level debug 2>&1 | tee -a {LOG_FILE}'",
"command": f"sh -c 'openfga run --log-format json --log-level debug 2>&1 | tee -a {LOG_FILE_PATH}'",
"environment": {
"OPENFGA_AUTHN_METHOD": "preshared",
"OPENFGA_AUTHN_PRESHARED_KEYS": mocked_token_urlsafe.return_value,
Expand Down

0 comments on commit 6cb6300

Please sign in to comment.