Skip to content
adnoctemPublic

About

🛠️ A Go-based command-line toolkit for the management and configuration of large scale Kubernetes Clusters - built and tested using Google's Bazel

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

GOpsKit Logo

Go Operations Toolkit

License go.mod version Language Testing GitHub Release GitHub Activity Bazel Renovate PreCommit

GOpsKit (Go Operations Toolkit) is an open-source MIT-licensed Go-based toolkit for working with Kubernetes kubernetes Clusters v1.26 and above. The project is built using Google's Bazel build system in combination with their first-party Gazelle BUILD file generator.

📖 Overview

Managing high-stakes backbone components like Vault or Keycloak themselves with Helm? carto renders, diffs, applies and rolls back charts using a deterministic base+overlay values-merge strategy - it's the intended replacement for our Helmfile workflows. The toolkit also offers a plethora of other functionalities like setting up HashiCorp's Vault with waltr, registering various applications for SSO authentication with Keycloak using ssolo. Are you running your own custom private Certificate Authority using Smallstep's CA? Then you'd likely want to generate and manage PKI values using steppa.

✨ TL;DR

# build all projects at once - requires Bazel at .bazelversion
bazel build //...

🛠️ Tools

Like most modern Go projects the various executables are located within the cmd directory, each with its own README documenting how to use it. Here's a quick-reference list as an overview:

  • carto: manage Kubernetes backbone components (Helm charts) with the Helm SDK
  • plattr: create a platform cluster's provider credentials, volume encryption and DH parameter Secrets
  • ssolo: set up Keycloak realms and the OIDC clients applications sign their users in with
  • steppa: create a private certificate authority for Smallstep's step-ca
  • waltr: initialize, unseal and configure HashiCorp's Vault

Every flag can also be set in a configuration file or, for secrets, the environment - see configuring the CLIs. Services inside a cluster are reached through the gopskit bridge, which the CLIs set up with <cli> proxy setup.

🔃 Contributing

Refer to our documentation for contributors for contributing guidelines, commit message formats and versioning tips.

📥 Maintainers

This project is owned and maintained by Ad Noctem Collective refer to the AUTHORS or CODEOWNERS for more information. You may also use the linked contact details to reach out directly.

©️ Copyright

About

🛠️ A Go-based command-line toolkit for the management and configuration of large scale Kubernetes Clusters - built and tested using Google's Bazel

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages