# vpctl manifest commands

> Initialize, validate, and inspect the vpctl manifest schema

The `manifest` command group manages the `manifest.yaml` file. For the field reference and annotated example, see [Manifest reference](/cloud/virtual-private-cloud/vpctl/manifest.md).

## init

Generate a new manifest interactively:

```sh
vpctl manifest init
```

This walks you through platform, release version, registry, namespace, autoscaling, monitoring, and ingress settings.

**Parameters:**

* `--output`: Output path (default: `./manifest.yaml`)

## validate

Validate an existing manifest against the embedded CUE schema:

```sh
vpctl manifest validate
vpctl manifest validate --file path/to/manifest.yaml
```

Catches missing required fields, disallowed values, and cross-field rules, for example, `maxReplicas >= minReplicas`, TLS certificate required when TLS is enabled.

**Parameters:**

* `--file`: Path to the manifest to validate (default: auto-discover)

## schema

Display the embedded CUE schema:

```sh
vpctl manifest schema
```

Export the CUE schema for standalone validation outside vpctl:

```sh
vpctl manifest schema --export manifest.cue
```

After exporting, validate any manifest against it with the `cue` CLI:

```sh
cue vet manifest.cue manifest.yaml -d '#Manifest'
```
