Tags: bmscomp/kates
Tags
Release v1.21.0 - CLI UX overhaul, Strimzi operator chart, cluster co… …ntext picker 36 commits since v1.20.0: - Strimzi operator Helm chart with owned CRD upgrades and migration docs (#75) - Cluster context detection and Kind bootstrap in kates deploy (#76) - CLI UX plan waves 1-5: honest exit codes, terminal compatibility, one palette, one confirm, lab hardening, paste-capable inputs (#77-#81) - Deploy dashboard: aligned borders and widths, truthful summary (#82, #84, #85) - Kafka Connect connectors fixed to use ACL-granted topics (#83) - Kafka Connect image rebuilt on the 1.1.0-kafka-4.3.0 base (#74)
Enhance Kafka Connect image with Debezium 3.6.0 and scripting support (… …#47) This pull request significantly enhances the Kafka Connect image by upgrading the Debezium core to the latest stable 3.6.0.Final version and Apicurio to 3.3.0. It integrates the officially supported Debezium JDBC sink, as well as the Oracle and Db2 CDC connectors. Furthermore, the Debezium Scripting module powered by Groovy 5 has been added to enable dynamic routing and message filtering on the fly via Single Message Transformations (SMTs). Finally, for deployments lacking native build capabilities, a runtime fallback plugin loader script has been introduced and documented, ensuring maximum compatibility across various Kubernetes clusters.
fix: stabilize deployment and improve CLI dashboard This commit squashes several bug fixes and UI improvements: - Disable TLS for the Kafka connect-cluster to resolve CrashLoopBackOff issues. - Grant kates-connect user ACLs for test topics and connect consumer groups to resolve JDBC Sink Connector TopicAuthorizationException errors. - Fix CLI deployment summary table column misalignment caused by emoji runewidth calculations by migrating to ANSI absolute positioning. - Refactor the deployment dashboard UI to group related components by category into unified table boxes.
fix: resolve resilience EOFs, Connect deployments, and CI pipeline fa… …ilures (#36) This commit consolidates multiple fixes across the stack to address stability, deployment, and CI pipeline issues: * Resilience API: Rewrote the resilience endpoint to use JAX-RS StreamingOutput. This injects periodic whitespace heartbeats, preventing aggressive L7 corporate proxies from dropping idle connections (>30s) and throwing EOF errors. * CLI & Monitoring: Implemented a monitoring toggle in the CLI and Helm chart to conditionally disable OpenTelemetry/Jaeger tracing (QUARKUS_OTEL_ENABLED). Enabled aggressive TCP KeepAlives in the Go CLI client. * Kafka Connect: Resolved metadata resolution failures by opening network egress for the Connect namespace. Fixed a critical YAML parsing error in the Helm template caused by an automated empty appVersion bump. * CI Pipelines: Pinned the Kates image tag to v1.18.1 to satisfy Helm strict linting and Kyverno's disallow-latest-tag rule. Relaxed Kyverno's probe policies to accept exec/tcpSocket probes, fixing PostgreSQL StatefulSet validation. * Cleanup: Relocated all ad-hoc .yaml and .sh testing scripts to the /scripts/ directory to maintain a clean repository root.
docs: write plan to speed up kates clean process (#34) * docs: write implementation plan to speed up kates clean process - Identify bottlenecks in the current sequential scan, CR deletion, patching, uninstallation, namespace termination, and CRD deletion. - Propose optimizations using bulk scans, pre-check filtering, concurrent Helm uninstalls, parallel namespace deletion, and batched CRD deletions. * feat(cli): optimize kates clean command performance - Implement bulk discovery scanning for Helm releases, namespaces, and CRDs to reduce 54 sequential kubectl/helm calls down to 3 bulk queries. - Optimize operator CR deletion and finalizer patching by checking resource presence first and running deletions concurrently in goroutines. - Enable parallel uninstallation of Helm releases using a synchronized printer worker pool. - Enable parallel namespace deletion using goroutines to avoid waiting sequentially for resource termination. - Enable batch deletion of CustomResourceDefinitions in a single kubectl delete crd execution. - Update unit tests with mock bulk responses. * test(cli): resolve data race in clean tests
feat: Kafka Connect and PostgreSQL CDC Deployment Infrastructure (#24) This commit introduces comprehensive support for deploying and monitoring Kafka Connect and Debezium PostgreSQL CDC, alongside a significantly improved deployment UI and robust timeout handling. Key Features & Enhancements: 1. Kafka Connect & PostgreSQL CDC Integration - Introduced a fully-featured Kafka Connect docker image bundled with Debezium CDC, Apicurio converters, and Aiven JDBC plugins. - Set up an automated CI/CD build pipeline for the Connect image. - Added the `kates-connect` Kafka user with necessary ACLs and transactional IDs for secure operation. - Enhanced `kates detect` command to audit and validate the Kafka Connect and CDC ecosystem setup. 2. Interactive Deployment UI - Completely revamped the CLI deployment output using Bubble Tea. - Added sleek, interactive progress bars and spinners for: - Strimzi Cluster Operator installation - Kafka Connect deployment - Connector instantiation - PostgreSQL provisioning - Fixed UI alignment issues to ensure all `kates upgrade` tables and progress boxes have perfect layout regardless of terminal size. 3. Resilience & Timeout Hardening - Doubled the default `readinessProbe` and `livenessProbe` timeouts to 30s for Kafka Connect pods to prevent Kubernetes from killing the JVM prematurely during heavy startups. - Increased default CPU and Memory allocations for Kafka Connect. - Bumped the Strimzi `operationTimeoutMs` to 15 minutes to guarantee it won't time out while waiting for Connect instances to initialize. - Updated the CLI log analyzer to only scan Strimzi logs from the last 15 minutes to avoid stale historical errors.
PreviousNext