manifests/{devnet,production,testnet}.yml claimed to be "source of truth for
what is deployed on lux-k8s", last edited 2026-04-20, listing tag: latest and
sha: latest per service. Nothing has read them since; the ApplicationSet reads
deploy/, and the only writer that touched them was update-image.yml, which was
sed-ing into a tree CD does not open.
manifests/safes.yaml was the one live file in there and is not a deployment
manifest at all — it is Lux's Safe topology. It moves to SAFES.yaml, beside
NETWORKS.yaml and chain.yaml, where this repo keeps its fact tables.
scripts/deploy-do.sh creates three DigitalOcean droplets, cloud-inits docker on
them and runs compose over ssh. That is the arrangement DOKS replaced.
sync-pars-universe.sh no longer copies it into the Pars bundle.
renovate.json stops matching manifests/. It still does not match deploy/, and
that is now on purpose rather than an oversight: pin.sh resolves a tag and its
digest from one registry read, and a second writer offering a bare tag would
leave the pair disagreeing — which deploys the digest.
Co-authored-by: Hanzo Dev <[email protected]>
60 lines
1.7 KiB
JSON
60 lines
1.7 KiB
JSON
{
|
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
"extends": ["config:recommended"],
|
|
"enabledManagers": ["kubernetes", "custom.regex"],
|
|
"kubernetes": {
|
|
"fileMatch": ["(^k8s|^infra/k8s)/.+\\.yaml$"]
|
|
},
|
|
"customManagers": [
|
|
{
|
|
"customType": "regex",
|
|
"fileMatch": ["compose.*\\.yml$", "(^k8s|^infra/k8s)/.+\\.yaml$"],
|
|
"matchStrings": [
|
|
"image:\\s*(?<depName>[\\w.\\-/]+):(?<currentValue>[\\w][\\w.\\-]+)"
|
|
],
|
|
"datasourceTemplate": "docker",
|
|
"versioningTemplate": "docker"
|
|
}
|
|
],
|
|
"packageRules": [
|
|
{
|
|
"description": "Group all image updates into a single PR",
|
|
"matchDatasources": ["docker"],
|
|
"groupName": "docker-images",
|
|
"groupSlug": "docker-images",
|
|
"automerge": false,
|
|
"labels": ["dependencies", "docker"]
|
|
},
|
|
{
|
|
"description": "Auto-merge patch updates for internal images",
|
|
"matchDatasources": ["docker"],
|
|
"matchPackagePatterns": ["ghcr.io/(hanzoai|luxfi|zooai)/.*"],
|
|
"matchUpdateTypes": ["patch"],
|
|
"automerge": true,
|
|
"automergeType": "pr"
|
|
},
|
|
{
|
|
"description": "Major versions require review",
|
|
"matchDatasources": ["docker"],
|
|
"matchUpdateTypes": ["major"],
|
|
"automerge": false,
|
|
"labels": ["major-upgrade"]
|
|
},
|
|
{
|
|
"description": "Ignore ARC runner images",
|
|
"matchPackagePatterns": ["ghcr.io/actions/actions-runner"],
|
|
"enabled": false
|
|
},
|
|
{
|
|
"description": "Pin digests for deterministic deploys",
|
|
"matchDatasources": ["docker"],
|
|
"pinDigests": true
|
|
}
|
|
],
|
|
"schedule": ["every 15 minutes"],
|
|
"prHourlyLimit": 10,
|
|
"prConcurrentLimit": 3,
|
|
"rebaseWhen": "behind-base-branch",
|
|
"labels": ["renovate", "dependencies"]
|
|
}
|