All Projects → homeport → havener

homeport / havener

Licence: MIT license
/ˈheɪvənə/ - Think of it as a swiss army knife for Kubernetes tasks

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to havener

obp-apis
OpenBankingProject.ch Community APIs
Stars: ✭ 18 (-93.92%)
Mutual labels:  yaml
ryaml
Python yaml library using Rust
Stars: ✭ 14 (-95.27%)
Mutual labels:  yaml
Guice-configuration
Guice configuration module allows inject values from files as JSON, HOCON and Properties format
Stars: ✭ 28 (-90.54%)
Mutual labels:  yaml
icingaweb2-module-fileshipper
Provide CSV, JSON, XML and YAML files as an Import Source for the Icinga Director and optionally ship hand-crafted additional Icinga2 config files
Stars: ✭ 25 (-91.55%)
Mutual labels:  yaml
AUCR
Analyst Unknown Cyber Range - a micro web service framework
Stars: ✭ 24 (-91.89%)
Mutual labels:  yaml
dynamic.yaml
DEPRECATED: YAML-based data transformations
Stars: ✭ 14 (-95.27%)
Mutual labels:  yaml
coqpit
Simple but maybe too simple config management through python data classes. We use it for machine learning.
Stars: ✭ 67 (-77.36%)
Mutual labels:  yaml
yaml.nvim
🍒 YAML toolkit for Neovim users
Stars: ✭ 81 (-72.64%)
Mutual labels:  yaml
elk
🦌 Minimalist yaml based task runner
Stars: ✭ 43 (-85.47%)
Mutual labels:  yaml
gohit
Run curl commands from yaml files
Stars: ✭ 19 (-93.58%)
Mutual labels:  yaml
go-config
Configuration file loader for Go
Stars: ✭ 27 (-90.88%)
Mutual labels:  yaml
HsYAML
YAML 1.2 implementation in pure Haskell
Stars: ✭ 50 (-83.11%)
Mutual labels:  yaml
statics
Base class and modules for YAML backed static models.
Stars: ✭ 41 (-86.15%)
Mutual labels:  yaml
kahoy
Simple Kubernetes raw manifests deployment tool
Stars: ✭ 33 (-88.85%)
Mutual labels:  yaml
yaml-editor
Edit YAML and see it processed by various processors
Stars: ✭ 29 (-90.2%)
Mutual labels:  yaml
paerser
No description or website provided.
Stars: ✭ 38 (-87.16%)
Mutual labels:  yaml
pipeline
Spline is a tool that is capable of running locally as well as part of well known pipelines like Jenkins (Jenkinsfile), Travis CI (.travis.yml) or similar ones.
Stars: ✭ 29 (-90.2%)
Mutual labels:  yaml
vscode-yaml-sort
This VS Code extension exposes the possibility to sort, format and validate yaml files.
Stars: ✭ 25 (-91.55%)
Mutual labels:  yaml
cryptorious
CLI Password Manager
Stars: ✭ 15 (-94.93%)
Mutual labels:  yaml
bafi
Universal JSON, BSON, YAML, CSV, XML converter with templates
Stars: ✭ 65 (-78.04%)
Mutual labels:  yaml

Havener /ˈheɪvənə/ License Go Report Card Build and Tests Codecov Go Reference Release

havener

Table of Contents

Introducing Havener

If you use a Kubernetes cluster, chances are very high that you use kubectl a lot. These are fine tools and allow you to do everything you need to do, but there are use cases where you end up with a very long kubectl command in your terminal. This is why we created havener to introduce a convenience wrapper around kubectl. Think of it as a swiss army knife for Kubernetes tasks. Possible use cases are for example executing a command on multiple pods at the same time, or retrieving usage details.

Ok, tell me more

To see a detail list of all havener commands, please refer to the command documentation.

Like kubectl, havener relies on the Kubernetes configuration that can be set via the KUBECONFIG environment variable. It can also be provided with the --kubeconfig flag, which takes the path to the YAML file (for example $HOME/.kube/config).

Notable Use Cases

Usage overview

havener Quickly get a live overview of the current cluster usage details, for example Load, CPU, and Memory of the cluster nodes.

Pods in namespace overview

havener Watch pods in multiple namespaces with added colors to help identify the respective state.

Havener Commands

How do I get started

There are different ways to get havener. You are free to pick the one that makes the most sense for your use case.

  • On macOS systems, a Homebrew tap is available to install havener:

    brew install homeport/tap/havener
  • Use a convenience script to download the latest release to install it in a suitable location on your local machine:

    curl -sL https://raw.githubusercontent.com/homeport/havener/main/scripts/download-latest.sh | bash
  • Docker Hub serves curated Docker images with havener as well as kubectl and other important CLI tools. There are two flavours available:

  • Of course, you can also build it from source code:

    go get github.com/homeport/havener/cmd/havener

Contributing

We are happy to have other people contributing to the project. If you decide to do that, here's how to:

  • get Go (havener requires Go version 1.17 or greater)
  • fork the project
  • create a new branch
  • make your changes
  • open a PR.

Git commit messages should be meaningful and follow the rules nicely written down by Chris Beams:

The seven rules of a great Git commit message

  1. Separate subject from body with a blank line
  2. Limit the subject line to 50 characters
  3. Capitalize the subject line
  4. Do not end the subject line with a period
  5. Use the imperative mood in the subject line
  6. Wrap the body at 72 characters
  7. Use the body to explain what and why vs. how

Running test cases and binaries generation

There are multiple make targets, but running all does everything you want in one call.

make all

Test it with Linux on your macOS system

The best way to test is to use Docker to spin up a container:

docker run \
  --interactive \
  --tty \
  --rm \
  --volume $GOPATH/src/github.com/homeport/havener:/go/src/github.com/homeport/havener \
  --workdir /go/src/github.com/homeport/havener \
  golang:1.17 /bin/bash

Package dependencies (Go modules)

The Go module setup can be frustrating, if you have to update Kubernetes API libraries. In general, using go get with a specific version based on a tag is known to work, for example go get k8s.io/[email protected]. In case you run into difficulties, please do not hesitate to reach out to us.

License

Licensed under MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].