chore: update readme

This commit is contained in:
Jonathan Kössler 2024-08-01 09:56:13 +02:00
parent aeac1c58f9
commit 536284ed84
2 changed files with 11909 additions and 2057 deletions

View File

@ -1,8 +1,5 @@
# PyInfra
**WARNING**: Compatibility issues currently require manual actions when implementing pyinfra.
See [Protobuf](#protobuf) for more information.
1. [ About ](#about)
2. [ Configuration ](#configuration)
3. [ Queue Manager ](#queue-manager)
@ -207,27 +204,17 @@ before running the tests.
## Protobuf
### Compatibility Issue Workaround
### Opentelemetry Compatibility Issue
**Note**: As of date 24/07/16, the currently used `opentelemetry-exporter-otlp-proto-http` version `1.25.0` requires
a `protobuf` version < `5.x.x` and is not compatible with the required version `5.27.0` we need to use the compiled
schemata. Therefore, it is necessary for all `pyinfra` implementing services to install required version via pip over
the existing one with:
**Note**: Status: 31/07/2024, the currently used `opentelemetry-exporter-otlp-proto-http` version `1.25.0` requires
a `protobuf` version < `5.x.x` and is not compatible with the latest protobuf version `5.27.x`. This is an [open issue](https://github.com/open-telemetry/opentelemetry-python/issues/3958) in opentelemetry, because [support for 4.25.x ends in Q2 '25](https://protobuf.dev/support/version-support/#python). Therefore, we should keep this in mind and update the dependency once opentelemetry includes support for `protobuf 5.27.x`.
```bash
pip install protobuf==5.27.2
```
Do this in your development environment and add it to the Dockerfile after the `poetry install` command.
We have to fix this ASAP, ideally `opentelemetry-exporter-otlp-proto-http` gets upgraded to work with `protobuf > 5.x.x.`,
but for now this is the only workaround with reasonable effort. The `opentelemetry` functionality is not affected by
this workaround.
### Install Protobuf Compiler
**Linux**
1. Download the latest version of the protobuf compiler from https://github.com/protocolbuffers/protobuf/releases
1. Download the version of the protobuf compiler matching the protobuf package, currently v4.25.4 so protoc v25.4, from [GitHub](https://github.com/protocolbuffers/protobuf/releases) -> `protobuf-25.4.zip`
2. Extract the files under `$HOME/.local` or another directory of your choice
```bash
unzip protoc-<version>-linux-x86_64.zip -d $HOME/.local
@ -237,6 +224,16 @@ this workaround.
export PATH="$PATH:$HOME/.local/bin"
```
**MacOS**
1. Download the version of the protobuf compiler matching the protobuf package, currently v4.25.4 so protoc v25.4, from [GitHub](https://github.com/protocolbuffers/protobuf/releases) -> `protoc-25.4-osx-universal_binary.zip`
2. Extract the files to a directory of your choice
3. Copy the executable bin `protoc` to `/usr/local/bin`
```bash
sudo cp /Users/you/location-of-unzipped-dir/bin/protoc /usr/local/bin/
```
4. Open `protoc` in `/usr/local/bin/` via Finder to make it executable, now it should be also on your `PATH`
### Compile Protobuf Files
1. Ensure that the protobuf compiler is installed on your system. You can check this by running:

13935
bom.json

File diff suppressed because it is too large Load Diff