go-grpc-helper

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 27, 2023 License: MIT

README

SCANOSS Platform 2.0 gRPC Helper Package

Welcome to the SCANOSS Platform 2.0 gRPC server helper package.

This package contains helper functions to make development of Go gRPC services easier to configure.

Go Unit Test Golang CI Lint

Repository Structure

This repository is made up of the following components:

Usage

File Manipulation

The files package provides the following helpers:

  • Check if TLS should be enabled or not
  • Load filter config files
TLS
startTLS, err = CheckTLS("server.crt", "server.key")
Filtering
allowedIPs, deniedIPs, err = LoadFiltering("allow_list.txt", "deny_list.txt")
gRPC Server

The server package provides the following helpers:

  • Configure
  • Start
  • Stop
Configure
listen, server, err := SetupGrpcServer(":0", "server.crt", "server.key", allowedIPs, deniedIPs, true, true, false)
Start
StartGrpcServer(listen, server, true)
Stop
err = WaitServerComplete(srv, server)
REST/gRPC Gateway

The gateway package provides the following helpers:

  • Configure
  • Start
Configure
allowedIPs := []string{"127.0.0.1"}
deniedIPs := []string{"192.168.0.1"}
srv, mux, gateway, opts, err := SetupGateway("9443", "8443", "server.crt", allowedIPs, deniedIPs, true, false, true)
Start
StartGateway(srv, "server.crt", "server.key", true)
Database

The database package provide the following helpers:

  • Open DB connection
  • Setup DB options
  • Close DB connection
  • Close SQL connection
Open
db, err := OpenDBConnection(":memory:", "sqlite3", "", "", "", "", "")
Setup
err = SetDBOptionsAndPing(db)
Close DB Connection
CloseDBConnection(db)
Close SQL Connection
CloseSQLConnection(conn)

Bugs/Features

To request features or alert about bugs, please do so here.

Changelog

Details of major changes to the library can be found in CHANGELOG.md.

Directories

Path Synopsis
pkg
files
Package files provides some utilities for checking and loading files into memory
Package files provides some utilities for checking and loading files into memory
grpc/database
Package database contains functions to simplify opening/closing of DB connections, and tracing of SQL queries
Package database contains functions to simplify opening/closing of DB connections, and tracing of SQL queries
grpc/otel
Package otel provides functions to configure, start and shutdown gRPC open telemetry
Package otel provides functions to configure, start and shutdown gRPC open telemetry
grpc/server
Package server provides functions to configure, start and shutdown gRPC services
Package server provides functions to configure, start and shutdown gRPC services
grpc/utils
Package utils provides useful functions related to gRPC services
Package utils provides useful functions related to gRPC services

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL