---
title: Registry Config
description: Registry Config protocol schemas
---

{/* ⚠️  AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs go in content/docs/guides/. */}

# Registry Configuration Protocol

Defines the configuration for the ObjectStack Registry Service.

Includes federation, synchronization, and storage settings.

<Callout type="info">
**Source:** `packages/spec/src/system/registry-config.zod.ts`
</Callout>

## TypeScript Usage

```typescript
import { RegistryConfig, RegistrySyncPolicy, RegistryUpstream } from '@objectstack/spec/system';
import type { RegistryConfig, RegistrySyncPolicy, RegistryUpstream } from '@objectstack/spec/system';

// Validate data
const result = RegistryConfig.parse(data);
```

---

## RegistryConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **type** | `Enum<'public' \| 'private' \| 'hybrid'>` | ✅ | Registry deployment type |
| **upstream** | `Object[]` | optional | Upstream registries to sync from or proxy to |
| **scope** | `string[]` | optional | npm-style scopes managed by this registry (e.g., @my-corp, @enterprise) |
| **defaultScope** | `string` | optional | Default scope prefix for new plugins |
| **storage** | `Object` | optional |  |
| **visibility** | `Enum<'public' \| 'private' \| 'internal'>` | ✅ | Who can access this registry |
| **accessControl** | `Object` | optional |  |
| **cache** | `Object` | optional |  |
| **mirrors** | `Object[]` | optional | Mirror registries for redundancy |


---

## RegistrySyncPolicy

Registry synchronization strategy

### Allowed Values

* `manual`
* `auto`
* `proxy`


---

## RegistryUpstream

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **url** | `string` | ✅ | Upstream registry endpoint |
| **syncPolicy** | `Enum<'manual' \| 'auto' \| 'proxy'>` | ✅ | Registry synchronization strategy |
| **syncInterval** | `integer` | optional | Auto-sync interval in seconds |
| **auth** | `Object` | optional |  |
| **tls** | `Object` | optional |  |
| **timeout** | `integer` | ✅ | Request timeout in milliseconds |
| **retry** | `Object` | optional |  |


---

