Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ module.exports = {
flags: {
FAST_DEV: true,
PARALLEL_SOURCING: false, // Disable parallel sourcing to reduce memory pressure
DEV_SSR: false,
},
trailingSlash: "never",
plugins: [
Expand Down Expand Up @@ -361,6 +362,8 @@ module.exports = {
name: "collections",
},
},
"gatsby-plugin-sharp",
"gatsby-transformer-sharp",
{
resolve: "gatsby-source-filesystem",
options: {
Expand Down
8 changes: 6 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,13 @@
"gatsby-plugin-preload-fonts": "^4.11.0",
"gatsby-plugin-purgecss": "^6.2.1",
"gatsby-plugin-robots-txt": "^1.8.0",
"gatsby-plugin-sharp": "^5.11.0",
"gatsby-plugin-sharp": "^5.15.0",
"gatsby-plugin-sitemap": "^6.11.0",
"gatsby-plugin-styled-components": "^6.14.0",
"gatsby-plugin-svgr": "^3.0.0-beta.0",
"gatsby-redirect-from": "1.0.4",
"gatsby-source-filesystem": "^5.14.0",
"gatsby-transformer-sharp": "^5.11.0",
"gatsby-transformer-sharp": "^5.15.0",
"gbimage-bridge": "^0.2.2",
"gray-matter": "^4.0.3",
"gsap": "^3.12.2",
Expand Down
50 changes: 36 additions & 14 deletions src/collections/blog/2021/2021-04-24-buf-protocols/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ author: "Adithya Krishna"
thumbnail: ./buf-protocol.webp
darkthumbnail: ./buf-protocol.webp
category: "Cloud Native"
tags:
tags:
- gRPC
published: true
resource: true
Expand All @@ -21,21 +21,35 @@ import Problems from "./problems.webp";
<BlogWrapper>
<BufProtocol>


<div className="intro" style="text-align:center;margin: 2rem 4rem;">At Layer5, we are continuously evaluating new technologies and incorporating them into our open source projects. Buf is one of those projects. This post presents an overview of Buf.</div>

<div className="intro" style={{ textAlign: "center", margin: "2rem 4rem" }}>
At Layer5, we are continuously evaluating new technologies and incorporating
them into our open source projects. Buf is one of those projects. This post
presents an overview of Buf.
</div>

## What is Buf?

A tool to make Protobuf reliable and easy to use for service owners and clients, while keeping it the obvious choice on the technical merits.
Our organization should not have to reinvent the wheel to create, maintain, and consume Protobuf APIs efficiently and effectively. It will handle our Protobuf management strategy for us, so we can focus on what matters.
<div className="fact">Learn more about Buf Protocol, visit <a href="https://buf.build" rel="nofollow">Buf Protocol</a> or their documentation at <a href="https://docs.buf.build/" rel="nofollow">Buf Protocol Docs</a></div>

<div className="fact">
Learn more about Buf Protocol, visit
<a href="https://buf.build" rel="nofollow">
{" "}
Buf Protocol{" "}
</a>
or their documentation at
<a href="https://docs.buf.build/" rel="nofollow">
{" "}
Buf Protocol Docs{" "}
</a>
</div>

<img className="problem-image" src={Problems} />

## Features
## Features

- Automatic file discovery.
- Automatic file discovery.
- Selectable configuration - 40 lint checkers and 54 breaking checkers
- Selectable error output - `file:line:col:message`
- Check anything from anywhere - proto files, tar, git, pre-built images or file descriptors.
Expand All @@ -52,31 +66,39 @@ Buf attempts to simplify your Protocol Buffers workflow using the Buf CLI and pr
- A configurable file builder that produces Images, our extension of FileDescriptorSets.

## Comparison Between Protobuf and Buf

Layer5 projects currently use protoc as the tool for building their protobuf defintions. The following are some considerations made while determining whether to use Buf.

- Protobuf is not as widely adopted as JSON.
- API Structure
- API Structure
- No standards enforcement
- Inconsistency can arise across an organization's Protobuf APIs,
- Inconsistency can arise across an organization's Protobuf APIs,
- Design decisions can be made that can affect your API's future iterability.
- Backward Compatibility
- Stub distribution
- Tooling

Buf aims to solve the above problems and it's long-term goal is to enable schema-driven development: A future where APIs are defined consistently, in a way that service owners and us can depend on

## Roadmap to Adopting Buf

In consideration of the use of Buf, we would adopt it in phases, starting with the following ares of integration.

- **API Structure Enforcements**
- Linter solves this issue by enforcing standards.
- Also, we don’t need to use Buf as a standalone tool we can just use linter as plugins.
- **API Structure Enforcements**

- Linter solves this issue by enforcing standards.
- Also, we don’t need to use Buf as a standalone tool we can just use linter as plugins.

- **Backward Compatibility**
- It will check for different things that can cause breaking change.
- For example, type change.

<div className="intro">If these topics excite you and you want to explore more <a href="/resources">cloud native technolgies</a>, come and say "Hi" on the community <a href="http://slack.layer5.io">Slack</a> and you are sure to be warmly welcomed. <span>😀</span></div>
<div className="intro">
If these topics excite you and you want to explore more
<a href="/resources"> cloud native technolgies </a>, come and say "Hi" on the community{" "}
<a href="http://slack.layer5.io"> Slack </a> and you are sure to be warmly welcomed.{" "}
<span>😀</span>
</div>

</BufProtocol>
</BlogWrapper>
</BlogWrapper>

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading