{"id":20765388,"url":"https://github.com/bringg/honey","last_synced_at":"2025-04-30T09:51:36.094Z","repository":{"id":38257210,"uuid":"336106666","full_name":"bringg/honey","owner":"bringg","description":"where’s my instance, honey? Honey is devops tool to find instances and pods by name, inspired by rclone and used some components from  the rclone.","archived":false,"fork":false,"pushed_at":"2024-04-19T13:58:58.000Z","size":2071,"stargazers_count":13,"open_issues_count":18,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T15:05:25.731Z","etag":null,"topics":["aws","devops","gcp","golang","k8s"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bringg.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2021-02-04T23:08:10.000Z","updated_at":"2024-11-11T23:56:37.000Z","dependencies_parsed_at":"2024-06-19T17:11:44.734Z","dependency_job_id":"53d6cd02-a69d-49f5-b570-56ff6cd26b19","html_url":"https://github.com/bringg/honey","commit_stats":{"total_commits":51,"total_committers":2,"mean_commits":25.5,"dds":"0.13725490196078427","last_synced_commit":"d23af397f70d6a2757c9feec9ea6beed65bf1e44"},"previous_names":["shareed2k/honey"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bringg%2Fhoney","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bringg%2Fhoney/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bringg%2Fhoney/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bringg%2Fhoney/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bringg","download_url":"https://codeload.github.com/bringg/honey/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251679858,"owners_count":21626611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aws","devops","gcp","golang","k8s"],"created_at":"2024-11-17T11:16:37.052Z","updated_at":"2025-04-30T09:51:36.051Z","avatar_url":"https://github.com/bringg.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Honey\n\nHoney is a simple tool for DevOps, let you simple search in few clouds for specific instance, written in pure Go.\n\n## Motivation\nI wanted a simple, fast all in one tool to search for instance by key in few clouds in parallel. Inspired by rclone, used few components from rclone tool.\n\n## Backend providers\n\n  * Amazon EC2\n  * Consul by HashiCorp\n  * Google Cloud Compute\n  * Kubernetes Pods\n  * MacStadium Mac Servers\n\n## Installing Honey\n* From the Binary Releases\n\nEvery release of Honey provides binary releases for a variety of OSes. These binary versions can be manually downloaded and installed.\n\nDownload your desired version\nUnpack it (unzip honey_Darwin_x86_64.zip)\nFind the honey binary in the unpacked directory, and move it to its desired destination (mv honey /usr/local/bin/honey)\nFrom there, you should be able to run the honey.\n\n*  From Script\n\nHoney now has an installer script that will automatically grab the latest version of Honey and install it locally.\n\nYou can fetch that script, and then execute it locally. It's well documented so that you can read through it and understand what it is doing before you run it.\n\n```bash\ncurl -fsSL -o get_honey.sh https://raw.githubusercontent.com/bringg/honey/master/scripts/install.sh\nchmod 700 get_honey.sh\n./get_honey.sh\n```\n\nYes, you can `curl https://raw.githubusercontent.com/bringg/honey/master/scripts/install.sh | bash` if you want to live on the edge.\n\n * Through Package Managers\n\nFrom Homebrew (macOS)\n\n```bash\nbrew tap bringg/honey\nbrew install honey\n```\n\n## Compile and run\n\n```bash\ngo build .\n./honey # --help to see all options\n```\n\n## Example\n\nwe can configure honey with os environment `HONEY_CONFIG_\u003cbackend name\u003e_\u003coptions\u003e`\nto see more info about a particular backend use: `honey help backend \u003cname\u003e`\n\nhoney is support dot notation paths [GJSON Path Syntax](https://github.com/tidwall/gjson/blob/master/SYNTAX.md) and [JSONPath](https://kubernetes.io/docs/reference/kubectl/jsonpath/) same syntax as kubectl\n\n```bash\n# we can configure honey with env HONEY_CONFIG_\u003cbackend name\u003e_\u003coptions\u003e\nexport HONEY_CONFIG_GCP_PROJECTS=prj-1,prj-2,prj-3\n\n# if k8s context is not set honey will try to use selected context from kube config, same as kubectl\nexport HONEY_CONFIG_K8S_CONTEXT=minikube\n\n# if k8s namespace will be empty honey will try to search in all namespaces\nexport HONEY_CONFIG_K8S_NAMESPACE=default\n\n# default honey output is table\nhoney -bk8s -f api\n+--------------------------------------+--------------+-----------------------------+------+---------+-------------+----------------+\n|                  ID                  | BACKEND NAME |            NAME             | TYPE | STATUS  | PRIVATE IP  |   PUBLIC IP    |\n+--------------------------------------+--------------+-----------------------------+------+---------+-------------+----------------+\n| e6a3aefa-fe55-45b3-a0b3-a45ef8263174 | k8s          | api-75f8ccd6bb-w4p9s        | pod  | Running | 172.17.0.18 | 192.168.64.129 |\n| 23c0ad0f-5843-4254-953a-7a08bf84bc8d | k8s          | api-gateway-6b4c4ddf7-mfxd4 | pod  | Running | 172.17.0.14 | 192.168.64.129 |\n+--------------------------------------+--------------+-----------------------------+------+---------+-------------+----------------+\n```\n\njson output with query\n```bash\n# default keys [id backend_name name type status private_ip public_ip]\n# we can also query original backend instance object by specify `raw` key.\nhoney -bgcp -f test-instance -ojson=id,name,backend_name,raw.disks -vv\nDEBU[0000] using cache: gcp, pattern `test-instance`, found: 4 items  operation=Find\nDEBU[0000] using filter keys: [id name backend_name raw.disks]  where=place\n[\n  {\n    \"id\": \"3432432432\",\n    \"name\": \"integration-test-instance-1111\",\n    \"backend_name\": \"gcp\",\n    \"raw.disks\": [\n      {\n        \"auto_delete\": true,\n        \"guest_os_features\": [\n          {\n            \"force_send_fields\": null,\n            \"null_fields\": null,\n            \"type\": \"VIRTIO_SCSI_MULTIQUEUE\"\n          }\n        ],\n        \"null_fields\": null,\n        \"shielded_instance_initial_state\": null,\n        \"source\": \"https://www.googleapis.com/compute/v1/projects/test-integration/zones/us-east1-d/disks/integration-rundeck-1111\",\n        \"boot\": true,\n        \"disk_size_gb\": 100,\n        \"interface\": \"SCSI\",\n        \"mode\": \"READ_WRITE\",\n        \"type\": \"PERSISTENT\",\n        \"disk_encryption_key\": null,\n        \"initialize_params\": null,\n        \"kind\": \"compute#attachedDisk\",\n        \"licenses\": [\n          \"https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-1604-xenial\"\n        ],\n        \"device_name\": \"persistent-disk-0\",\n        \"force_send_fields\": null,\n        \"index\": 0\n      }\n    ]\n  }\n]\n```\n\n```bash\nhoney -bgcp -f rundeck -ojson='name,backend_name,raw.disks.#(disk_size_gb\u003e56).device_name' -vv\n\nDEBU[0000] using cache: gcp, pattern `rundeck`, found: 4 items  operation=Find\nDEBU[0000] using filter keys: [name backend_name raw.disks.#(disk_size_gb\u003e56).device_name]  where=place\n[\n  {\n    \"name\": \"test-rundeck-93tw\",\n    \"backend_name\": \"gcp\",\n    \"raw.disks.#(disk_size_gb\\u003e56).device_name\": \"persistent-disk-0\"\n  }\n]\n```\n\n## Contribution\n\nFeel free to open Pull-Request for small fixes and changes. For bigger changes and new backends please open an issue first to prevent double work and discuss relevant stuff.\n\nLicense\n-------\n\nThis is free software under the terms of MIT the license (check the\n[LICENSE file](/LICENSE) included in this package).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbringg%2Fhoney","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbringg%2Fhoney","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbringg%2Fhoney/lists"}