Skip to content

GUI kuberentes config file manager app. It automatically resolve your cloud profiles and suggest registable clusters.

License

Notifications You must be signed in to change notification settings

pubg/kubeconfig-updater

Repository files navigation

Kubeconfig-Updater

GUI Kuberentes config file manager app. It suggests your cloud profiles and available clusters.

Front Image

Downloads

Github Releases

FileName Kind OS Architecture
win-x64.zip Portable Zip Windows x86-64
win-x64.exe Installer Windows x86-64
win-arm64.zip Portable Zip Windows Arm64
win-arm64.exe Installer Windows Arm64
linux-x64.AppImage AppImage Linux x86-64
linux-x64.tar.gz tar.gz Linux x86-64
linux-arm64.AppImage AppImage Linux Arm64
linux-arm64.tar.gz tar.gz Linux Arm64
mac-universal.zip App MacOS Universal

Run Requirements

  • (Option) AWS CLI
  • (Option) Azure CLI
  • (Option) Gcloud SDK
  • (Option) TencentCloud Cli (Intl or China)
  • (Option) Rancher CLI

Config Store Path

Config stored under your HOME directory.

Windows: /Users/<username>/.kubeconfig-updater-gui
Linux: /home/<username>/.kubeconfig-updater-gui
MacOS: /Users/<username>/.kubeconfig-updater-gui

Requirement Permissions

# AWS Policy 
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeRegions",
        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:AccessKubernetesApi"
      ],
      "Resource": "*"
    }
  ]
}
# Azure Role
BuiltinRole: Azure Kubernetes Service Cluster User Role
#TencentCloud Builtin Policy
PolicyName: QcloudTKEReadOnlyAccessPreset
# TencentCloud Custom Policy
{
  "version": "2.0",
  "statement": [
    {
      "action": [
        "cvm:DescribeRegions",
        "tke:DescribeClusters",
        "tke:DescribeClusterKubeconfig"
      ],
      "resource": "*",
      "effect": "allow"
    }
  ]
}
# GCP
# Rancher
BuiltinClusterRole: Cluster Member

Other Documents

Update History

Roadmap

Develop Requirements

Frontend

  1. Node.js 16 LTS
  2. pnpm

Backend

  1. Golang 1.17
  2. goreleaser

Application Architecture

Screenshot

Useful Commands

Frontend

# Init Project
cd electron-app
pnpm install
pnpm run start

Backend

# Build with goreleaser
cd backend
goreleaser build --clean --snapshot

# Build with go mod (for develop)
cd backend
go build main.go -o kubeconfig-updater-backend

# AS API Server
kubeconfig-updater server --port=9080 --web-port=9081 --mock=false

# AS Standalone Cli
kubeconfig-updater register eks us-east-1 aws-test-cluster
kubeconfig-updater register aks my-rg azr-test-cluster
kubeconfig-updater register tke ap-hongkong tc-test-cluster

Package

# Full Packging
cd electron-app
make package-all

# Build Frontend and Package Only
cd electron-app
make package-only

About

GUI kuberentes config file manager app. It automatically resolve your cloud profiles and suggest registable clusters.

Resources

License

Stars

Watchers

Forks

Packages

No packages published