Skip to content

Latest commit

 

History

History
152 lines (124 loc) · 3.04 KB

README.md

File metadata and controls

152 lines (124 loc) · 3.04 KB

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