Package orderedmap implements an ordered map, i.e. a map that also keeps track of the order in which keys were inserted.
It offers the following features:
optimal runtime performance (all operations are constant time)
optimal memory usage (only one copy of values, no unnecessary memory allocation)
allows iterating from newest or oldest keys indifferently, without memory copy, allowing to break the iteration, and in time linear to the number of keys iterated over rather than the total length of the ordered map
supports any generic types for both keys and values. If you're running go < 1.18, you can use version 1 that takes and returns generic interfaces instead of using generics
idiomatic API, akin to that of container/list
support for JSON and YAML marshalling
This package provides a variable size buffer pool for Golang.
go-buffer-pool provides:
BufferPool: A pool for re-using byte slices of varied sizes. This pool will always return a slice with at least the size requested and a capacity up to the next power of two. Each size class is pooled independently which makes theBufferPoolmore space efficient than a plainsync.Poolwhen used in situations where data size may vary over an arbitrary range.Buffer: a buffer compatible withbytes.Bufferbut backed by aBufferPool. Unlikebytes.Buffer,Bufferwill automatically shrink on read, using the buffer pool to avoid causing too much work for the allocator. This is primarily useful for long lived buffers that usually sit empty.
certmagic provides API for TLS Automation with full control over almost every aspect of the system.
Main features:
Fully automated certificate management including issuance and renewal, with support for certificate revocation. Also works in conjunction with your own certificates.
Wildcard certificates.
One-line, fully managed HTTPS servers, with HTTP->HTTPS redirects.
Multiple issuers supported: get certificates from multiple sources/CAs for redundancy and resiliency.
Solves all 3 common ACME challenges: HTTP, TLS-ALPN, and DNS (and capable of others.)
Robust error handling:
Challenges are randomized to avoid accidental dependence and rotated to overcome certain network blockages.
Robust retries for up to 30 days.
Exponential backoff with carefully-tuned intervals.
Retries with optional test/staging CA endpoint instead of production, to avoid rate limits.
All libdns DNS providers work out-of-the-box.
Pluggable storage backends (default: file system) and key sources.
Automatic OCSP stapling.
Distributed solving of all challenges (works behind load balancers.)
Supports on-demand issuance of certificates.
Optional event hooks for observation.
One-time private keys by default (new key for each cert) to discourage pinning and reduce scope of key compromise.
Works with any certificate authority (CA) compliant with the ACME specification RFC 8555.
Must-Staple (optional; not default.)
Full support for draft-ietf-acme-ari (ACME Renewal Information; ARI) extension.
Go library for decoding generic map values
Common SELinux package used across the container ecosystem.
ignore is a library which returns a new ignorer object which can test against various paths. This is particularly useful when trying to filter files based on a .gitignore document.
This package provides a shared functionality for lazygit, lazydocker, etc.
This package implements /dev/loop device in Go.
This package provides a library to works with graphics.
Optimized codec for []byte <=> base36 string conversion.
Package bitmapfont provides font.Face values with bitmap glyphs.
Style definitions for nice terminal layouts. Built with TUIs in mind.
This package implements a reflect-based black magic for Go.
This package provides io.ReadWriteSeeker implementation for []byte.
Set is the set collection for the Go language.
base32 encoding package from Go with NoPadding option
several IANA constants, and helpers used by dhcpv6 and dhcpv4
Package pinentry provides a client to GnuPG's pinentry.
This directory contains documents about Docker Image Specification v1.X.
This package provides implementation of MessagePack encoding for Go programming language.
This package provides a functionality for encoding and decoding unsigned varints.
This package provides implementation of MessagePack encoding for Go programming language.
bytebufferpool implements a pool of byte buffers with anti-fragmentation protection.
This package implements a functionality for testing socket and HTTP servers in Golang.