{"id":35672428,"url":"https://github.com/bborbe/strimzi","last_synced_at":"2026-01-05T19:04:32.061Z","repository":{"id":222608503,"uuid":"757868273","full_name":"bborbe/strimzi","owner":"bborbe","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-28T11:06:11.000Z","size":11422,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-28T13:09:06.926Z","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":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bborbe.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":"2024-02-15T06:36:59.000Z","updated_at":"2025-10-28T11:06:14.000Z","dependencies_parsed_at":"2024-02-15T08:28:44.162Z","dependency_job_id":"437d8af4-0302-4844-8131-3970de1c8035","html_url":"https://github.com/bborbe/strimzi","commit_stats":null,"previous_names":["bborbe/strimzi"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/bborbe/strimzi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bborbe%2Fstrimzi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bborbe%2Fstrimzi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bborbe%2Fstrimzi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bborbe%2Fstrimzi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bborbe","download_url":"https://codeload.github.com/bborbe/strimzi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bborbe%2Fstrimzi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28218058,"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","status":"online","status_checked_at":"2026-01-05T02:00:06.358Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-01-05T19:02:30.026Z","updated_at":"2026-01-05T19:04:27.818Z","avatar_url":"https://github.com/bborbe.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Strimzi Go Client Library\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/bborbe/strimzi.svg)](https://pkg.go.dev/github.com/bborbe/strimzi)\n[![Go Report Card](https://goreportcard.com/badge/github.com/bborbe/strimzi)](https://goreportcard.com/report/github.com/bborbe/strimzi)\n[![License: BSD](https://img.shields.io/badge/License-BSD-blue.svg)](LICENSE)\n\nA Go library that provides Kubernetes client bindings for Strimzi Kafka custom resources. This library generates typed Go clients for Kafka CRDs (Custom Resource Definitions) using Kubernetes code generation tools, enabling programmatic management of Strimzi Kafka resources in your Go applications.\n\n## Features\n\n- 🎯 **Typed Kubernetes Clients**: Auto-generated clientsets, informers, and listers for Strimzi Kafka CRDs\n- 🔧 **Code Generation**: Built using Kubernetes client-go code generation tools\n- 🧪 **Well Tested**: Comprehensive test coverage using Ginkgo v2 and Gomega\n- 📦 **Easy Integration**: Simple API for creating and managing Kafka resources\n- 🏗️ **Production Ready**: Follows Kubernetes client-go patterns and conventions\n\n## Installation\n\n```bash\ngo get github.com/bborbe/strimzi\n```\n\n## Quick Start\n\n```go\npackage main\n\nimport (\n    \"context\"\n    \"fmt\"\n    \"log\"\n\n    \"github.com/bborbe/strimzi\"\n)\n\nfunc main() {\n    ctx := context.Background()\n    \n    // Create a clientset (uses default kubeconfig)\n    clientset, err := strimzi.CreateClientset(ctx, \"\")\n    if err != nil {\n        log.Fatal(err)\n    }\n    \n    // List Kafka topics\n    topics, err := clientset.KafkaV1beta2().KafkaTopics(\"kafka\").List(ctx, metav1.ListOptions{})\n    if err != nil {\n        log.Fatal(err)\n    }\n    \n    fmt.Printf(\"Found %d Kafka topics\\n\", len(topics.Items))\n}\n```\n\n## API Documentation\n\nFor comprehensive API documentation, visit [pkg.go.dev/github.com/bborbe/strimzi](https://pkg.go.dev/github.com/bborbe/strimzi).\n\n## Development\n\nThis project uses standard Go development tools and follows Benjamin Borbe's coding guidelines.\n\n### Prerequisites\n\n- Go 1.24+\n- Kubernetes cluster with Strimzi operator installed (for integration testing)\n\n### Building\n\n```bash\nmake precommit  # Run all quality checks\nmake test       # Run tests\nmake generatek8s # Regenerate Kubernetes client code\n```\n\n### Testing\n\n```bash\n# Run all tests\nmake test\n\n# Run specific tests\nginkgo run pkg/\n\n# Generate mocks\ngo generate ./...\n```\n\n## Project Structure\n\n- `k8s/apis/kafka.strimzi.io/v1beta2/` - API definitions and types for Kafka custom resources\n- `k8s/client/` - Auto-generated Kubernetes clients (clientset, informers, listers, apply configurations)\n- `strimzi_clientset.go` - Main entry point for creating clientsets\n- `hack/update-codegen.sh` - Kubernetes code generation script\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Run quality checks (`make precommit`)\n4. Commit your changes (`git commit -m 'Add amazing feature'`)\n5. Push to the branch (`git push origin feature/amazing-feature`)\n6. Open a Pull Request\n\n## License\n\nThis project is licensed under the BSD License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbborbe%2Fstrimzi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbborbe%2Fstrimzi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbborbe%2Fstrimzi/lists"}