{"id":25531228,"url":"https://github.com/guessi/eks-node-diagnostic","last_synced_at":"2026-04-01T18:17:58.811Z","repository":{"id":273810145,"uuid":"920955885","full_name":"guessi/eks-node-diagnostic","owner":"guessi","description":"Friendly `NodeDiagnostic` apply with no dependency required","archived":false,"fork":false,"pushed_at":"2026-03-18T15:46:39.000Z","size":143,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-18T19:43:38.167Z","etag":null,"topics":["amazon-eks","github-actions","golang"],"latest_commit_sha":null,"homepage":"https://github.com/guessi/eks-node-diagnostic","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guessi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2025-01-23T04:22:55.000Z","updated_at":"2026-03-18T15:46:38.000Z","dependencies_parsed_at":"2025-01-23T05:26:25.850Z","dependency_job_id":"8833dd15-df6d-48a8-9866-39838214b7ce","html_url":"https://github.com/guessi/eks-node-diagnostic","commit_stats":null,"previous_names":["guessi/eks-node-diagnostic"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/guessi/eks-node-diagnostic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessi%2Feks-node-diagnostic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessi%2Feks-node-diagnostic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessi%2Feks-node-diagnostic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessi%2Feks-node-diagnostic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guessi","download_url":"https://codeload.github.com/guessi/eks-node-diagnostic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guessi%2Feks-node-diagnostic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"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":["amazon-eks","github-actions","golang"],"created_at":"2025-02-20T00:47:51.781Z","updated_at":"2026-04-01T18:17:58.794Z","avatar_url":"https://github.com/guessi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eks-node-diagnostic\n\n[![GitHub Actions](https://github.com/guessi/eks-node-diagnostic/actions/workflows/go.yml/badge.svg?branch=main)](https://github.com/guessi/eks-node-diagnostic/actions/workflows/go.yml)\n[![GoDoc](https://godoc.org/github.com/guessi/eks-node-diagnostic?status.svg)](https://godoc.org/github.com/guessi/eks-node-diagnostic)\n[![Go Report Card](https://goreportcard.com/badge/github.com/guessi/eks-node-diagnostic)](https://goreportcard.com/report/github.com/guessi/eks-node-diagnostic)\n[![GitHub release](https://img.shields.io/github/release/guessi/eks-node-diagnostic.svg)](https://github.com/guessi/eks-node-diagnostic/releases/latest)\n[![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/guessi/eks-node-diagnostic)](https://github.com/guessi/eks-node-diagnostic/blob/main/go.mod)\n\nFriendly `NodeDiagnostic` apply with no dependency required\n\n## 🤔 Why we need this? what it is trying to resolve?\n\nBack on December 3, 2024, Amazon EKS announced [Amazon EKS Auto Mode](https://aws.amazon.com/blogs/containers/getting-started-with-amazon-eks-auto-mode/) and how to use [NodeDiagnostic](https://docs.aws.amazon.com/eks/latest/userguide/auto-get-logs.html) for troubleshooting. However, not all computers have a pre-set Python environment, and it may be difficult for people who are not familiar with Python, let alone solving package dependencies, version conflicts, and virtual environment setting issues.\n\nTo remove these obstacles, [eks-node-diagnostic](https://github.com/guessi/eks-node-diagnostic) comes to solve this complex problem, aiming to simplify the entire process into executing binaries, easy to install without having to deal with Python dependencies.\n\n## 🔢 Prerequisites\n\n* An existing [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) AutoMode cluster or a cluster with the [Node Monitoring Agent](https://docs.aws.amazon.com/eks/latest/userguide/node-health-nma.html) installed.\n* An existing [kubeconfig](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html).\n* [Grant IAM users and roles access to Kubernetes APIs](https://docs.aws.amazon.com/eks/latest/userguide/grant-k8s-access.html).\n* (Only required for `destinationType: s3`) An existing [Amazon S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) for storing node logs generated by `NodeDiagnostic`.\n* (Only required for `destinationType: s3`) An IAM Role/User with [s3:PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) permission (to generate presigned S3 url).\n\n## 👀 Key differences with [official guidance](https://docs.aws.amazon.com/eks/latest/userguide/auto-get-logs.html)\n\n* Single executable binary only, no Python and no AWS SDK required.\n* Run anywhere, compatible with Linux (amd64/arm64), Windows (amd64 only), macOS (amd64/arm64).\n* Friendly setup with [Homebrew](https://brew.sh/) for mac users.\n\n## 🚀 Quick start\n\nGet `config.yaml` ready, you may find examples at [examples/](./examples/) folder.\n\nExecute\n\n```bash\neks-node-diagnostic [--config-file config.yaml]\n```\n\n```bash\nnodediagnostic.eks.amazonaws.com/i-EXAMPLE1111111111 created\nnodediagnostic.eks.amazonaws.com/i-EXAMPLE2222222222 created\nnodediagnostic.eks.amazonaws.com/i-EXAMPLE3333333333 created\n...\n```\n\nCheck\n\n```bash\nkubectl describe nodediagnostics\n```\n\n## :accessibility: FAQ\n\nWhere can I find log archive generated by `NodeDiagnostic` when `destinationType` set as `s3`?\n\n* Log archive generated by `NodeDiagnostic` would be placed at path below,\n\n    \u003e `s3://{{ BUCKET }}/node-diagnostic/log__{{ REGION }}__{{ NODE_NAME }}__{{ TIMESTAMP }}.tar.gz`\n\nWhere can I find log archive generated by `NodeDiagnostic` when `destinationType` set as `node`?\n\n* Generic Linux: Log should be available at `/var/log/support/${NODE_NAME}$-logs.tar.gz`\n* Bottlerocket: Log should be available at `/.bottlerocket/support/${NODE_NAME}$-logs.tar.gz`\n\nHow do I report an issue or submit a feature request?\n\n* Please go for project's [issue page](https://github.com/guessi/eks-node-diagnostic/issues) and describe your idea in detail.\n\nWhat is the version requirement for `destinationType: node`?\n\n* The `\"node\"` destination type requires [Node Monitoring Agent](https://docs.aws.amazon.com/eks/latest/userguide/node-health-nma.html) \u003e= v1.6.1.\n\n## 👷 Install\n\n### For macOS/Linux users (Recommended)\n\nBrand new install\n\n```bash\nbrew tap guessi/tap \u0026\u0026 brew update \u0026\u0026 brew install eks-node-diagnostic\n```\n\nTo upgrade version\n\n```bash\nbrew update \u0026\u0026 brew upgrade eks-node-diagnostic\n```\n\n### Manually setup (Linux, Windows, macOS)\n\n\u003cdetails\u003e\u003c!-- markdownlint-disable-line --\u003e\n\u003csummary\u003eClick to expand!\u003c/summary\u003e\u003c!-- markdownlint-disable-line --\u003e\n\n#### For Linux users\n\n```bash\ncurl -fsSL https://github.com/guessi/eks-node-diagnostic/releases/latest/download/eks-node-diagnostic-Linux-$(uname -m).tar.gz -o - | tar zxvf -\nmv -vf ./eks-node-diagnostic /usr/local/bin/eks-node-diagnostic\n```\n\n#### For macOS users\n\n```bash\ncurl -fsSL https://github.com/guessi/eks-node-diagnostic/releases/latest/download/eks-node-diagnostic-Darwin-$(uname -m).tar.gz -o - | tar zxvf -\nmv -vf ./eks-node-diagnostic /usr/local/bin/eks-node-diagnostic\n```\n\n#### For Windows users\n\n```powershell\n$SRC = 'https://github.com/guessi/eks-node-diagnostic/releases/latest/download/eks-node-diagnostic-Windows-x86_64.tar.gz'\n$DST = 'C:\\Temp\\eks-node-diagnostic-Windows-x86_64.tar.gz'\nInvoke-RestMethod -Uri $SRC -OutFile $DST\n```\n\n\u003c/details\u003e\n\n## ⚖️ License\n\n[Apache-2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguessi%2Feks-node-diagnostic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguessi%2Feks-node-diagnostic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguessi%2Feks-node-diagnostic/lists"}