^^

'golang' section (8/1)


analyze resource usage and performance of running containers

cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers. . cAdvisor has native support for Docker containers and should support just about any other container type out of the box. . cAdvisor also exposes container stats as Prometheus (http://prometheus.io) metrics. . This package provides golang library sources.


connect securely to a 2nd generation Cloud SQL DB (Go library)

The Cloud SQL Proxy allows a user with the appropriate permissions to connect to a Second Generation Google Cloud SQL database without having to deal with IP whitelisting or SSL certificates manually. It works by opening unix/tcp sockets on the local machine and proxying connections to the associated Cloud SQL instances when the sockets are used. . This package contains the github.com/GoogleCloudPlatform/cloudsql-proxy Go library.


connect securely to a 2nd generation Cloud SQL DB

The Cloud SQL Proxy allows a user with the appropriate permissions to connect to a Second Generation Google Cloud SQL database without having to deal with IP whitelisting or SSL certificates manually. It works by opening unix/tcp sockets on the local machine and proxying connections to the associated Cloud SQL instances when the sockets are used. . Optional functionality can be enabled (--fuse) with access to `/dev/fuse` as well as the `fusermount` binary. . By default, the proxy will authenticate under the default service account of the Compute Engine VM it is running on. Therefore, the VM must have at least the sqlservice.admin API scope ("https://www.googleapis.com/auth/sqlservice.admin") and the associated project must have the SQL Admin API enabled. The default service account must also have at least WRITER/EDITOR privileges to any projects of target SQL instances.


tool for service discovery, monitoring and configuration (source)

Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable. . Consul provides several key features: . - Service Discovery - Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. External services such as SaaS providers can be registered as well. . - Health Checking - Health Checking enables Consul to quickly alert operators about any issues in a cluster. The integration with service discovery prevents routing traffic to unhealthy hosts and enables service level circuit breakers. . - Key/Value Storage - A flexible key/value store enables storing dynamic configuration, feature flagging, coordination, leader election and more. The simple HTTP API makes it easy to use anywhere. . - Multi-Datacenter - Consul is built to be datacenter aware, and can support any number of regions without complex configuration. . Consul runs on Linux, Mac OS X, and Windows. It is recommended to run the Consul servers only on Linux, however. . This package contains the source.


open and reliable container runtime (development files)

Containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability. It is available as a daemon for Linux and Windows, which can manage the complete container life cycle of its host system: image transfer and storage, container execution and supervision, low-level storage and network attachments, etc. . Containerd is designed to be embedded into a larger system, rather than being used directly by developers or end-users. . This package provides development files.


Externally reusable Go packages included with Continuity

These packages are intentionally developed by upstream in such a way that they are reusable to projects outside Continuity and only rely on each other or other external dependencies to be built.


lightweight and collaborative security engine

CrowdSec is a lightweight security engine, able to detect and remedy aggressive network behavior. It can leverage and also enrich a global community-wide IP reputation database, to help fight online cybersec aggressions in a collaborative manner. . CrowdSec can read many log sources, parse and also enrich them, in order to detect specific scenarios, that usually represent malevolent behavior. Parsers, Enrichers, and Scenarios are YAML files that can be shared and downloaded through a specific Hub, as well as be created or adapted locally. . Detection results are available for CrowdSec, its CLI tools and bouncers via an HTTP API. Triggered scenarios lead to an alert, which often results in a decision (e.g. IP banned for 4 hours) that can be consumed by bouncers (software components enforcing a decision, such as an iptables ban, an nginx lua script, or any custom user script). . The CLI allows users to deploy a Metabase Docker image to provide simple-to-deploy dashboards of ongoing activity. The CrowdSec daemon is also instrumented with Prometheus to provide observability. . CrowdSec can be used against live logs (“à la fail2ban”), but can also work on cold logs to help, in a forensic context, to build an analysis for past events. . On top of that, CrowdSec aims at sharing detection signals amongst all participants, to pre-emptively allow users to block likely attackers. To achieve this, minimal meta-information about the attack is shared with the CrowdSec organization for further retribution. . Users can also decide not to take part into the collective effort via the central API, but to register on a local API instead.

/main/deck/deck

Configuration management for Kong and Kong Enterprise (program)

Declarative configuration for Kong decK provides declarative configuration and drift detection for Kong.

/main/delve/delve

debugger for the Go programming language

Delve enables you to interact with your program by controlling the execution of the process, evaluating variables, and providing information of thread/goroutine state, CPU register state and more.


Key/Value store abstraction library

libkv provides a Go native library to store metadata. . The goal of libkv is to abstract common store operations for multiple Key/Value backends and offer the same experience no matter which backend is used. . For example, libkv can be used it to store metadata or for service discovery to register machines and endpoints inside your cluster. . Also libkv can be used to implement a generic Leader Election. . As of now, libkv offers support for Consul (disabled), Etcd and Zookeeper.


reusable Go packages included with Docker

These packages are intentionally developed by upstream in such a way that they are reusable to projects outside Docker and only rely on each other or other external dependencies to be built.


Go programming language compiler - metapackage

The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language. . This package is a metapackage that, when installed, guarantees that (most of) a full Go development environment is installed. . To use this version, instead of the default one provided by golang-go package, add /usr/lib/go-1.16/bin/ to PATH, or invoke /usr/lib/go-1.16/bin/go directly.


Go programming language compiler, linker, compiled stdlib

The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language. . This package provides an assembler, compiler, linker, and compiled libraries for the Go programming language. . To use this version, instead of the default one provided by golang-go package, add /usr/lib/go-1.16/bin/ to PATH, or invoke /usr/lib/go-1.16/bin/go directly.


Go programming language - source files

The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language. . This package provides the Go programming language source files needed for compilation.


Go module that provides git access through shell

This git package provides methods for interacting with git through shell commands. It provides a generic and flexible interface that can be used for many projects. . Documentation: https://godoc.org/code.gitea.io/git


Low-level, Ed25519 elliptic curve library

This library implements the edwards25519 elliptic curve, exposing the necessary APIs to build a wide array of higher-level primitives. Read the docs at pkg.go.dev/filippo.io/edwards25519 (https://pkg.go.dev/filippo.io/edwards25519). . The code is originally derived from Adam Langley's internal implementation in the Go standard library, and includes George Tankersley's performance improvements (https://golang.org/cl/71950). It was then further developed by Henry de Valence for use in ristretto255. . Most users don't need this package, and should instead use crypto/ed25519 for signatures, golang.org/x/crypto/curve25519 for Diffie-Hellman, or github.com/gtank/ristretto255 for prime order group logic. However, for anyone currently using a fork of crypto/ed25519/internal/edwards25519 or github.com/agl/edwards25519, this package should be a safer, faster, and more powerful alternative. . Since this package is meant to curb proliferation of edwards25519 implementations in the Go ecosystem, it welcomes requests for new APIs or reviewable performance improvements.


implementation of the tree command

An implementation of the tree (http://mama.indstate.edu/users/ice/tree/) command written in Go, that can be used programmatically.


Html Content / Article Extractor in Golang (library)

GoOse HTML Content / Article Extractor in Golang


generating online histograms and plotting them with golang

Thist is a go library for calculating online histograms with plotting to the terminal and images.


Authentication handler for the Akamai OPEN EdgeGrid Authentication scheme

This library implements an Authentication handler for net/http (https://golang.org/pkg/net/http/) that provides the Akamai OPEN Edgegrid Authentication (https://developer.akamai.com/introduction/Client_Auth.html) scheme.


golang library for building interactive prompts

This library helps build interactive prompts. It features: - Various types of prompt (input, multiline, password, confirmation, select, multiselect, editor) - Filtering options - Keeping the filter alive - Validation - Help text - Updating icons - Custom types . Testing can be performed via the go-expect package.


general purpose syntax highlighter in pure Go (binaries)

Chroma takes source code and other structured text and converts it into syntax highlighted HTML, ANSI-coloured text, etc. . Chroma is based heavily on Pygments (http://pygments.org/), and includes translators for Pygments lexers and styles. . This package contains the compiled chroma and chromad binaries.


general purpose syntax highlighter in pure Go (libraries)

Chroma takes source code and other structured text and converts it into syntax highlighted HTML, ANSI-coloured text, etc. . Chroma is based heavily on Pygments (http://pygments.org/), and includes translators for Pygments lexers and styles. . This package contains Chroma's source code and helper libraries.


general purpose syntax highlighter in pure Go (binaries)

Chroma takes source code and other structured text and converts it into syntax highlighted HTML, ANSI-coloured text, etc. . Chroma is based heavily on Pygments (http://pygments.org/), and includes translators for Pygments lexers and styles. . This package contains the compiled chroma and chromad binaries.


Generate JSON Schemas from Go types (library)

This package generates JSON Schemas from Go types through reflection. . It supports: * Arbitrarily complex types, including interface{}, maps, slices, etc. * Json-schema features such as minLength, maxLength, pattern, format, etc. * Simple string and numeric enums. * Custom property fields via the jsonschema_extras struct tag.


Go package for parsing byte units

This package provides multipliers and string conversion functions for byte units with support for decimal and binary SI prefixes.


processes synchronization library

FileMutex is similar to sync.RWMutex, but also synchronizes across processes. On Linux, OSX, and other POSIX systems it uses the flock system call.


Alibaba Cloud OSS SDK for Go

This Go SDK is based on the official APIs of Alibaba Cloud OSS. . Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability. . The OSS can store any type of files and therefore applies to various websites, development enterprises and developers. . With this SDK, you can upload, download and manage data on any app anytime and anywhere conveniently.


efficient cache for gigabytes of data written in Go (library)

Fast, concurrent, evicting in-memory cache written to keep big number of entries without impact on performance. BigCache keeps entries on heap but omits GC for them. To achieve that, operations on byte slices take place, therefore entries (de)serialization in front of the cache will be needed in most use cases.


expression evaluation engine for Go

The expr package provides an engine that can compile and evaluate expressions. An expression is a one-liner that returns a value (mostly, but not limited to, booleans). It is designed for simplicity, speed and safety. . Features: - Seamless integration with Go (no need to redefine types) - Static typing - User-friendly error messages - Reasonable set of basic operators - Builtins: all, none, any, one, filter, map - Fast: uses bytecode virtual machine and optimizing compiler