From 718f006ff887eb80d681335904bad45d1094c5b4 Mon Sep 17 00:00:00 2001 From: Laszlo Gecse Date: Wed, 10 Sep 2025 20:36:46 +0200 Subject: [PATCH] fix(slim): fixed links and slimctl installation instructions Signed-off-by: Laszlo Gecse --- docs/messaging/slim-group-tutorial.md | 11 ++++---- docs/messaging/slim-group.md | 2 +- docs/messaging/slim-howto.md | 40 +++++++++++++++++++++++++-- mkdocs/mkdocs.yml | 4 ++- 4 files changed, 47 insertions(+), 10 deletions(-) diff --git a/docs/messaging/slim-group-tutorial.md b/docs/messaging/slim-group-tutorial.md index baeacc51..8a56e86f 100644 --- a/docs/messaging/slim-group-tutorial.md +++ b/docs/messaging/slim-group-tutorial.md @@ -89,7 +89,8 @@ Each member of the group must have a unique identity. This is a requirement to setup the end-to-end encryption using the MLS protocol. The identity can be represented by a JWT, or a shared secret. For simplicity, we will use a shared secret. You can find examples using JWT in the [SLIM -Repo](https://github.com/agntcy/slim/blob/main/data-plane/python-bindings/examples/src/slim_bindings_examples/common.py#L71-L112). +Repo](https://github.com/agntcy/slim/tree/slim-v0.4.0/data-plane/python-bindings/examples/src/slim_bindings_examples/common.py#L71-L112). + The python objects managing the identity are called `PyIdentityProvider` and `PyIdentityVerifier`. The `PyIdentityProvider` is responsible for providing the @@ -292,9 +293,9 @@ script. You can run this script to see how the group communication works using SLIM. The same example can be found in the [SLIM examples -folder](https://github.com/agntcy/slim/tree/main/data-plane/python-bindings/examples). +folder](https://github.com/agntcy/slim/tree/slim-v0.4.0/data-plane/python-bindings/examples/src/slim_bindings_examples). In particular this tutorial is based on the -[pubsub.py](https://github.com/agntcy/slim/blob/main/data-plane/python-bindings/examples/src/slim_bindings_examples/pubsub.py) +[pubsub.py](https://github.com/agntcy/slim/tree/slim-v0.4.0/data-plane/python-bindings/examples/src/slim_bindings_examples/pubsub.py) example #### moderator.py @@ -575,9 +576,9 @@ def main(): The slim repository also includes examples of 1:1 communication sessions. Using the SLIM SDK for 1:1 sessions is very similar to the approach demonstrated in the group communication example. For reference, see the -[fire_and_forget.py](https://github.com/agntcy/slim/blob/main/data-plane/python-bindings/examples/src/slim_bindings_examples/fire_and_forget.py) +[fire_and_forget.py](https://github.com/agntcy/slim/tree/slim-v0.4.0/data-plane/python-bindings/examples/src/slim_bindings_examples/fire_and_forget.py) and -[request_reply.py](https://github.com/agntcy/slim/blob/main/data-plane/python-bindings/examples/src/slim_bindings_examples/request_reply.py) +[request_reply.py](https://github.com/agntcy/slim/tree/slim-v0.4.0/data-plane/python-bindings/examples/src/slim_bindings_examples/request_reply.py) files. 1:1 communication is particularly useful when you want to use SLIM as a diff --git a/docs/messaging/slim-group.md b/docs/messaging/slim-group.md index 5ca0bb4e..bdbd1726 100644 --- a/docs/messaging/slim-group.md +++ b/docs/messaging/slim-group.md @@ -438,7 +438,7 @@ def jwt_identity( A complete example of how to use the JWT SVID in a SLIM client can be found in the examples in the [SLIM Python -Bindings](https://github.com/agntcy/slim/blob/main/data-plane/python-bindings/examples/src/slim_bindings_examples/common.py#L71-L112). +Bindings](https://github.com/agntcy/slim/tree/slim-v0.4.0/data-plane/python-bindings/examples/src/slim_bindings_examples/common.py#L71-L112). You can then use the provider and verifier to create a SLIM application exactly as described in the [SLIM Group Tutorial](slim-group-tutorial.md#identity). In diff --git a/docs/messaging/slim-howto.md b/docs/messaging/slim-howto.md index 46747c18..47998b67 100644 --- a/docs/messaging/slim-howto.md +++ b/docs/messaging/slim-howto.md @@ -145,7 +145,7 @@ dependencies = ["slim-bindings>=0.3.6"] A tutorial on how to use the bindings in an application can be found in the [messaging layer documentation](./slim-data-plane.md). Otherwise examples are available in the -[SLIM Repository](https://github.com/agntcy/slim/tree/main/data-plane/python-bindings/examples). +[SLIM Repository](https://github.com/agntcy/slim/tree/slim-v0.4.0/data-plane/python-bindings/examples/src/slim_bindings_examples). ### Slimctl @@ -153,11 +153,45 @@ documentation](./slim-data-plane.md). Otherwise examples are available in the be downloaded from the [releases page](https://github.com/agntcy/slim/releases/tag/slimctl-v0.2.1) in the SLIM repo. +#### Installation + +Choose the appropriate installation method for your operating system: + +=== "macOS (Apple Silicon)" + + ```bash + curl -LO https://github.com/agntcy/slim/releases/download/slimctl-v0.2.1/slimctl-darwin-arm64 + sudo mv slimctl-darwin-arm64 /usr/local/bin/slimctl + sudo chmod +x /usr/local/bin/slimctl + ``` + + !!! note "macOS Security" + You may need to allow the binary to run if it's blocked by Gatekeeper: + + ```bash + sudo xattr -rd com.apple.quarantine /usr/local/bin/slimctl + ``` + + Alternatively, you can go to **System Settings > Privacy & Security** and allow the application to run when prompted. + +=== "Linux (AMD64)" + + ```bash + curl -LO https://github.com/agntcy/slim/releases/download/slimctl-v0.2.1/slimctl-linux-amd64 + sudo mv slimctl-linux-amd64 /usr/local/bin/slimctl + sudo chmod +x /usr/local/bin/slimctl + ``` + +#### Verification + +After installation, verify that `slimctl` is working correctly: + ```bash -curl -LO https://github.com/agntcy/slim/releases/download/slimctl-v0.2.1/slimctl-linux-amd64 -sudo mv slimctl-linux-amd64 /usr/local/bin/slimctl +slimctl help ``` +This should display the help information and available commands for `slimctl`. + ## Build the code To build the project and work with the code, you need the following installed diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index a1978365..b7d92ade 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -16,6 +16,8 @@ markdown_extensions: - admonition - pymdownx.details - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true - pymdownx.superfences: custom_fences: - name: mermaid @@ -50,7 +52,7 @@ theme: - content.code.copy # - content.code.select # - content.footnote.tooltips - # - content.tabs.link + - content.tabs.link - content.tooltips # - header.autohide # - navigation.expand