chore: update readme
This commit is contained in:
parent
aeac1c58f9
commit
536284ed84
31
README.md
31
README.md
@ -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:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user