# Component Matrix

PhotonCloud is intended to validate meaningful service combinations, not only a single all-on deployment.
This page summarizes the compositions that are exercised by the VM-cluster harness today.

## Validated Control Plane

- `chainfire + flaredb + iam`

## Validated Network Provider Layer

- `prismnet`
- `prismnet + flashdns`
- `prismnet + fiberlb`
- `prismnet + flashdns + fiberlb`

These combinations justify the existence of the network services as composable providers rather than hidden internal subsystems.

## Validated VM Hosting Layer

- `plasmavmc + prismnet`
- `plasmavmc + lightningstor`
- `plasmavmc + coronafs`
- `plasmavmc + coronafs + lightningstor`
- `plasmavmc + prismnet + coronafs + lightningstor`

This split keeps mutable VM volumes on CoronaFS and immutable VM images on LightningStor object storage.

## Validated Kubernetes-Style Hosting Layer

- `k8shost + prismnet`
- `k8shost + flashdns`
- `k8shost + fiberlb`
- `k8shost + prismnet + flashdns + fiberlb`

## Validated Edge And Tenant Services

- `apigateway + iam + prismnet`
- `nightlight + apigateway`
- `nightlight`
- `creditservice + iam + apigateway`
- `creditservice + iam`
- `deployer + iam + chainfire`

## Validation Direction

The VM cluster harness now exposes:

```bash
nix run ./nix/test-cluster#cluster -- matrix
nix run ./nix/test-cluster#cluster -- fresh-matrix
```

`fresh-matrix` is the publishable path because it rebuilds the host-side VM images before validating the composed service scenarios, including PrismNet-backed PlasmaVMC guests.
