> ## Documentation Index
> Fetch the complete documentation index at: https://docs.loqate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing Verify

> Helm and Helmfile commands for managing, monitoring, and testing your Verify deployment

## Helmfile Management

Helmfile simplifies managing multiple Helm releases.

### Install or Update

```bash theme={null}
helmfile apply  # Unix/Linux
helmfile sync   # Windows
```

### Uninstall All Releases

```bash theme={null}
helmfile destroy
```

### List Releases

```bash theme={null}
helmfile list
```

### Update Specific Release

```bash theme={null}
helmfile -l name=release-name apply
```

## Helm Management

Direct control over individual releases.

### Add Loqate Repository

```bash theme={null}
helm repo add loqate https://charts.loqate.com
helm repo update
```

### Install Components

**InstallManager:**

```bash theme={null}
helm install installmanager loqate/installmanager \
  -n loqate \
  --set licenseKey=your-key \
  --set imageCredentials.username=docker-user \
  --set imageCredentials.password=docker-pass
```

**Memberlist:**

```bash theme={null}
helm install memberlist loqate/memberlist \
  -n loqate \
  --set imageCredentials.username=docker-user \
  --set imageCredentials.password=docker-pass
```

**QueryCoordinator:**

```bash theme={null}
helm install querycoordinator loqate/querycoordinator \
  -n loqate \
  --set imageCredentials.username=docker-user \
  --set imageCredentials.password=docker-pass \
  --set app.memberlistService=memberlist.loqate.svc
```

**Spatial-API:**

```bash theme={null}
helm install spatial-api loqate/spatial-api \
  -n loqate \
  --set imageCredentials.username=docker-user \
  --set imageCredentials.password=docker-pass \
  --set app.memberlistService=memberlist.loqate.svc \
  --set verify.dataset=row
```

### Upgrade Release

```bash theme={null}
helm upgrade release-name loqate/chart-name \
  -n loqate \
  --set key=value
```

### Uninstall Release

```bash theme={null}
helm uninstall release-name -n loqate
```

### List Releases

```bash theme={null}
helm list -n loqate
```

## Testing Verify

### Port Forward to QueryCoordinator

```bash theme={null}
kubectl port-forward -n loqate svc/querycoordinator 8900:8900
```

### Version Check

**Unix/Linux:**

```bash theme={null}
curl http://localhost:8900/api/version
```

**Windows:**

```powershell theme={null}
Invoke-WebRequest -Method GET http://localhost:8900/api/version
```

Expected response:

```json theme={null}
{"version":"2.xx.x.xxxxx-xxxxxxx"}
```

### Verify Request

**Unix/Linux:**

```bash theme={null}
curl -X POST http://localhost:8900/verify \
  -H "Content-Type: application/json" \
  -d '{"input":[{"Address1":"The Foundation","Locality":"Chester","Country":"GB"}]}'
```

**Windows:**

```powershell theme={null}
Invoke-WebRequest http://localhost:8900/verify -Method POST `
  -ContentType "application/json" `
  -Body '{"input":[{"Address1":"The Foundation","Locality":"Chester","Country":"GB"}]}'
```

Successful response includes validated address with AVC and AQI scores.

## Monitoring

### Pod Status

```bash theme={null}
kubectl get pods -n loqate
```

All pods should show `1/1` in the READY column (except InstallManager which shows `0/1` Completed).

### Pod Logs

```bash theme={null}
kubectl logs pod-name -n loqate
kubectl logs -f pod-name -n loqate  # Follow logs
```

### Resource Usage

```bash theme={null}
kubectl top pods -n loqate
```

### Recent Events

```bash theme={null}
kubectl get events -n loqate --sort-by='.lastTimestamp'
```

## Scaling

### Manual Scaling

```bash theme={null}
kubectl scale deployment deployment-name --replicas=3 -n loqate
```

### Horizontal Pod Autoscaler (HPA)

Configure in your values file:

```yaml theme={null}
autoscaling:
  enabled: true
  minReplicas: 2
  maxReplicas: 10
  targetCPUUtilizationPercentage: 80
```

Apply via Helm:

```bash theme={null}
--set autoscaling.enabled=true \
--set autoscaling.minReplicas=2 \
--set autoscaling.maxReplicas=10
```

### KEDA (Event-Driven Autoscaling)

See [Configuration](/helm/configuration) for KEDA setup.

## Configuration Override

### Single Value

```bash theme={null}
--set key=value
```

### Multiple Values

```bash theme={null}
--set key1=value1 --set key2=value2
```

### From Custom Values File

```bash theme={null}
helm install release-name loqate/chart-name \
  -n loqate \
  -f custom-values.yaml
```

## Complete Cleanup

### Remove All Resources

**Using Helmfile:**

```bash theme={null}
helmfile destroy
kubectl delete namespace loqate
```

**Using Helm:**

```bash theme={null}
helm uninstall installmanager -n loqate
helm uninstall memberlist -n loqate
helm uninstall querycoordinator -n loqate
helm uninstall spatial-api -n loqate
# Repeat for any other releases

kubectl delete namespace loqate
```

### Verify Cleanup

```bash theme={null}
kubectl get all -n loqate
```

Should return: `No resources found`

## Common Values

Key configuration options in `values.yaml`:

```yaml theme={null}
image:
  repository: loqate/component-name
  tag: latest
  pullPolicy: IfNotPresent

imageCredentials:
  username: ""
  password: ""

resources:
  requests:
    memory: "4Gi"
    cpu: "1"
  limits:
    memory: "8Gi"
    cpu: "2"

verify:
  dataset: "row"

storage:
  path: "/data"
  size: "250Gi"
```

## Next Steps

* [Configuration](/helm/configuration) - Customize country deployments and resources
* [Troubleshooting](/helm/troubleshooting) - Resolve common issues
* [Quick Start](/helm/quick-start) - Installation guide
