Commit c8a35045 authored by Dimitrios Gogos's avatar Dimitrios Gogos
Browse files

docs: update README for clarity and structure improvements

parent f772f356
Loading
Loading
Loading
Loading
Loading
+21 −13
Changes for README.md: 21 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -2,15 +2,27 @@

A Python, FastAPI-based microservice to work as the brains of ETSI SDG OpenOP.

## WIP
WIP
**Architecture:** [`srm/index.md`](https://labs.etsi.org/rep/oop/architecture/-/blob/develop/srm/index.md)

## Running locally

## Release 2 control-path bootstrap
SRM needs PostgreSQL and NATS. Copy `.env.example` to `.env` and point it at them, then:

```bash
make run          # uvicorn on :8000, API docs at /docs
make test         # pytest
make precommit    # lint, format and the other pre-commit hooks
make type         # mypy
```

The Docker image serves on port 8080. It is deployed with the `srm` chart of `oop-platform-chart`
in the helm repository.

## Control-path bootstrap

Set `BOOTSTRAP_TOPOLOGY_PATH` to one mounted, complete SDK bootstrap document.
SRM loads it once through `BootstrapTopology`, builds the runtime registry from
its operational entries, and passes the same object through the existing four-
its operational entries, and passes the same object through SRM's four-
method discovery bridge. The SDK owns parsing and adapter-kind construction.
SRM keeps topology persistence, selection and placement.

@@ -20,17 +32,13 @@ methods reject another target with `INVALID_TARGET_REF` before credentials or
backend calls. Duplicate registry refs and conflicting config identities fail
before any instance is constructed.

Without `BOOTSTRAP_TOPOLOGY_PATH`, the existing empty-topology health startup
remains available. Existing create-missing topology seeding is unchanged;
restarting does not reconcile edits to existing database records.
Without `BOOTSTRAP_TOPOLOGY_PATH`, SRM starts with an empty topology. Topology
seeding only creates missing records; restarting does not reconcile edits to
existing database records.

Use SDK 2.0.0rc3 with the matching chart/configuration migration. Kubernetes
Use the SDK version `pyproject.toml` pins (`openop-tfsdk`) with the matching chart and configuration. Kubernetes
paths require explicit kubeconfig/context/namespace or explicit in-cluster mode
and namespace. Deployment tooling owns protected credential mounts and the
writable SDK runtime directory. See `tests/fixtures/tf_sdk_bootstrap_example.yaml`.
SDK status observation and SRM termination behavior remain unchanged. Broader
UNKNOWN handling remains a separate follow-up.

The SDK artifact and matching component revisions must be available before
merging/deploying this change. Upgrade or roll back SDK, SRM and deployment
configuration together.
Upgrade or roll back SDK, SRM and deployment configuration together.