{"id":16260051,"url":"https://github.com/cludden/benthos-kubernetes","last_synced_at":"2025-04-04T01:31:18.347Z","repository":{"id":57557574,"uuid":"291182799","full_name":"cludden/benthos-kubernetes","owner":"cludden","description":"kubernetes input plugin for benthos","archived":false,"fork":false,"pushed_at":"2020-11-03T20:52:46.000Z","size":11232,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-19T22:46:55.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/cludden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-29T02:05:09.000Z","updated_at":"2025-02-06T22:24:47.000Z","dependencies_parsed_at":"2022-08-28T11:41:19.489Z","dependency_job_id":null,"html_url":"https://github.com/cludden/benthos-kubernetes","commit_stats":null,"previous_names":["cludden/benthos-kubernetes-input"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fbenthos-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fbenthos-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fbenthos-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cludden%2Fbenthos-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cludden","download_url":"https://codeload.github.com/cludden/benthos-kubernetes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247107816,"owners_count":20884793,"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":[],"created_at":"2024-10-10T16:06:09.038Z","updated_at":"2025-04-04T01:31:13.339Z","avatar_url":"https://github.com/cludden.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# benthos-kubernetes\n\na collection of [benthos](https://github.com/Jeffail/benthos) plugins for integrating with Kubernetes.\n\n#### Inputs\n\n- [kubernetes](./doc/kubernetes_input.md) streams kubernetes objects for one or more configured watches\n\n#### Outputs\n\n- [kubernetes](./doc/kubernetes_output.md) creates, updates, and deleted kubernetes objects\n- [kubernetes_status](./doc/kubernetes_status_output.md) writes object status to kubernetes\n\n#### Processors\n\n- [kubernetes](./doc/kubernetes_processor.md) performs operations against a kubernetes cluster\n\n## Installing\n\n- with Docker\n  ```shell\n  $ docker run cludden/benthos-kubernetes \\\n    --list-input-plugins \\\n    --list-output-plugins \\\n    --list-processor-plugins\n  ```\n- download a [release](https://github.com/cludden/benthos-kubernetes/releases)\n- as a benthos [plugin](./cmd/benthos/main.go)\n\n  ```go\n  package main\n\n  import (\n    \"github.com/Jeffail/benthos/v3/lib/service\"\n    _ \"github.com/cludden/benthos-kubernetes/input\"\n    _ \"github.com/cludden/benthos-kubernetes/output\"\n    _ \"github.com/cludden/benthos-kubernetes/processor\"\n  )\n\n  func main() {\n    service.Run()\n  }\n  ```\n\n## Getting Started\n\n```yaml\ninput:\n  type: kubernetes\n  plugin:\n    watches:\n      - group: example.com\n        version: v1\n        kind: Foo\n        owns:\n          - group: example.com\n            version: v1\n            kind: Bar\n    result:\n      requeue: meta().exists(\"requeue\")\n      requeue_after: ${!meta(\"requeue_after\").catch(\"\")}\n\npipeline:\n  processors:\n    - switch:\n        # ignore deleted items\n        - check: meta().exists(\"deleted\")\n          processors:\n            - bloblang: root = deleted()\n\n        # reconcile dependent resources\n        - processors:\n            - branch:\n                processors:\n                  - bloblang: |\n                      apiVersion = \"example.com/v1\"\n                      kind = \"Bar\"\n                      metadata.labels = metadata.labels\n                      metadata.name = metadata.name\n                      metadata.namespace = metadata.namespace\n                      metadata.ownerReferences = [{\n                        \"apiVersion\": apiVersion,\n                        \"kind\": kind,\n                        \"controller\": true,\n                        \"blockOwnerDeletion\": true,\n                        \"name\": metadata.name,\n                        \"uid\": metadata.uid\n                      }]\n                      spec = spec\n                  - type: kubernetes\n                    plugin:\n                      operator: get\n                  - type: kubernetes\n                    plugin:\n                      operator: ${! if errored() { \"create\" } else { \"update\" } }\n                result_map: |\n                  root.status.bar = metadata.uid\n                  root.status.status = \"Ready\"\n\noutput:\n  type: kubernetes_status\n  plugin: {}\n```\n\nAdditional examples provided [here](./example)\n\n## License\n\nLicensed under the [MIT License](LICENSE.md)  \nCopyright (c) 2020 Chris Ludden\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcludden%2Fbenthos-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcludden%2Fbenthos-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcludden%2Fbenthos-kubernetes/lists"}