# Error: UPGRADE FAILED: failed to decode: unable to find api-versions for 'networking.k8s.io/v1beta1/Ingress'. The chart may be incompatible with the cluster version.

- **ID:** `cicd/helm-deploy-failed-no-api-versions`
- **Domain:** cicd
- **Category:** config_error
- **Error Code:** `HELM_API_VERSION_MISMATCH`
- **Verification:** ai_generated
- **Fix Rate:** 87%

## Root Cause

A Helm chart references a deprecated Kubernetes API version (e.g., networking.k8s.io/v1beta1) that is no longer available in the target cluster (e.g., Kubernetes 1.22+), causing the deployment to fail.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Helm 3.12 | active | — | — |
| Helm 3.13 | active | — | — |
| Kubernetes 1.22 | active | — | — |
| Kubernetes 1.24 | active | — | — |
| Kubernetes 1.27 | active | — | — |

## Workarounds

1. **Update the chart to use the equivalent stable API version: replace 'networking.k8s.io/v1beta1' with 'networking.k8s.io/v1' for Ingress, or use 'apps/v1' for Deployments.** (90% success)
   ```
   Update the chart to use the equivalent stable API version: replace 'networking.k8s.io/v1beta1' with 'networking.k8s.io/v1' for Ingress, or use 'apps/v1' for Deployments.
   ```
2. **Use the 'helm mapkubeapis' plugin to automatically migrate deprecated API versions in the chart before deployment.** (85% success)
   ```
   Use the 'helm mapkubeapis' plugin to automatically migrate deprecated API versions in the chart before deployment.
   ```
3. **Pin the chart to a version that supports the target cluster's API versions by specifying a chart version in the Helm command or requirements.yaml.** (80% success)
   ```
   Pin the chart to a version that supports the target cluster's API versions by specifying a chart version in the Helm command or requirements.yaml.
   ```

## Dead Ends

- **** — --force only replaces resources; it does not change the API version requirements. (85% fail)
- **** — The Helm client only sends the manifest; the cluster rejects unknown API versions. (80% fail)
- **** — The same chart manifest is used, so the same API version error will occur. (90% fail)
