Skip to content

Commit 57ce03c

Browse files
authored
Update app.py
1 parent 14b5490 commit 57ce03c

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

src/ix_operator/app.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
NativeTransportBackend,
1010
native_extension_available,
1111
)
12+
from ix_operator.diagnostics import ApplicationSnapshot
1213
from ix_operator.identity import NodeIdentity, NodeIdentityStore, default_identity_store
1314
from ix_operator.node import OperatorNode
1415
from ix_operator.runtime import RuntimeContext
@@ -47,6 +48,25 @@ def context(self) -> RuntimeContext:
4748
def identity_store(self) -> NodeIdentityStore:
4849
return self._identity_store
4950

51+
def status_snapshot(self) -> ApplicationSnapshot:
52+
identity = self._identity_store.load()
53+
54+
snapshot = ApplicationSnapshot(
55+
product_name="IX-Operator",
56+
version="0.1.0",
57+
mode=self._config.mode.value,
58+
transport=self._config.transport_backend.value,
59+
boot_id=self._context.boot_id,
60+
runtime_root=str(self._config.runtime_paths.root),
61+
audit_log_path=str(self._context.audit.path),
62+
identity_path=str(self._identity_store.path),
63+
identity_exists=self._identity_store.exists(),
64+
native_extension_available=native_extension_available(),
65+
local_peer_id=identity.peer_id if identity is not None else None,
66+
)
67+
snapshot.validate()
68+
return snapshot
69+
5070
def initialize_identity(
5171
self,
5272
*,

0 commit comments

Comments
 (0)