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
2 changes: 1 addition & 1 deletion .github/workflows/jekyll.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- name: Setup Ruby
uses: ruby/setup-ruby@c515ec17f69368147deb311832da000dd229d338 # v1.297.0
with:
ruby-version: '3.1' # Not needed with a .ruby-version file
ruby-version: '3.2' # public_suffix 7.x requires Ruby >= 3.2
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
- name: Setup Pages
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- name: Setup Ruby
uses: ruby/setup-ruby@c515ec17f69368147deb311832da000dd229d338 # v1.297.0
with:
ruby-version: "3.1"
ruby-version: "3.2"
bundler-cache: true

- name: Build Jekyll site
Expand Down
2 changes: 1 addition & 1 deletion FAQ.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: default
title: "FAQ"
nav_order: 8
nav_order: 7
description: "Frequently asked questions about ColdBrew: gRPC framework configuration, interceptors, tracing, and troubleshooting"
permalink: /faq
---
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
source 'https://rubygems.org'

gem "jekyll", "~> 4.3"
gem "just-the-docs", "0.5.0"
gem "just-the-docs", "0.10.1"
Comment thread
coderabbitai[bot] marked this conversation as resolved.
gem "jekyll-default-layout"
gem "jekyll-github-metadata", ">= 2.15"
gem "webrick", "~> 1.7"
Expand Down
76 changes: 47 additions & 29 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.9.0)
public_suffix (>= 2.0.2, < 8.0)
base64 (0.3.0)
bigdecimal (4.0.1)
colorator (1.1.0)
concurrent-ruby (1.2.2)
concurrent-ruby (1.3.6)
csv (3.3.5)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
Expand All @@ -16,23 +16,36 @@ GEM
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
ffi (1.15.5)
ffi (1.17.4-arm64-darwin)
ffi (1.17.4-x86_64-darwin)
ffi (1.17.4-x86_64-linux-gnu)
forwardable-extended (2.6.0)
google-protobuf (3.22.3)
http_parser.rb (0.8.0)
i18n (1.12.0)
google-protobuf (4.34.1-arm64-darwin)
bigdecimal
rake (~> 13.3)
google-protobuf (4.34.1-x86_64-darwin)
bigdecimal
rake (~> 13.3)
google-protobuf (4.34.1-x86_64-linux-gnu)
bigdecimal
rake (~> 13.3)
http_parser.rb (0.8.1)
i18n (1.14.8)
concurrent-ruby (~> 1.0)
jekyll (4.3.2)
jekyll (4.4.1)
addressable (~> 2.4)
base64 (~> 0.2)
colorator (~> 1.0)
csv (~> 3.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
json (~> 2.6)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (>= 0.3.6, < 0.5)
mercenary (~> 0.3, >= 0.3.6)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
Expand All @@ -43,8 +56,10 @@ GEM
jekyll-github-metadata (2.16.0)
jekyll (>= 3.4, < 5.0)
octokit (>= 4, < 7, != 4.4.0)
jekyll-sass-converter (3.0.0)
sass-embedded (~> 1.54)
jekyll-include-cache (0.2.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (3.1.0)
sass-embedded (~> 1.75)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-sitemap (1.4.0)
Expand All @@ -54,16 +69,19 @@ GEM
nokogiri (~> 1.10)
jekyll-watch (2.2.1)
listen (~> 3.0)
just-the-docs (0.5.0)
json (2.19.3)
just-the-docs (0.10.1)
jekyll (>= 3.8.5)
jekyll-include-cache
jekyll-seo-tag (>= 2.0)
rake (>= 12.3.1)
kramdown (2.4.0)
rexml
kramdown (2.5.2)
rexml (>= 3.4.4)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.8.0)
listen (3.10.0)
logger
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.7.0)
Expand All @@ -78,29 +96,29 @@ GEM
ostruct (0.6.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.1)
public_suffix (7.0.5)
racc (1.6.2)
rake (13.0.6)
rake (13.3.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.30.0)
rexml (3.4.4)
rouge (4.7.0)
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sass-embedded (1.58.3-arm64-darwin)
google-protobuf (~> 3.21)
sass-embedded (1.58.3-x86_64-darwin)
google-protobuf (~> 3.21)
sass-embedded (1.58.3-x86_64-linux-gnu)
google-protobuf (~> 3.21)
sass-embedded (1.99.0-arm64-darwin)
google-protobuf (~> 4.31)
sass-embedded (1.99.0-x86_64-darwin)
google-protobuf (~> 4.31)
sass-embedded (1.99.0-x86_64-linux-gnu)
google-protobuf (~> 4.31)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.4.2)
webrick (1.8.1)
unicode-display_width (2.6.0)
webrick (1.9.2)

