Trendyol/kubernetes-operator-api
51.1
Adequate · 21 September 2026
1.5k
lines of production code
Java
primary language
4
measurements over time
What this system is
Features
Add Kubernetes API adapter with multi-datacenter support
The \KubernetesApiAdapter\ and its mock counterpart \KubernetesApiMockAdapter\ are introduced to implement the \OperatorApiPort\ interface, enabling the system to create, scale, and delete Kubernetes deployments and services. The adapter delegates to a new \KubernetesDeploymentComponent\ which handles the actual K8s API calls. To support multiple cloud providers, a strategy pattern is implemented via \KubernetesClient\ and \KubernetesClientStrategy\, with specific implementations for AWS, Google, and Dummy data centers, each loading distinct kubeconfig files. A \KubernetesYamlConverterComponent\ is also added to parse and template Kubernetes YAML files using a \\\\ placeholder pattern.
src/main/java/com/trendyol/kubernetesoperatorapi/adapter/kubernetes · high confidence
Add REST API endpoints for creating, scaling, and terminating deployments
New REST controllers are introduced to manage deployment lifecycles: a POST to /v1/deployments triggers an asynchronous create operation, a PUT to /v1/deployments handles scaling, and a DELETE to /v1/deployments/{runId}/data-center/{dataCenter} terminates deployments. Additionally, an index controller redirects to the Swagger UI and exposes a basic health check endpoint.
src/main/java/com/trendyol/kubernetesoperatorapi/adapter/rest · high confidence
Add domain models and exception classes for deployment lifecycle
The domain layer now includes command objects for creating, scaling, and terminating deployments, alongside enums for data centers and rollback levels. Additionally, a hierarchy of custom exceptions has been introduced to handle business and client API errors, supporting the new deployment management capabilities.
src/main/java/com/trendyol/kubernetesoperatorapi/domain · high confidence
Added Kubernetes deployment and service configurations for master and worker components
New Kubernetes resource files have been added to the application's resources, including deployment and service YAMLs for both master and worker components, along with a UI service for the master. These files define the container specifications, resource limits, and network endpoints required to run the application in a Kubernetes environment. Additionally, an application configuration file (application.yml) and a messages properties file have been introduced to support the operator API and internationalization.
src/main/resources · medium confidence
Added deployment lifecycle management capabilities
Users can now create, scale, and terminate Kubernetes deployments through new application-layer facades. The system supports creating deployments with automatic rollback on failure, scaling existing deployments, and terminating deployments by deleting associated services and UI components.
src/main/java/com/trendyol/kubernetesoperatorapi/application · high confidence
Adds infrastructure components for error handling, request tracing, and API documentation
The application now includes a global exception handler that standardizes error responses using new DTOs (ErrorDTO, ErrorDetailDTO) and a BaseResponse class. Request tracing is supported via interceptors that populate MDC with correlation IDs, agent names, and executor users. Additionally, Swagger configuration is added to expose API documentation, and a retry mechanism is introduced via a new @RetryOperation annotation and its corresponding AOP aspect.
src/main/java/com/trendyol/kubernetesoperatorapi/infra · high confidence
Introduction of Kubernetes Operator API application entry point
A new Spring Boot application class has been added to serve as the entry point for the Kubernetes Operator API. This change initializes the application with support for Hystrix, retry mechanisms, and Swagger 2 documentation, establishing the foundation for the operator's API layer.
src/main/java/com/trendyol/kubernetesoperatorapi · medium confidence
Test coverage
Added base test classes for the API; Added tests for deployment lifecycle REST adapters; Added unit tests for TerminateDeploymentCommand; Added unit tests for deployment lifecycle facades.
Dependencies
Added Maven build configuration for the Kubernetes operator API
Introduced a new pom.xml file that establishes the project's build structure and dependencies. This includes the Spring Boot 2.7.4 parent, along with specific versions for Spring Cloud, Hystrix, Spring Retry, the Kubernetes Java client, Swagger UI, and various utility libraries like Lombok and Jackson. This change enables the project to be built using Maven and defines the Java 11 runtime and library versions required for the application.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 50 → 51 (+1.1)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 100 (+0.3)
- Architecture 100 → 66 (-34.3)
- Maturity 54 → 59 (+5.5)
- Readiness 26 → 33 (+7.7)
- Security 81 → 78 (-3.4)
Resolved (9)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (src/main/java/com/trendyol/kubernetesoperatorapi/infra/common/GlobalControllerExceptionHandler.java)
- Duplicated block (14 lines × 3) (src/main/java/com/trendyol/kubernetesoperatorapi/adapter/kubernetes/strategy/datacenter/AwsDcStrategy.java)
- No exposed public API
- Scanner failed to run — not a clean result
- Test reliability not included
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
New (24)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no licence statement (README.md)
- Duplicated block (10 lines × 2) (src/main/java/com/trendyol/kubernetesoperatorapi/infra/common/GlobalControllerExceptionHandler.java)
- Duplicated block (16 lines × 3) (src/main/java/com/trendyol/kubernetesoperatorapi/adapter/kubernetes/strategy/datacenter/AwsDcStrategy.java)
- Medium IaC: CKV2_K8S_6 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_14 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_20 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_22 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_23 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_28 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_29 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_30 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_31 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_37 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_38 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_40 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_43 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_8 (src/main/resources/master-deployment.yaml)
- Medium IaC: CKV_K8S_9 (src/main/resources/master-deployment.yaml)
- Medium IaC: WD-K8S-0004 (src/main/resources/master-deployment.yaml)
- …and 4 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Trendyol/kubernetes-operator-api was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 1e15e859a72d7a57159075f79ad890cb51b092c5 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.