Nova is the Fairwinds tool that scans your Kubernetes cluster for outdated Helm charts and cluster add-ons, comparing installed versions against the latest releases from upstream repositories. When Nova can't reach the version databases it queries, your charts appear current even when they're running vulnerable or unsupported versions months behind. When Nova's CI integration breaks, engineering teams lose automated version-drift alerting across their Helm-managed infrastructure — and security vulnerabilities in outdated chart versions accumulate undetected. Vigilmon gives you external visibility into the Nova infrastructure that keeps version checks running: release endpoints, update server APIs, dashboard surfaces, and the SSL certificates that protect them.
What You'll Build
- An HTTP monitor on Nova's version data sources to detect upstream outages affecting scan accuracy
- A TCP check on any Nova dashboard or API services you self-host
- SSL certificate monitoring for all Nova-connected endpoints
- An alerting configuration that routes findings to the right team by severity
Prerequisites
- Nova v3.0.0+ installed in your CI pipeline or as a Kubernetes CronJob
- Helm v3 with releases deployed in your cluster
- A free account at vigilmon.online
Step 1: Understand Nova's Data Sources
Nova compares your installed Helm chart versions against a versioned JSON index of known charts and their latest releases. By default, Nova queries Fairwinds' hosted version data:
# Run Nova against your cluster
nova find
# Output includes outdated charts with current vs. latest versions
nova find --wide
# Output as JSON for CI processing
nova find -o json
# Check Nova's configured data sources
nova find --show-errored-containers
Nova fetches version data from a remote URL during each scan. If this URL is unreachable, Nova may report no updates found — silently masking outdated components. The key data URL to understand:
# Nova's default version source
https://nova.release.fairwinds.tech
# Charts are indexed here
https://nova.release.fairwinds.tech/v2/index.yaml
Your internal Nova configuration may point to a custom version index if you manage an internal Helm repository:
# nova.yaml
outputFile: nova-results.json
additionalNamespaces:
- all
helm:
versionSource: https://nova.release.fairwinds.tech/v2/index.yaml
containers:
versionSource: https://nova.release.fairwinds.tech/v2/index.yaml
Step 2: Monitor the Nova Version Data Endpoint
The Nova version index is what determines whether your version checks are accurate. If this endpoint returns stale data or is unavailable, Nova produces incorrect "no updates found" results:
- Log in to Vigilmon → Add Monitor → HTTP.
- URL:
https://nova.release.fairwinds.tech/v2/index.yaml. - Check interval: 15 minutes.
- Response timeout: 20 seconds.
- Expected status:
200. - Keyword:
apiVersion(present in all valid Helm index.yaml files). - Label:
Nova version index. - Click Save.
This monitor catches:
- Fairwinds hosted version service outages that cause Nova to report false negatives
- CDN or proxy failures between your CI environment and the version source
- SSL/TLS handshake failures if the upstream certificate is renewed incorrectly
- Rate limiting or IP-based access controls that block CI runner requests
Internal index mirror: If your organization mirrors the Nova version index internally (recommended for air-gapped environments), point this monitor at your internal mirror URL instead. Your internal mirror is the actual critical dependency — upstream availability matters only for the mirror's own sync jobs.
Step 3: Monitor Your Internal Helm Repository
Nova scans Helm releases in your cluster and compares them against chart repositories. If your internal Helm repository (ChartMuseum, Harbor, Nexus, or Artifactory) is down, Nova cannot look up chart metadata for internally hosted charts:
# Check your internal Helm repository health
curl https://charts.example.com/api/charts
# Returns a JSON object of available charts
# Test the Nova-relevant index endpoint
curl https://charts.example.com/index.yaml | head -20
# Should return a valid Helm index
In Vigilmon:
- Add Monitor → HTTP.
- URL:
https://charts.example.com/index.yaml. - Check interval: 5 minutes.
- Response timeout: 15 seconds.
- Expected status:
200. - Keyword:
apiVersion(Helm index signature). - Label:
Internal Helm chart repository. - Click Save.
Chart repository outages cause Nova to produce partial scan results — charts from the unavailable repository appear with "unknown" versions instead of the correct current/latest comparison.
Step 4: Monitor Nova's CI Integration Endpoint
If you run Nova in CI pipelines that report results to a central dashboard or Slack integration, the reporting endpoint is part of Nova's operational footprint:
# .github/workflows/nova-scan.yml
name: Chart Version Check
on:
schedule:
- cron: '0 8 * * 1-5' # Weekday mornings
workflow_dispatch:
jobs:
nova-scan:
runs-on: ubuntu-latest
steps:
- name: Install Nova
run: |
wget https://github.com/FairwindsOps/nova/releases/download/v3.8.0/nova_3.8.0_linux_amd64.tar.gz
tar xzf nova_3.8.0_linux_amd64.tar.gz
chmod +x nova
sudo mv nova /usr/local/bin/
- name: Run Nova scan
run: |
nova find -o json > nova-results.json
- name: Check for outdated charts
run: |
OUTDATED=$(cat nova-results.json | jq '[.helm[] | select(.outdated == true)] | length')
DEPRECATED=$(cat nova-results.json | jq '[.helm[] | select(.deprecated == true)] | length')
echo "Outdated charts: $OUTDATED"
echo "Deprecated charts: $DEPRECATED"
if [ "$DEPRECATED" -gt 0 ]; then
echo "ERROR: $DEPRECATED deprecated chart(s) found"
exit 1
fi
- name: Post results to dashboard
run: |
curl -X POST https://nova-dashboard.example.com/api/results \
-H "Content-Type: application/json" \
-d @nova-results.json
Monitor the dashboard reporting endpoint:
- Add Monitor → HTTP.
- URL:
https://nova-dashboard.example.com/api/health. - Check interval: 2 minutes.
- Response timeout: 10 seconds.
- Expected status:
200. - Label:
Nova results dashboard. - Click Save.
Step 5: Run Nova as a Kubernetes CronJob for Continuous Scanning
For persistent cluster monitoring rather than PR-scoped checks, run Nova as a CronJob that posts results to your observability platform:
# nova-cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
name: nova-version-scan
namespace: monitoring
spec:
schedule: "0 */6 * * *" # Every 6 hours
jobTemplate:
spec:
template:
spec:
serviceAccountName: nova-scanner
containers:
- name: nova
image: quay.io/fairwinds/nova:v3.8.0
command:
- nova
- find
- -o
- json
- --output-file
- /results/nova-results.json
volumeMounts:
- name: results
mountPath: /results
restartPolicy: OnFailure
volumes:
- name: results
emptyDir: {}
Verify the CronJob is running and producing results:
kubectl get cronjobs -n monitoring nova-version-scan
kubectl get jobs -n monitoring -l app=nova-version-scan --sort-by=.metadata.creationTimestamp
kubectl logs -n monitoring job/nova-version-scan-<timestamp>
You can also create a lightweight HTTP status endpoint in the same namespace that exposes the last scan timestamp — then monitor that endpoint with Vigilmon to detect stale CronJob executions.
Step 6: Monitor SSL Certificates
All Nova-related HTTPS endpoints — your internal Helm repository, Nova dashboard, and version index mirrors — need certificate monitoring:
# Check your internal chart repository certificate
openssl s_client -connect charts.example.com:443 2>/dev/null | openssl x509 -noout -dates
# Check your Nova dashboard certificate
openssl s_client -connect nova-dashboard.example.com:443 2>/dev/null | openssl x509 -noout -dates
In Vigilmon:
- Add Monitor → SSL Certificate.
- Domain:
charts.example.com. - Alert when expiry is within: 30 days.
- Alert again: 14 days, 7 days, 3 days, 1 day.
- Click Save.
Repeat for nova-dashboard.example.com and your version index mirror domain.
Helm chart repository certificates and CI: Helm clients in CI pipelines validate the certificate of every chart repository during
helm repo addandhelm repo update. An expired certificate on your internal chart repository causes all Helm operations to fail — including Nova scans that depend on Helm metadata — withx509: certificate has expired.
Step 7: Configure Alerting
In Vigilmon under Settings → Notifications, configure your alert channels:
| Monitor | Trigger | Action |
|---|---|---|
| Nova version index | Non-200 or apiVersion missing | Nova scans will produce false negatives; check network access to Fairwinds endpoints |
| Internal Helm repository | Non-200 or keyword missing | Nova cannot resolve internal chart versions; check ChartMuseum/Harbor service health |
| Nova dashboard | Non-200 | Results from CI scans are not being stored; check dashboard service pods |
| SSL certificate | < 30 days to expiry | Renew certificate; CI Helm operations will fail when certificate expires |
Alert routing: Route Helm repository and version index alerts to the platform/DevOps team. Route Nova dashboard alerts to whoever owns the compliance reporting workflow.
Common Nova Infrastructure Failure Modes and What Vigilmon Catches
| Scenario | Vigilmon monitor | |---|---| | Fairwinds version index unreachable | HTTP monitor fails; Nova reports false "all charts up to date" | | Internal Helm repository down | Chart index HTTP monitor fails; Nova shows unknown versions for internal charts | | Nova dashboard service OOM killed | Dashboard HTTP monitor fails; scan results lost | | SSL cert expired on Helm repository | SSL monitor alerts at 30 days; Helm operations in CI start failing at expiry | | CI runner network blocks version index | HTTP monitor timeout; same failure CI runners experience | | Nova CronJob suspended or failing | Requires behavioral monitoring — check job completion times in Kubernetes | | Version index mirror sync falls behind | Mirror HTTP monitor is green but data is stale; add a freshness check on index timestamp |
Nova's value comes from its continuous visibility into version drift across your Helm-managed infrastructure — but that visibility depends on version data sources, chart repositories, and reporting pipelines all being available. Vigilmon monitors the external endpoints that Nova depends on so you know immediately when version checks are producing stale or incomplete results, long before a misconfigured or outdated Helm chart causes a production incident.
Start monitoring your Nova infrastructure in under 5 minutes — register free at vigilmon.online.