nyl 0.4.0

Kubernetes manifest generator with Helm integration
Documentation
# Troubleshooting Components

## Component Not Found

Symptom:

- Render/diff/apply fails to resolve a component kind.

Checks:

1. Confirm `apiVersion` is exactly `components.nyl.niklasrosenstein.github.com/v1` for Component resources.
2. Confirm `kind` matches `<apiVersion>/<kind>` directory layout.
3. Confirm `Chart.yaml` exists at `<components_search_path>/<kind>/Chart.yaml`.
4. Confirm `components_search_paths` are valid from the `nyl.toml` location.

Example expected path for `kind: example/v1/Nginx`:

```text
components/example/v1/Nginx/Chart.yaml
```

## Wrong Chart Selected

Symptom:

- Nyl resolves a shared component when repo-local component was expected.

Cause:

- Search paths are ordered; first match wins.

Fix:

- Put preferred path earlier in `project.components_search_paths`.

## Alias Not Applied

Symptom:

- Resource is treated as a normal Kubernetes resource instead of a chart-backed resource.

Checks:

1. Alias key is exact: `<apiVersion>/<kind>`.
2. Manifest `apiVersion` and `kind` exactly match key case and spelling.
3. Alias target uses a valid local path or remote shortcut syntax.

## Filtering Doesn’t Show Generated Resources

Symptom:

- `-c ConfigMap` misses ConfigMaps produced by Helm rendering.

Cause:

- Filtering runs before expansion.

Fix:

- Filter top-level chart resources (`-c HelmChart` or matching component resources), then inspect rendered output.

## Fast Validation Loop

Use:

```bash
nyl validate --strict
nyl render <manifest-file>
```

This catches path/config issues before cluster-facing commands.