# Version Providers

`version.providers` names the remote systems Atmos uses to discover and resolve versions. Entries in `version.dependencies` reference providers by name.

Providers are lookup backends, not the software catalog itself. Use them for registries and APIs such as Docker Hub, OCI registries, ECR, and GitHub.

## Configuration

**File:** `atmos.yaml`

```yaml
version:
  providers:
    github:
      kind: github

    dockerhub:
      kind: docker
      url: registry-1.docker.io

    ghcr:
      kind: oci
      url: ghcr.io

    ecr_prod:
      kind: aws/ecr
      region: us-east-1
      registry_id: "123456789012"

    local_registry:
      kind: oci
      url: localhost:5000
      insecure: true
```

## Fields

- **`kind`** — Provider kind, such as `github`, `docker`, `oci`, or `aws/ecr`.
- **`url`** — Registry or API endpoint used by the provider.
- **`region`** — Cloud region for regional providers such as ECR.
- **`registry_id`** — Registry account or tenant identifier, such as an AWS account ID for ECR.
- **`insecure`** — Allow plain-HTTP registry access. Use only for local or emulated registries.

## Example

```yaml
version:
  providers:
    dockerhub:
      kind: docker
      url: registry-1.docker.io
  dependencies:
    nginx:
      ecosystem: oci
      datasource: oci-tags
      provider: dockerhub
      package: library/nginx
      desired: "1.29.0"
```