PLATFORMS
arm64-darwin-22
Expand All @@ -117,7 +135,7 @@ DEPENDENCIES
jekyll-github-metadata (>= 2.15)
jekyll-sitemap
jekyll-target-blank
just-the-docs (= 0.5.0)
just-the-docs (= 0.10.1)
logger
ostruct
webrick (~> 1.7)
Expand Down
4 changes: 3 additions & 1 deletion Index.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,9 @@ ColdBrew handles all of it. You write business logic, ColdBrew handles everythin
| Nothing | Prometheus metrics at `/metrics` — per-method latency, error rate, QPS |
| Nothing | Health/ready probes, graceful shutdown, [pprof] profiling |
| Nothing | Interceptor chain: logging, tracing, metrics, panic recovery |
| Proto validation annotations | Request validation via [Protovalidate] — `InvalidArgument` on failure, covers gRPC and HTTP |
| Nothing | [vtprotobuf] codec — up to ~4x faster proto marshal |
| Nothing | HTTP content negotiation — JSON, `application/proto`, `application/protobuf` out of the box |
| Nothing | HTTP [gzip/zstd][zstd] compression, container-aware [GOMAXPROCS][automaxprocs] |

New services inherit all of this automatically via the [cookiecutter template](/getting-started) — zero boilerplate to write, zero infrastructure to maintain.
Expand All @@ -157,7 +159,7 @@ ColdBrew composes proven Go libraries — not replacements:

| Category | Libraries |
|----------|----------|
| **API** | [grpc] + [grpc-gateway] — gRPC server with automatic REST gateway and Swagger UI |
| **API** | [grpc] + [grpc-gateway] — gRPC server with automatic REST gateway and Swagger UI; [Protovalidate] — request validation |
| **Observability** | [OpenTelemetry] + [Jaeger] — distributed tracing; [Prometheus] + [go-grpc-middleware] — metrics |
| **Monitoring** | [New Relic] — APM; [Sentry] — error tracking and alerting |
| **Performance** | [vtprotobuf] — fast serialization; [klauspost/compress][zstd] — gzip/zstd HTTP compression |
Expand Down
2 changes: 1 addition & 1 deletion Packages.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ layout: default
title: Packages
description: "ColdBrew Go packages: core, interceptors, errors, log, tracing, options, grpcpool, and data-builder API reference"
permalink: /packages
nav_order: 9
nav_order: 8
---
# Packages
{: .no_toc }
Expand Down
7 changes: 2 additions & 5 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
title: ColdBrew
description: "ColdBrew is a Go microservice framework for building production-grade gRPC services with built-in observability, resilience, and HTTP gateway support."
baseurl: "/" # the subpath of your site, e.g. /blog
baseurl: "" # the subpath of your site, e.g. /blog
url: "https://docs.coldbrew.cloud"
repository: go-coldbrew/
repository: go-coldbrew/docs.coldbrew.cloud
logo: "/assets/images/coldbrew.png"
favicon_ico: "/assets/images/coldbrew.ico"

Expand Down Expand Up @@ -50,9 +50,6 @@ gh_edit_branch: "main" # the branch that your docs is served from
# gh_edit_source: docs # the source that your files originate from
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately

ga_tracking: "G-ZRR08Y74FZ"

