user avatar
Merge pull request #344 from wwitzel3/issue-160-rebase
Wayne Witzel III authored
Namespace listing in cluster overview.
2b864262
Name Last commit Last update
.circleci Disable CircleCI docker layer caching
changelogs Show image id used by container
choco Bump choco nuspec version and hash
ci Readme feedback; updated plugin paths
cmd move to using DCO for Octant
docs [docs] fix path plugin/ -> plugins/
examples move to using DCO for Octant
hacks rename clustereye => octant
internal more tests and refactor helpers
pkg add namespace printer and navigation to cluster overview
thirdparty/unstructured vendor a unstructured converter than can handle int64 => float64
tools Added go tools and build env vars; remove unused choco files
vendor Added tests and changelog
web Disable CircleCI docker layer caching
.dockerignore Move namespaces which are overview specific to top level
.drone.yml Update builders and docs to go.13
.editorconfig draw graph using dagre
.gitattributes CI build using choco on Windows
.gitignore Create applications module
.gitmodules Plugin docs served using Hugo
.golangci.yml Create plugin helper service
.goreleaser.yml Change email from octant-dashboard to project-octant
.nvmrc Upgrade to Angular 8 and Clarity 2.2 (#286)
CHANGELOG.md Bump makefile version and added changelogs
CONTRIBUTING.md move to using DCO for Octant
Dockerfile
Dockerfile.plugin
HACKING.md
LICENSE
Makefile
NOTICE
README.md
ROADMAP.md
doc.go
go.mod
go.sum
package-lock.json

Logo

Build Status GitHub release License

A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.

Octant is a tool for developers to understand how applications run on a Kubernetes cluster. It aims to be part of the developer's toolkit for gaining insight and approaching complexity found in Kubernetes. Octant offers a combination of introspective tooling, cluster navigation, and object management along with a plugin system to further extend its capabilities.

Features

  • Resource Viewer

    Graphically visualizate relationships between objects in a Kubernetes cluster. The status of individual objects are represented by color to show workload performance.

  • Summary View

    Consolidated status and configuration information in a single page aggregated from output typically found using multiple kubectl commands.

  • Port Forward

    Forward a local port to a running pod with a single button for debugging applications and even port forward multiple pods across namespaces.

  • Log Stream

    View log streams of pod and container activity for troubleshooting or monitoring without holding multiple terminals open.

  • Label Filter

    Organize workloads with label filtering for inspecting clusters with a high volume of objects in a namespace.

  • Cluster Navigation

    Easily change between namespaces or contexts across different clusters. Multiple kubeconfig files are also supported.

  • Plugin System

    Highly extensible plugin system for users to provide additional functionality through gRPC. Plugin authors can add components on top of existing views.

Usage

Octant demo

Installation

Package (Linux only)

  1. Download the .deb or .rpm from the releases page.

  2. Install with either dpkg -i or rpm -i respectively.

Windows

Chocolatey

  1. Install using chocolatey with the following one-liner:

    choco install octant --confirm

Scoop

  1. Add the extras bucket.

    scoop bucket add extras
  2. Install using scoop.

scoop install octant

macOS

Homebrew

  1. Install using Homebrew with the following one-liner:

    brew install octant

Download a Pre-built Binary (Linux, macOS, Windows)

  1. Open the releases page from a browser and download the latest tarball or zip file.

  2. Extract the tarball or zip where X.Y is the release version:

    $ tar -xzvf ~/Downloads/octant_0.X.Y_Linux-64bit.tar.gz
    octant_0.X.Y_Linux-64bit/README.md
    octant_0.X.Y_Linux-64bit/octant
  3. Verify it runs:

    $ ./octant_0.X.Y_Linux-64bit/octant version

Getting Started

Before starting Octant, make sure you have access to a healthy cluster. If kubectl is installed, test using kubectl cluster-info.

Start running Octant:

$ octant

Octant should immediately launch your default web browser on 127.0.0.1:7777.

Or to run it on a specific host and fixed port: $ OCTANT_LISTENER_ADDR=0.0.0.0:8900 octant

For configuring Octant, setting up a development environment, or running tests, refer to the documentation here.

Plugins

Plugins are a core part of Octant in the Kubernetes ecosystem. A plugin can read objects and allows users to add components to Octant's views.

An example plugin can be found in cmd/octant-sample-plugin and installed to the default plugin path with make install-test-plugin.

Documentation for plugin components can be found in docs/plugins.

Discussion

Feature requests, bug reports, and enhancements are welcome. Contributors, maintainers, and users are encouraged to collaborate through these communication channels:

Contributing

New contributors will need to sign a CLA (contributor license agreement). We also ask that a changelog entry is included with your pull request. Details are described in our contributing documentation.

See our hacking guide for getting your development environment setup.

See our roadmap for tentative features in a 1.0 release.

License

Octant is available under the Apache License, Version 2.0