Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bluebottle by Mulga — the shared Go library behind Spinifex, Predastore, Viperblock and Northstar: SigV4 signing, IAM policy evaluation, ARNs, master keys, telemetry and rate limiting.

Go License mulgadc.com

Packages · Stack Integration · Docs


Bluebottle: the shared library for the Mulga stack

Bluebottle holds the cross-cutting Go packages that Spinifex, Predastore, Viperblock and Northstar all need — request signing, policy evaluation, ARN handling, encryption at rest, telemetry and rate limiting — so that they do not depend on another service repo to get them.

Packages

Package Purpose
pkg/auth ARN parsing and formatting
pkg/iampolicy IAM policy types, matching and evaluation
pkg/masterkey Master key loading, derivation and AEAD encryption
pkg/otelsetup OpenTelemetry tracer/meter/logger bootstrap, slog bridge, HTTP instrumentation, log sanitisation
pkg/ratelimit Token bucket rate limiting and its configuration
pkg/sigv4 AWS SigV4 parsing, verification and URI canonicalisation

Stack Integration

Bluebottle sits below every service in the Mulga stack and depends on none of them.

Repository What it uses
Spinifex All six packages: SigV4 and IAM for the AWS gateway, master keys for credential storage, telemetry and rate limiting across services
Predastore S3 request signing, IAM policy evaluation, encryption at rest, telemetry, rate limiting
Viperblock Master keys for volume encryption, telemetry
Northstar Telemetry

Trademarks

Amazon Web Services, AWS, Amazon S3 and AWS IAM are trademarks of Amazon.com, Inc. or its affiliates. Bluebottle is not affiliated with or endorsed by Amazon Web Services.

License

Bluebottle is licensed under the GNU Affero General Public License v3.0 (AGPLv3) license.

Releases

Packages

Contributors

Languages