All Projects → stormcat24 → Protodep

stormcat24 / Protodep

Licence: mit
Collect necessary .proto files (Protocol Buffers IDL) and manage dependencies

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Protodep

Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (-11.98%)
Mutual labels:  microservices, grpc, protocol-buffers
Protodot
transforming your .proto files into .dot files (and .svg, .png if you happen to have graphviz installed)
Stars: ✭ 107 (-35.93%)
Mutual labels:  grpc, cli, protocol-buffers
Evans
Evans: more expressive universal gRPC client
Stars: ✭ 2,710 (+1522.75%)
Mutual labels:  grpc, cli, protocol-buffers
Micro Starter Kit
Cloud Native GoLang Microservices - gRPC, GraphQL
Stars: ✭ 167 (+0%)
Mutual labels:  microservices, grpc
Go Proto Gql
Protobuff plugins for generating graphql schema and golang to graphql bindings. Also supports a graphql gateway (Alpha)
Stars: ✭ 127 (-23.95%)
Mutual labels:  grpc, protocol-buffers
Protoeasy Go
Simpler usage of protoc. Deprecated.
Stars: ✭ 129 (-22.75%)
Mutual labels:  grpc, protocol-buffers
Spring Cloud Cli
Spring Cloud CLI features
Stars: ✭ 139 (-16.77%)
Mutual labels:  microservices, cli
Gf Cli
GoFrame Command Line Interface, which is your helpmate for building GoFrame application with convenience.
Stars: ✭ 143 (-14.37%)
Mutual labels:  grpc, cli
Protolint
A pluggable linter and fixer to enforce Protocol Buffer style and conventions.
Stars: ✭ 142 (-14.97%)
Mutual labels:  cli, protocol-buffers
Microplane
A CLI tool to make git changes across many repos, especially useful with Microservices.
Stars: ✭ 154 (-7.78%)
Mutual labels:  microservices, cli
Modernarchitectureshop
The Microservices Online Shop is an application with a modern software architecture that is cleanly designed and based on.NET lightweight technologies. The shop has two build variations. The first variant is the classic Microservices Architectural Style. The second one is with Dapr. Dapr has a comprehensive infrastructure for building highly decoupled Microservices; for this reason, I am using Dapr to achieve the noble goal of building a highly scalable application with clean architecture and clean code.
Stars: ✭ 154 (-7.78%)
Mutual labels:  microservices, grpc
Proji
A powerful cross-platform CLI project templating tool.
Stars: ✭ 156 (-6.59%)
Mutual labels:  cli, tool
Dubbo Go Pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 124 (-25.75%)
Mutual labels:  microservices, grpc
Greenkeeper
🤖 🌴 Real-time automated dependency updates for npm and GitHub
Stars: ✭ 1,564 (+836.53%)
Mutual labels:  dependencies, dependency-manager
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 1,903 (+1039.52%)
Mutual labels:  microservices, grpc
Genesis
Templating, scaffolding and generation tool
Stars: ✭ 122 (-26.95%)
Mutual labels:  cli, tool
Git Hub
Git command line interface to GitHub
Stars: ✭ 119 (-28.74%)
Mutual labels:  cli, tool
Fselect
Find files with SQL-like queries
Stars: ✭ 3,103 (+1758.08%)
Mutual labels:  cli, tool
Staert
Merge your configuration sources
Stars: ✭ 108 (-35.33%)
Mutual labels:  cli, toml
Trino
Trino: Master your translations with command line!
Stars: ✭ 118 (-29.34%)
Mutual labels:  cli, tool

protodep

Circle CI Language issues License: MIT GoDoc

Dependency tool for Protocol Buffers IDL file (.proto) vendoring tool.

Motivation

In building Microservices architecture, gRPC with Protocol Buffers is effective. When using gRPC, your application will depend on many remote services.

If you manage proto files in a git repository, what will you do? Most remote services are managed by git and they will be versioned. We need to control which dependency service version that application uses.

Install

go get

$ go get github.com/stormcat24/protodep

from binary

Support as follows:

  • protodep_darwin_amd64.tar.gz
  • protodep_linux_386.tar.gz
  • protodep_linux_amd64.tar.gz
  • protodep_linux_arm.tar.gz
  • protodep_linux_arm64.tar.gz
$ wget https://github.com/stormcat24/protodep/releases/download/0.0.8/protodep_darwin_amd64.tar.gz
$ tar -xf protodep_darwin_amd64.tar.gz
$ mv protodep /usr/local/bin/

Usage

protodep.toml

Proto dependency management is defined in protodep.toml.

proto_outdir = "./proto"

[[dependencies]]
  target = "github.com/stormcat24/protodep/protobuf"
  branch = "master"

[[dependencies]]
  target = "github.com/grpc-ecosystem/grpc-gateway/examples/examplepb"
  revision = "v1.2.2"
  path = "grpc-gateway/examplepb"

[[dependencies]]
  target = "github.com/kubernetes/helm/_proto/hapi"
  branch = "master"
  path = "helm/hapi"
  ignores = ["./release", "./rudder", "./services", "./version"]

protodep up

In same directory, execute this command.

$ protodep up

If succeeded, protodep.lock is generated.

protodep up -f (force update)

Even if protodep.lock exists, you can force update dependenies.

$ protodep up -f

[Attention] Changes from 0.1.0

From protodep 0.1.0 supports ssh-agent, and this is the default. In other words, in order to operate protodep without options as before, it is necessary to set with ssh-add.

As the follows:

$ ssh-add ~/.ssh/id_rsa
$ protodep up

Getting via HTTPS

If you want to get it via HTTPS, do as follows.

$ protodep up --use-https

And also, if Basic authentication is required, do as follows. If you have 2FA enabled, specify the Personal Access Token as the password.

$ protodep up --use-https \
    --basic-auth-username=your-github-username \
    --basic-auth-password=your-github-password

License

See LICENSE.

Copyright © stromcat24. All Rights Reserved.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].