PLM is an open-source Protobuf Library Manager that allows developers to easily publish, share, and manage protocol buffers libraries. Whether you are a seasoned developer or a beginner, PLM offers a streamlined process for protobuf management, saving you time and effort.
- Setup Registry instance.
- Publish your own libraries with a single command.
- Setup a locl workspace.
- Install and manage dependencies with ease.
- Secure user authentication.
[~] Storage -
[X] Local storage
[ ] Remote storage (s3)
[~] Database - PostgreSQL
[X] Core logic
[ ] Organizations
[ ] Public / Private
[~] Registry Server - gRPC
[X] Data layer
[X] JWT authentication
[~] Streaming files (Upload / Download)
[ ] User role based authentication
[~] CLI -
[X] Initialize library
[X] Publish libraries
[X] Install libraries
[X] Configs (Global / Project)
[~] Login / Logout
[ ] Registry UI -
Install the plm-cli
via cargo:
cargo install plm-cli
Setup the plm-registry
instance:
# Clone the repo
git clone https://github.com/[YourUsername]/plm.git
# Navigate into the directory
cd plm
# Run locally the instance
cargo run --path plm-registry
# Clone the repo
git clone https://github.com/[YourUsername]/plm.git
# Navigate into the directory
cd plm
# Build and run the containers
docker-compose up --build -d
Then you can login to the registry:
plm login username password
To setup a workspace:
plm init
To publish a library:
plm publish
To install a library:
plm install my-library
We welcome contributions from the community. To get started, please fork the repository and submit a pull request.
This project is licensed under the APACHE-2.0 License - see the LICENSE file for details.
Created with </>
by plm
authors, 2023.