Skip to content

KubeAuth - An easy way to login into Kubernetes dashboard

License

Notifications You must be signed in to change notification settings

ddimitrioglo/kube-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KubeAuth

An easy way to login into Kubernetes dashboard

Description

The goal of this package (the combination of npm package and browser extension) is to provide an easier way to login into Kubernetes dashboard on an Amazon EKS cluster then described on Amazon's blog.

Previously you had to manually generate and paste the token from the CLI into the "Enter token" input and then choose "Sign in".

If you are lazy like me, then most probably you find it boring as heck 🥱, so what if you could configure it once on your machine and forget about this routine 🤯? And yes, now you can do it!

Prerequisites

  • Node.js v8+
  • aws-cli installed & configured
  • Make sure your AWS user has access to AWS EKS cluster

Installation

  • npm install -g kube-auth
  • kube-auth configure --browser chrome
  • Open chrome://extensions/ page
  • Enable developer mode
  • Press "Load unpacked" and select the directory returned by a kube-auth whereis command
  • Click on extension icon (browser extension bar) and fill Amazon EKS cluster information
  • That's it!

Todo

  • Automatic native host generation for all browsers and OS'
  • Get rid of aws eks get-token CLI command by using aws-sdk (see Python example)
  • Rewrite to typescript
  • Use webpack for extension build
  • Support Windows machines (regedit might needed)
  • Use Mozilla's polyfill in order to support Chrome, Firefox, Opera & Edge
  • Get rid of native-messaging library (maybe...)
  • Think about installing browser extension automatically (see docs)
  • Add tests
  • Move host generation into separate package (after good testing)

Improvements

  • If you are facing some issues, please don't hesitate to open an issue
  • If you have any idea on how to improve this module, feel free to contribute or open an issue with enhancement label

We will get back to you as soon as possible.

License

This repository can be used under the MIT license.