`kars up` fails: hardcoded `kubernetesVersion: '1.33'` is Long-Term-Support-only in some regions
- Dominant language
- Rust
- Stars
- 42
- Forks
- 10
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 19
Description
### Summary
After working around the ACR Content Trust issue, `kars up` fails again because the AKS module pins a Kubernetes version that Azure no longer offers on the standard support plan in all regions.
### Version
- `@kars-runtime/cli@0.1.26`
- Region tested: `westus3`
### Error
```
K8sVersionNotSupported: Managed cluster -aks is on version 1.33.13, which is
only available for Long-Term Support (LTS). To enable LTS on the cluster, see
https://aka.ms/aks/enable-lts.
```
### Root cause
`dist/deploy/bicep/modules/aks.bicep`:
```bicep
kubernetesVersion: '1.33'
```
Hardcoded, not a Bicep parameter, and not surfaced as a `kars up` flag — so there is no supported way to override it.
In `westus3` today, `az aks get-versions` reports:
| Version | Support plan |
|---|---|
| 1.36 | KubernetesOfficial, AKSLongTermSupport |
| 1.35 | KubernetesOfficial, AKSLongTermSupport |
| 1.34 | KubernetesOfficial, AKSLongTermSupport |
| 1.33 | **AKSLongTermSupport only** |
| 1.32 | AKSLongTermSupport only |
### Suggested fix
Either:
1. Expose `kubernetesVersion` as a `kars up` flag and a Bicep parameter, or
2. Omit `kubernetesVersion` entirely and let AKS pick its default, or
3. Track a currently-supported version and add CI that fails when the pin drops off the standard support plan.
Option 3 combined with 1 would prevent recurrence. This is the second hardcoded value in the same deployment that current Azure rejects, so a general "pinned values drift out of support" check may be worth more than either individual fix.
Setting `1.34` locally was sufficient to get past this error.
Contributor guide
Research direction
Start with dist/deploy/bicep/modules/aks.bicep and trace how `kars up` supplies deployment parameters. Use `az aks get-versions` for the tested region to understand the supported-version requirement, then inspect the CLI and deployment flow for the chosen fix. Done means `kars up` can deploy in regions where Kubernetes 1.33 is LTS-only, with coverage for the supported-version behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, kubernetes
- Domain
- cli, cloud, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100