{"id":18512837,"url":"https://github.com/vmware-archive/vmware-go-kcl","last_synced_at":"2026-04-04T15:27:04.586Z","repository":{"id":37285045,"uuid":"147723219","full_name":"vmware/vmware-go-kcl","owner":"vmware","description":"KCL Implementation in Go lang by VMware","archived":false,"fork":false,"pushed_at":"2023-08-30T14:08:52.000Z","size":270,"stargazers_count":155,"open_issues_count":5,"forks_count":54,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-16T05:04:09.012Z","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/vmware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/scripts/check.sh","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-06T19:28:53.000Z","updated_at":"2025-04-09T04:06:03.000Z","dependencies_parsed_at":"2024-06-18T12:32:09.381Z","dependency_job_id":"1a98ae24-03ec-45e6-9c8e-ff36bcf427f9","html_url":"https://github.com/vmware/vmware-go-kcl","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fvmware-go-kcl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fvmware-go-kcl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fvmware-go-kcl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fvmware-go-kcl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmware","download_url":"https://codeload.github.com/vmware/vmware-go-kcl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471061,"owners_count":22076585,"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-11-06T15:35:38.745Z","updated_at":"2026-04-04T15:27:03.646Z","avatar_url":"https://github.com/vmware.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VMware-Go-KCL\n\n![technology Go](https://img.shields.io/badge/technology-go-blue.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/vmware/vmware-go-kcl)](https://goreportcard.com/report/github.com/vmware/vmware-go-kcl)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Overview\n\n[Amazon Kinesis](https://aws.amazon.com/kinesis/data-streams/)  enables real-time processing of streaming data at massive scale. Kinesis Streams is useful for rapidly moving data off data producers and then continuously processing the data, be it to transform the data before emitting to a data store, run real-time metrics and analytics, or derive more complex data streams for further processing.\n\nThe **VMware Kinesis Client Library for GO** (VMware-Go-KCL) enables Go developers to easily consume and process data from [Amazon Kinesis][kinesis].\n\n**VMware-Go-KCL** brings Go/Kubernetes community with Go language native implementation of KCL matching **exactly the same** API and functional spec of original [Java KCL v2.0](https://docs.aws.amazon.com/streams/latest/dev/kcl-migration.html) without the resource overhead of installing Java based MultiLangDaemon.\n\nBesides, [vmware-go-kcl-v2](https://github.com/vmware/vmware-go-kcl-v2) is the v2 version of VMWare KCL for the Go programming language by utilizing [AWS Go SDK V2](https://github.com/aws/aws-sdk-go-v2). \n\n## Try it out\n\n### Prerequisites\n\n- Install [Go](https://golang.org/)\n- Install [docker](https://www.docker.com)\n- Install [HyperMake](https://evo-cloud.github.io/hmake)\n- Config [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)\n\nMake sure hmake is version 1.3.1 or above and go is version 1.11 or above\n\n```sh\nhmake --version\n1.3.1\n```\n\nMake sure to launch Docker daemon with specified DNS server `--dns DNS-SERVER-IP`\n\nOn Ubuntu, update the file `/etc/default/docker` to put `--dns DNS-SERVER-IP` in `DOCKER_OPTS`.\n\nOn Mac, set DNS in _Docker Preferences_ – _Daemon_ – _Insecure registries_\n\n### Build \u0026 Run\n\n```sh\nhmake\n\n# security scan\nhmake scanast\n\n# run test\nhmake check\n\n# run integration test\n# update the worker_test.go to let it point to your Kinesis stream\nhmake test\n```\n\n## Documentation\n\nVMware-Go-KCL matches exactly the same interface and programming model from original Amazon KCL, the best place for getting reference, tutorial is from Amazon itself:\n\n- [Developing Consumers Using the Kinesis Client Library](https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-kcl.html)\n- [Troubleshooting](https://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html)\n- [Advanced Topics](https://docs.aws.amazon.com/streams/latest/dev/advanced-consumers.html)\n\n\n## Contributing\n\nThe vmware-go-kcl project team welcomes contributions from the community. Before you start working with vmware-go-kcl, please read our [Developer Certificate of Origin](https://cla.vmware.com/dco). All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch. For more detailed information, refer to [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware-archive%2Fvmware-go-kcl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmware-archive%2Fvmware-go-kcl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware-archive%2Fvmware-go-kcl/lists"}