# ServiceSource

> The ServiceSource object in the Guv API.

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `kind` * | `git`, `image`, `upload`, `none` |  |
| `repo` | string or null | `owner/name`. Defaults to the project repo. |
| `root` | string | Directory in the repo, relative to the repo root. |
| `watch` | array of string | Globs; only pushes touching these paths rebuild the service. |
| `image` | string or null | Image reference for `kind: image`. |
| `registry_credentials_secret` | string or null | Secret name holding registry credentials for private images. |

\* always present

## Example

```json
{
  "kind": "git",
  "repo": "string",
  "root": "apps/web",
  "watch": [
    "apps/web/**",
    "packages/ui/**",
    "pnpm-lock.yaml"
  ],
  "image": "ghcr.io/acme/api:1.4.2",
  "registry_credentials_secret": "string"
}
```
