Skip to content

a Jenkins X plugin for Octant for visualising pipelines and environments

License

Notifications You must be signed in to change notification settings

jenkins-x-plugins/octant-jx

Repository files navigation

Jenkins X Octant Plugins

This repository contains plugins for Octant for working with Jenkins X

Why Octant

Octant is the strategic UI for working with Jenkins X because its:

  • open source and very easy to extend with plugins
  • lets you visualise and work with all kubernetes and custom resources across multiple clusters
  • thanks to octant-jx has nice integration with Jenkins X components like apps, environments, pipelines, repositories etc.
  • over time will add management UI capabilities for installing, upgrading and administering Jenkins

Demo

Here is a demo video showing octant in action with Jenkins X:

octant-jx demo

We also presented octant-jx at the octant office hours this week.

Features

Longer term we're planning on making most of the developer and operations feaures of Jenkins X available through the UI via octant-jx but already you can:

  • view applications, environments, pipelines, repositories
  • for a pipeline quickly navigate to:
    • its Pod, Log, Pull Request or Preview Environment
    • for each step you can view the step detail or log of the step
  • see the various jobs and pipelines used to operate Jenkins X itself
  • over time will add management UI capabilities for installing, upgrading and administering Jenkins

Install

Prerequisites

Octant should first be installed and added to your $PATH.

Get the latest release from vmware-tanzu/octant

Install the plugin

Octant checks for extra plugins that live in ~/.config/octant/plugins.

You can download the released plugin binaries here and move the octant-* binaries to ~/.config/octant/plugins

Running

Run the UI via:

octant --browser-path="/#/jx/pipelines"

You should see on the left nav bar the Jenkins X Developer + Ops plugins appear near the bottom (2nd to last icons).

Running multiple Octants

You may connect to different clusters in different shells and open an octant for each cluster via:

octant --listener-addr=localhost:0

If you want to open a specific view try:

octant --listener-addr=localhost:0  --browser-path="/#/jx/pipelines-recent"

An octant will start along with a new browser window.

Developing octant-jx

octant-jx is 100% go lang and has a pretty simple small code base - so we'd love contributions!

It should be easy to add or improve the UI to handle most use cases.

Building locally

To build the plugins use:

make octant

which will build the plugins, install then into ~/.config/octant/plugins and then startup octant against the current k8s cluster.

You can run make tail in another terminal to watch the console log of octant-jx if you are developing a plugin.

Adding a new view

Its super easy to add new views of any kubernetes or custom resource you like.

A good example to copy/paste if you want to add a new view is the Repositories view:

Resources for plugin developers