#color_scheme: dark
plugins:
- jekyll-default-layout
- jekyll-seo-tag
Expand Down
10 changes: 10 additions & 0 deletions _includes/head_custom.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{% if jekyll.environment == 'production' %}
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-ZRR08Y74FZ"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-ZRR08Y74FZ');
</script>
Comment thread
ankurs marked this conversation as resolved.
{% endif %}
1 change: 1 addition & 0 deletions _sass/custom/setup.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$content-width: 66rem;
2 changes: 1 addition & 1 deletion architecture.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: default
title: "Architecture"
nav_order: 5
nav_order: 3
description: "ColdBrew architecture: request lifecycle, interceptor chain, and package dependencies"
permalink: /architecture
---
Expand Down
2 changes: 1 addition & 1 deletion config-reference.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: default
title: "Configuration Reference"
nav_order: 5
nav_order: 4
description: "Complete environment variable reference for ColdBrew Go microservice framework configuration"
permalink: /config-reference
---
Expand Down
1 change: 1 addition & 0 deletions howto/APIs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Building and Configuring APIs"
parent: "How To"
nav_order: 1
description: "Build gRPC and REST APIs with ColdBrew using protobuf definitions and grpc-gateway HTTP annotations"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/Debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Debugging"
parent: "How To"
nav_order: 8
description: "Debugging ColdBrew services with pprof and log overrides"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/Log.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Log"
parent: "How To"
nav_order: 3
description: "Context-aware logging and trace ID propagation in ColdBrew"
---
## Table of contents
Expand Down
3 changes: 2 additions & 1 deletion howto/Metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
layout: default
title: "Metrics"
parent: "How To"
description: "Prometheus metrics and custom metrics in ColdBrew"
nav_order: 6
description: "Prometheus metrics and custom metrics in ColdBrew: default runtime metrics, custom counters and histograms, and Hystrix circuit breaker monitoring"
---
## Table of contents
{: .no_toc .text-delta }
Expand Down
1 change: 1 addition & 0 deletions howto/Tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Tracing"
parent: "How To"
nav_order: 5
description: "Set up distributed tracing in ColdBrew with OpenTelemetry and New Relic for gRPC services"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/data-builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Data Builder"
parent: "How To"
nav_order: 11
description: "How to use go-coldbrew/data-builder package to orchestrate data-processing logic in Go."
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Errors"
parent: "How To"
nav_order: 4
description: "How to use go-coldbrew/errors package to handle errors in Go."
---
## Table of contents
Expand Down
3 changes: 2 additions & 1 deletion howto/gRPC.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
layout: default
title: "gRPC"
parent: "How To"
description: "How to use gRPC with ColdBrew"
nav_order: 2
description: "How to use gRPC with ColdBrew: connection pooling, client setup with grpcpool, and building gRPC-first microservices in Go"
---
## Table of contents
{: .no_toc .text-delta }
Expand Down
2 changes: 1 addition & 1 deletion howto/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: default
title: How To
nav_order: 6
nav_order: 5
description: "Step-by-step guides for logging, tracing, metrics, error handling, APIs, and debugging in ColdBrew Go services"
permalink: /howto
has_children: true
Expand Down
1 change: 1 addition & 0 deletions howto/interceptors.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Interceptors"
parent: "How To"
nav_order: 7
description: "Configuring gRPC interceptors in ColdBrew"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/private-modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Private Modules"
parent: "How To"
nav_order: 16
description: "Configure Go private modules for GitHub and GitLab private repositories in ColdBrew services"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/production.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Production Deployment"
parent: "How To"
nav_order: 13
description: "Deploy ColdBrew Go services to production with Kubernetes manifests, health probes, Prometheus, distributed tracing, and graceful shutdown"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/signals.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Signal Handling and Graceful Shutdown"
parent: "How To"
nav_order: 9
description: "How POSIX signal handling works in ColdBrew"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/swagger.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Swagger / Open API Support"
parent: "How To"
nav_order: 10
description: "How ColdBrew supports Swagger / Open API"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "Testing"
parent: "How To"
nav_order: 14
description: "Unit tests, mocks, benchmarks, and coverage reports in ColdBrew services"
---
## Table of contents
Expand Down
1 change: 1 addition & 0 deletions howto/vtproto.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
layout: default
title: "VTProtobuf (Fast Serialization)"
parent: "How To"
nav_order: 12
description: "How ColdBrew uses vtprotobuf for faster gRPC serialization with automatic fallback to standard protobuf"
---
## Table of contents
Expand Down
Loading
Loading