{"id":42307755,"url":"https://github.com/AdamRussak/k8f","last_synced_at":"2026-02-06T16:01:38.120Z","repository":{"id":64971573,"uuid":"517054813","full_name":"AdamRussak/k8f","owner":"AdamRussak","description":"Effortlessly check your Cloud Kubernetes cluster's version and conveniently connect with all your clusters in just one click by utilizing this GO tool.","archived":false,"fork":false,"pushed_at":"2025-11-20T01:33:43.000Z","size":4339,"stargazers_count":41,"open_issues_count":5,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-02-05T23:58:17.014Z","etag":null,"topics":["aks","aws","devops","eks","gcp","gke","go","golang","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdamRussak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-23T12:42:24.000Z","updated_at":"2025-06-20T17:20:54.000Z","dependencies_parsed_at":"2023-02-18T05:00:59.470Z","dependency_job_id":"ba7d114c-7866-4e07-94de-d3a4cf565f24","html_url":"https://github.com/AdamRussak/k8f","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/AdamRussak/k8f","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamRussak%2Fk8f","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamRussak%2Fk8f/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamRussak%2Fk8f/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamRussak%2Fk8f/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdamRussak","download_url":"https://codeload.github.com/AdamRussak/k8f/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamRussak%2Fk8f/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29167870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T15:38:29.831Z","status":"ssl_error","status_checked_at":"2026-02-06T15:37:48.592Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aks","aws","devops","eks","gcp","gke","go","golang","kubernetes"],"created_at":"2026-01-27T11:12:46.284Z","updated_at":"2026-02-06T16:01:38.110Z","avatar_url":"https://github.com/AdamRussak.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# :sun_behind_large_cloud: k8f :sun_behind_large_cloud:\n\n\u003c/div\u003e\n\n**k8f** is a command-line tool designed to simplify and streamline Kubernetes cluster operations.\u003cbr\u003e\nIt provides a collection of useful commands and features that assist in managing and interacting with Kubernetes clusters efficiently.\u003cbr\u003e\nThe tool was designed to scan all you're Azure and/or AWS Accounts for Kubernetes with a single command.\u003cbr\u003e\n\n**What can it do??**\u003cbr\u003e\nyou can **Add** or **Update** EKS/AKS to your kubeconfig file.\u003cbr\u003e\nyou can get you're EKS/AKS output with **k8s name**, **account**, **region**, **version**, and **upgrade status**.\n\n## Table of Contents\n\n- [:sun\\_behind\\_large\\_cloud: k8f :sun\\_behind\\_large\\_cloud:](#sun_behind_large_cloud-k8f-sun_behind_large_cloud)\n  - [Table of Contents](#table-of-contents)\n  - [prerequisite](#prerequisite)\n  - [Supported Platform](#supported-platform)\n    - [Known issues](#known-issues)\n  - [Commands](#commands)\n    - [list](#list)\n    - [connect](#connect)\n    - [find](#find)\n  - [How to install](#how-to-install)\n    - [Windows](#windows)\n    - [Linux](#linux)\n    - [MacOS](#macos)\n      - [Arm Processor](#arm-processor)\n      - [Intel Processor](#intel-processor)\n    - [Container](#container)\n\n\n\u003cimg src=\"https://raw.githubusercontent.com/AdamRussak/public-images/main/k8f/k8f_logo.png\" data-canonical-src=\"https://raw.githubusercontent.com/AdamRussak/public-images/main/k8f/k8f_logo.png\"  width=\"500\" height=\"200\" /\u003e\n\n\u003e image created Using MidJorny\u003cbr\u003e\n\n\u003e \n[![CodeQL](https://github.com/AdamRussak/k8f/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/AdamRussak/k8f/actions/workflows/codeql-analysis.yml)  [![release-artifacts](https://github.com/AdamRussak/k8f/actions/workflows/release-new-version.yaml/badge.svg)](https://github.com/AdamRussak/k8f/actions/workflows/release-new-version.yaml) ![GitHub](https://img.shields.io/github/license/AdamRussak/k8f) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/AdamRussak/k8f) ![GitHub all releases](https://img.shields.io/github/downloads/AdamRussak/k8f/total) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=AdamRussak_k8f\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=AdamRussak_k8f) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=AdamRussak_k8f\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=AdamRussak_k8f)\n[![Docker Size](https://img.shields.io/docker/image-size/unsoop/k8f?label=Size\u0026logo=Docker\u0026color=0aa8d2\u0026logoColor=fff)](https://hub.docker.com/r/unsoop/k8f)\n\u003cimg alt=\"\" src=\"https://img.shields.io/docker/pulls/unsoop/k8f?style=flat-square\u0026logo=docker\"/\u003e\n\u003cimg alt=\"Issues\" src=\"https://img.shields.io/github/issues/adamrussak/k8f?style=flat-square\u0026labelColor=343b41\"/\u003e\n\u003cimg alt=\"Stars\" src=\"https://img.shields.io/github/stars/adamrussak/k8f?style=flat-square\u0026labelColor=343b41\"/\u003e\n\n[badge-info]: https://raw.githubusercontent.com/AdamRussak/public-images/main/badges/info.svg 'Info'\n\n\u003e ![badge-info][badge-info]\u003cbr\u003e\n\u003e Tested with:\u003cbr\u003e\n\u003e AWS CLI: 2.9.17 \u003cbr\u003e\n\u003e AZ CLI: 2.44.1 \u003cbr\u003e\n\u003e Kubectl: v1.26.1 \u003cbr\u003e\n\n## prerequisite\n- for Azure: installed and logged in azure cli  \n- for AWS: install AWS cli and Profiles for each Account at `~/.aws/credentials`  and `~/.aws/config`\n- for GCP: Installed gcloud cli and logged in\n\n## Supported Platform\n\n\n| Provider | CLI      | Docker   |\n|----------|----------|----------|\n|   AWS    | \u0026#x2611; | \u0026#x2611; |\n|   Azure  | \u0026#x2611; |          |\n|   GCP    | \u0026#x2611; |          |\n\n### Known issues\n* GCP currently only supports the List command\n* Azure accounts with MFA enabled can cause failure \n\n## Commands\n\n###  list\n```sh\nList all K8S in Azure/AWS or Both\n\nUsage:\n  k8f list [flags]\n\nExamples:\nk8f list {aws/azure/all}\n\nFlags:\n  -h, --help             help for list\n  -o, --output string    Set output type(json or yaml) (default \"json\")\n  -p, --path string      Set output path (default \"./output\")\n      --profile-select   Get UI to select single profile to connect\n  -s, --save             Get UI to select single profile to connect\n\nGlobal Flags:\n      --aws-region string   Set Default AWS Region (default \"eu-west-1\")\n      --validate            Fail on validation of the AWS credentals before running\n  -v, --verbose             verbose logging\n```\n\nList Command Sample Output:\n\n[![Sample of List command output](https://raw.githubusercontent.com/AdamRussak/public-images/main/k8f/k8f-list.jpg \"Sample of List command output\")](https://raw.githubusercontent.com/AdamRussak/public-images/main/k8f/k8f-list.jpg \"Sample of List command output\")\n\n###  connect\n```sh\nConnect to all the clusters of a provider or all Supported Providers\n\nUsage:\n  k8f connect [flags]\n\nExamples:\nk8f connect aws -p ./testfiles/config --backup -v\n        k8f connect aws --isEnv -p ./testfiles/config --overwrite --backup --role-name \"test role\" -v\n\nFlags:\n      --auth               change from AWS CLI Auth to AWS IAM Authenticator, Default set to AWS CLI\n      --backup             If true, backup config file to $HOME/.kube/config.bk\n      --dry-run            If true, only run a dry-run with cli output\n      --force-merge        If set, all duplication will be merged without prompt, default is interactive\n  -h, --help               help for connect\n      --isEnv              Add AWS Profile as Env to the Kubeconfig\n      --merge              If true, add new K8s to the existing kubeconfig path\n  -o, --output string      kubeconfig output type format(json or yaml) (default \"yaml\")\n      --overwrite          If true, force overwrite kubeconfig\n  -p, --path string        Set output path (default \"/home/\u003cuser\u003e/.kube/config\")\n      --profile-select     provides a UI to select a single profile to scan\n      --role-name string   Set Role Name (Example: 'myRoleName')\n  -s, --short-name         shorten EKS name from \u003caccount\u003e:\u003cregion\u003e:\u003ccluster\u003e to \u003cregion\u003e:\u003ccluster\u003e\n\nGlobal Flags:\n      --aws-region string   Set Default AWS Region (default \"eu-west-1\")\n      --validate            Fail on validation of the AWS credentals before running\n  -v, --verbose             verbose logging\n```\n\n###  find\n```sh\nFind if a specific K8S exist in Azure or AWS\n\nUsage:\n  k8f find [flags]\n\nExamples:\nk8f find {aws/azure/all} my-k8s-cluster\n\nFlags:\n  -h, --help   help for find\n\nGlobal Flags:\n      --aws-region string   Set Default AWS Region (default \"eu-west-1\")\n      --validate            Fail on validation of the AWS credentals before running\n  -v, --verbose             verbose logging\n```\n\n## How to install\n\n### Windows\nLatest:\n```ps\n$downloads = \"$env:USERPROFILE\\Downloads\"\n$source = \"$downloads\\k8f.exe\"\n$destination = \"C:\\tool\"\nInvoke-WebRequest -Uri \"https://github.com/AdamRussak/k8f/releases/latest/download/k8f.exe\" -OutFile $source\nNew-Item -ItemType Directory -Path $destination\nCopy-Item -Path $source -Destination $destination\n[Environment]::SetEnvironmentVariable(\"Path\", \"$env:Path;$destination\\k8f.exe\", \"Machine\")\n```\nVersion:\n```ps\n$downloads = \"$env:USERPROFILE\\Downloads\"\n$source = \"$downloads\\k8f.exe\"\n$destination = \"C:\\tool\"\n$version = \"0.3.1\"\nInvoke-WebRequest -Uri \"https://github.com/AdamRussak/k8f/releases/download/$version/k8f.exe\" -OutFile \"$downloads\\k8f.exe\"\nNew-Item -ItemType Directory -Path $destination\nCopy-Item -Path $source -Destination $destination\n[Environment]::SetEnvironmentVariable(\"Path\", \"$env:Path;$destination\\k8f.exe\", \"Machine\")\n```\n### Linux\nLatest:\n```sh\ncd ~ \u0026\u0026 wget https://github.com/AdamRussak/k8f/releases/latest/download/k8f\nsudo cp ~/k8f /usr/local/bin/k8f\nsudo chmod 755 /usr/local/bin/k8f\n```\nVersion:\n```sh\ncd ~ \u0026\u0026 wget https://github.com/AdamRussak/k8f/releases/download/\u003cversion\u003e/k8f\nsudo cp ~/k8f /usr/local/bin/k8f\nsudo chmod 755 /usr/local/bin/k8f\n```\n### MacOS\n#### Arm processor\nLatest:\n```sh\ncd ~ \u0026\u0026 wget https://github.com/AdamRussak/k8f/releases/latest/download/k8f_darwin-arm64\nmv k8f_darwin-arm64 ./k8f\nsudo cp ~/k8f /usr/local/bin/k8f\nsudo chmod 755 /usr/local/bin/k8f\n```\nVersion:\n```sh\ncd ~ \u0026\u0026 wget https://github.com/AdamRussak/k8f/releases/download/\u003cversion\u003e/k8f_darwin-arm64\nmv k8f_darwin-arm64 ./k8f\nsudo cp ~/k8f /usr/local/bin/k8f\nsudo chmod 755 /usr/local/bin/k8f\n```\n#### Intel processor\nLatest:\n```sh\ncd ~ \u0026\u0026 wget https://github.com/AdamRussak/k8f/releases/latest/download/k8f_darwin-amd64\nmv k8f_darwin-amd64 ./k8f\nsudo cp ~/k8f /usr/local/bin/k8f\nsudo chmod 755 /usr/local/bin/k8f\n```\nVersion:\n```sh\ncd ~ \u0026\u0026 wget https://github.com/AdamRussak/k8f/releases/download/\u003cversion\u003e/k8f_darwin-amd64\nmv k8f_darwin-amd64 ./k8f\nsudo cp ~/k8f /usr/local/bin/k8f\nsudo chmod 755 /usr/local/bin/k8f\n```\n\n### Container\n```sh\n# Basic\ndocker run -v {path to .aws directory}:/home/nonroot/.aws/:ro unsoop/k8f:\u003cversion\u003e \u003ccommand\u003e\n\n# Automation Queryable output\nOUTPUT=$(docker run -v {path to .aws directory}:/home/nonroot/.aws/:ro unsoop/k8f:\u003cversion\u003e \u003ccommand\u003e 2\u003e /dev/null | grep -o '{.*}')\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAdamRussak%2Fk8f","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAdamRussak%2Fk8f","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAdamRussak%2Fk8f/lists"}