Azure / Azure/kars

`kars up` fails on Azure: ACR `trustPolicy` is hardcoded to `enabled`, which Azure now rejects

Open Beginner friendly
#515 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
42
Forks
10
Avg merge
1d 11h
Merged PRs (30d)
19

Description

### Summary

`kars up` cannot complete on Azure. The ARM deployment fails because `modules/acr.bicep` sets the ACR Content Trust policy unconditionally, and Azure now rejects that value.

### Version

- `@kars-runtime/cli@0.1.26` (latest published at time of writing)
- `--release v0.1.26`
- Azure CLI 2.85.0

### Error

```
ContentTrustUnsupported: The value 'enabled' for property 'status' in 'trustPolicy'
is not supported. Content Trust is being deprecated and will be completely removed
on March 31, 2028. Refer to https://aka.ms/acr/dctdeprecation
```

Surfaced as a nested failure under the `-acr` deployment.

### Root cause

`dist/deploy/bicep/modules/acr.bicep`:

```bicep
policies: {
trustPolicy: {
type: 'Notary'
status: 'enabled'
}
}
```

This is unconditional. It is also baked into the compiled `main.json`. There is no CLI flag or Bicep parameter that disables it, so no supported configuration avoids the failure.

### Reproduction

```bash
npx @kars-runtime/cli@0.1.26 up \
--region \
--resource-group \
--cluster-name \
--release v0.1.26 \
--yes
```

Fails during `az deployment group create`.

### Impact

Blocks first deployment entirely. Because `v0.1.26` is the latest published release, there is no newer artifact to move to.

Note that the deployment fails *after* ACR, Log Analytics, Application Insights and an Azure OpenAI account have already been created, and these are not rolled back (filed separately).

### Suggested fix

Remove the `trustPolicy` block. Content Trust / Notary v1 is deprecated; the modern equivalent is Notation + `cosign`-style artifact signing verified at admission, which is orthogonal to the registry policy.

Removing the block locally was sufficient to get past this error.

Contributor guide

Open the contributing guide

Research direction

Start with dist/deploy/bicep/modules/acr.bicep and inspect the corresponding trustPolicy in the compiled main.json. Reproduce the failure with the provided npx kars up command and verify that the ARM deployment succeeds without the rejected policy value.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure
Domain
cloud
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
84/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.