adnv 1.5.1

CLI that tracks, checks and auto-updates infrastructure dependency versions across Terraform, Helm, Docker, Git and npm
Documentation
# Use Inline Hints

Inline hints let you track dependencies embedded in Terraform attributes that adnv cannot auto-detect (e.g., Helm chart versions passed as module variables).

## Syntax

```hcl
# @adnv source "<URL>" "<VERSION_CONSTRAINT>"
attribute = "value"
```

The comment must appear on the line immediately before the attribute it tracks.

## URL formats

### Helm chart

```
helm+<REPOSITORY_URL>#name=<CHART_NAME>
```

Example:

```hcl
# @adnv source "helm+https://helm.nginx.com/stable#name=nginx-ingress" ">= 0.10.0, < 1.0.0"
chart_version = "0.16.0"
```

### Terraform module

```
terraform://<REGISTRY_ADDRESS>
```

Example:

```hcl
# @adnv source "terraform://gitlab.com/org/tf-modules/networking" "~> 2.0"
module_version = "2.1.0"
```

## Version constraints

- **Helm** uses semver: `>= 1.0.0`, `< 2.0.0`, `~1.5.0`
- **Terraform** uses Terraform versioning: `~> 2.0`, `>= 1.0, < 3.0`

Omitting the constraint tracks all versions:

```hcl
# @adnv source "helm+https://charts.example.com#name=my-chart"
chart_version = "1.0.0"
```

## How it works

When running `adnv outdated` or `adnv update`:

1. adnv scans `.tf` files for `# @adnv source` comments
2. Parses the URL and optional version constraint
3. The comment applies to the **next line's value**
4. Queries the registry for available versions
5. Reports or updates the version on the next line

## Example

```hcl
module "monitoring" {
  source  = "gitlab.com/org/k8s-tools/monitoring"
  version = "1.0.0"

  # @adnv source "helm+https://prometheus-community.github.io/helm-charts#name=kube-prometheus-stack" ">= 45.0.0"
  chart_version = "45.7.1"

  # @adnv source "terraform://gitlab.com/org/tf-modules/alerting" "~> 3.0"
  alerting_version = "3.2.0"
}
```