> For the complete CircleCI developer hub index, see [llms.txt](https://circleci.com/developer/llms.txt)

# fairwinds/pluto

Pluto is a utility to help users find deprecated Kubernetes apiVersions in their code repositories and their helm releases.


## Commands

### configure_env

Configures pluto environment variables.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | default | The name of custom executor to use. Only recommended for development. |
| `ignore-deprecations` | boolean | false | Exit Code 3 is ignored, useful if you do not want the job to fail if deprecated APIs are detected. |
| `ignore-removals` | boolean | false | Exit Code 3 is ignored, useful if you do not want the job to fail if removed APIs are detected. |
| `target-versions` | string |  | You can target the Kubernetes version you are concerned with. If blank defaults to latest. |

### detect

Detecting deprecated Kubernetes apiVersions within your repository.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | default | The name of custom executor to use. Only recommended for development. |
| `file` | string |  | The file to scan. |

### detect_files

Detecting deprecated Kubernetes apiVersions within your repository.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `directory` | string |  | The directory to scan. If blank defaults to current directory. |
| `executor` | executor | default | The name of custom executor to use. Only recommended for development. |

### install

Installs the pluto command.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | default | The name of custom executor to use. Only recommended for development. |
| `version` | string |  | The version of pluto to install. Defaults to latest stable. |

## Jobs

### detect

A workflow for detecting deprecated Kubernetes apiVersions within your repository.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `checkout` | boolean | true | Perform checkout as first step in job. |
| `executor` | executor | default | The name of custom executor to use. Only recommended for development. |
| `file` | string |  | The file to scan. Required. |
| `ignore-deprecations` | boolean | false | Exit Code 3 is ignored, useful if you do not want the job to fail if deprecated APIs are detected. |
| `ignore-removals` | boolean | false | Exit Code 3 is ignored, useful if you do not want the job to fail if removed APIs are detected. |
| `target-versions` | string |  | You can target the Kubernetes version you are concerned with. If blank defaults to latest. |
| `use-external-context` | boolean | false | If this is true, then the configure_env step will be skipped. |
| `version` | string |  | Version of Pluto to use. Defaults to latest stable. |

### detect_files

A workflow for detecting deprecated Kubernetes apiVersions within your repository.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `checkout` | boolean | true | Perform checkout as first step in job. |
| `directory` | string |  | The directory to scan. If blank defaults to current directory. |
| `executor` | executor | default | The name of custom executor to use. Only recommended for development. |
| `ignore-deprecations` | boolean | false | Exit Code 3 is ignored, useful if you do not want the job to fail if deprecated APIs are detected. |
| `ignore-removals` | boolean | false | Exit Code 3 is ignored, useful if you do not want the job to fail if removed APIs are detected. |
| `target-versions` | string |  | You can target the Kubernetes version you are concerned with. If blank defaults to latest. |
| `use-external-context` | boolean | false | If this is true, then the configure_env step will be skipped. |
| `version` | string |  | Version of Pluto to use. Defaults to latest stable. |

## Executors

### default

| Parameter | Type | Default | Description |
|---|---|---|---|
| `version` | string | stable |  |

## Examples

### detect

A workflow for detecting deprecated Kubernetes apiVersions for a specific file.


```yaml
version: '2.1'
orbs:
  pluto: fairwinds/pluto@5
workflows:
  detect_files:
    jobs:
      - pluto/detect_files:
          file: ./K8s/Descriptors/ingress.yml
          ignore-deprecations: true
          ignore-removals: false
          target-versions: k8s=v1.21
```

### detect_files

A workflow for detecting deprecated Kubernetes apiVersions within your repository.


```yaml
version: '2.1'
orbs:
  pluto: fairwinds/pluto@5
workflows:
  detect_files:
    jobs:
      - pluto/detect_files:
          directory: ./K8s/Descriptors
          ignore-deprecations: true
          ignore-removals: false
          target-versions: k8s=v1.21
```