# 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"
```
