Releases: input-output-hk/cardano-parts
v2024-12-19
Overview:
Nixpkgs has been updated to 24.11
and nix to 2.25.3
. NixosModules and template just recipes with breaking changes from those updates were fixed. A nix jobs GHA CI test was added to verify environment spin up procedure. Template scripts were updated for compatibility with latest cardano-node protocol version and recent cardano-cli breaking changes, along with other miscellaneous improvements.
Details:
- Important versioning updates:
- Nixpkgs is now
24.11
- Nix is now
2.25.3
(maintenance) - Nushell (used in devShell just recipes) is now
0.100.0
- Nixpkgs is now
- Adds
cardano-testnet
to flakeModule pkgs and test+ devShells (ops included) - Adds a template just
cardano-testnet
recipe to handle env setup for the cardano-testnet binary - Adds a GHA CI test for nix jobs involving
create-cardano
andcreate-testnet-data
environment spinups - Adds nushell polars to the min+ devShells (ops included)
- Updates nixpkgs to
24.11
and includes required breaking change fixes to nixosModules - Updates the template faucet dedelegation script for compatibility with cardano-node protocol version 10
- Updates the template tofu file for nixos 24.11 AMI images
- Fixes template recipes involving nushell breaking changes from
0.93
to0.100
- Fixes a bug in the template setup delegation accounts python script
- Fixes the template just start-demo recipe for cardano-cli 10.x breaking changes
- Tunes the template alert for the varnish low cache hit rate threshold to reduce false positives
- Bumps iohk-nix[-ng] for p2p established peers tuning
- Adds template colmena TCP transmission optimization code for reducing round-tripping over long distances
Breaking Changes, Recommended Updates and Action Items:
Breaking:
- If you have a pre-existing nushell config at
~/.config/nu/config.nu
, the nushell update to version0.100.0
which came with nixpkgs24.11
may generate an error when entering anu
shell or running nushell scripts. In this case, simply delete the existing~/.config/nu/config.nu
file, or update it to a compatible version, for example, here
Recommended Updates:
- Apply the template Justfile diff and patch on the
Justfile
before bumping the cardano-parts pin to this release- This will break the just recipes until the cardano-parts pin is updated in the next step
- Update the cardano-parts pin to this release version
v2024-12-19
- This will fix the just recipes which already have the breaking change fixes from the prior step
- Continue to apply the template Justfile diff and patch or clone recipes on files described below.
Action Items:
Diff and patch the following files with just template-diff "$FILE"
and then just template-patch "$FILE"
. Looking at the short PR diff for these files found at directory templates/cardano-parts-project/
prior to diffing and patching against your own repo can also be helpful.
Alternatively, if you know you would just like to mirror any of these template files without diffing or patching, use the just template-clone "$FILE"
recipe.
# Apply the diff and patch or clone *before* updating the cardano-parts pin to `v2024-12-19`
Justfile # Nixpkgs 24.11 breaking change fixes
# Apply the diff and patch or clone *after* updating the cardano-parts pin to `v2024-12-19`
.envrc # For nix-direnv 3.0.6
flake/colmena.nix # Optional: for the transmission optimization `tcpTxOpt` module code
flake/opentofu/cluster.nix # For 24.11 nixos AMI tofu filtering
flake/opentofu/grafana/alerts/varnish.nix-import # For a less noisy varnish low cache rate alert
scripts/restore-delegation-accounts.py # For PV 10 compatible dedelegation script
scripts/setup-delegation-accounts.py # For a script bug fix
- Machines deployed with this release should be rebooted after the initial deployment to nixpkgs
24.11
to ensure use of the new kernel.
v2024-12-02
Overview:
Sets cardano-node to 10.1.3
, dbsync to 13.6.0.4
. Updates the default cardano-node nixos service to maintain legacy tracing when the default tracing system changes in the next node release.
Details:
- Important versioning updates:
- Cardano-node[-ng] is now
10.1.3
- Dbsync[-ng] is now
13.6.0.4
- Cardano-wallet is now
2024-11-18
- Cardano-node[-ng] is now
- Updates the cardano-node nixos service to default to legacy tracing when the node binary itself default to new tracing in the next release
Breaking Changes, Recommended Updates and Action Items:
Breaking:
- N/A
Recommended Updates:
- Update the cardano-parts pin to this release version
v2024-12-02
Action Items:
- None
v2024-11-18
Overview:
Sets cardano-node to 10.1.2
, dbsync to 13.6.0.1
, mithril to v2445.0
, faucet to 10.1
. Governance recipes were moved to their own governance recipe file and a query-gov-action-status
recipe for live vote analysis was added. New tracing system module improvements were made to prevent unexpected metrics export stoppage along with other miscellaneous improvements.
Details:
- Important versioning updates:
- Cardano-node[-ng] is now
10.1.2
- Dbsync[-ng] is now
13.6.0.1
- Mithril is now
v2445.0
- Faucet is now
10.1
- Cardano-node[-ng] is now
- Bumps capkgs and updates pkgs.nix flakeModule for node, dbsync, mithril versioning mentioned above as well as credential-manager bins
- Improves the
show_pools_not_voted_fn
prepared query to not expect a leading\x
identifier - Adds
bc
to min devShell for governance recipe calculations - Adds a template recipe
query-gov-action-status
for obtaining vote analysis information of live governance actions - Adds credential manager bins
cc-sign
,orchestrator-cli
,tx-bundle
to theops
devShell - Updates the
profile-cardano-node-new-tracing
nixosModule option types to match upstream changes - Updates the
profile-cardano-node-new-tracing
nixosModule to prevent metrics export stoppage on node stop/start systemd cycling - Updates the
profile-cardano-node-group
nixosModule to pin use of legacy tracing while the binary will default to new tracing in the next release - Migrates template recipes for governance to their own governance recipes file
Breaking Changes, Recommended Updates and Action Items:
Breaking:
- N/A
Recommended Updates:
- Update the cardano-parts pin to this release version
v2024-11-18
- Apply the template Justfile diff and patch or clone recipes on files described below.
Action Items:
Diff and patch the following files with just template-diff "$FILE"
and then just template-patch "$FILE"
. Looking at the short PR diff for these files found at directory templates/cardano-parts-project/
prior to diffing and patching against your own repo can also be helpful.
Alternatively, if you know you would just like to mirror any of these template files without diffing or patching, use the just template-clone "$FILE"
recipe.
Justfile # Governance recipe migration to a dedicated governance file
scripts/recipes-governance.just # Migrate existing governance recipes and add `query-gov-action-status` recipe
v2024-11-06
Overview:
Sets cardano-node to 10.1.1
, mithril to v2442.0
and updates iohk-nix-ng for the recent sanchonet respin. Updates for cardano-cli breaking changes were incorporated into nix jobs, justfile recipes, bash and python scripts, process-compose processes. New template just recipes and psql prepared statements were added for ease of governance action pool voting and follow up vote analysis. Some nixosModule options were refactored to consistency across the module set.
Details:
- Important versioning updates:
- Cardano-node[-ng] is now
10.1.1
- BlockPerf main now includes inbound governor metrics reporting
- Mithril is now
v2442.0
- Cardano-node[-ng] is now
- Bumps capkgs and updates pkgs.nix flakeModule for node
10.0.0-pre
,10.1.0-pre
,10.1.1
and blockPerf and mithril - Bumps iohk-nix-ng for sanchonet respin on
2024-10-21
and minNodeVersion update - Modify cardano-cli cmds for upstream breaking changes in nix jobs, justfile recipes, bash and python scripts, process-compose processes
- Adds template recipe
sops-decrypt-binary-in-place
- Adds
profile-cardano-postgres
nixosModule pgsqlRcshow_pools_not_voted_fn
for gov action query - Adds template recipe
vote-with-pool
for easy SPO gov action voting - Updates template recipe for switch to grafana alloy secrets setup in new downstream clusters
- Updates some
profile-cardano-postgres
nixosModule pgsqlRc prepared statements by to sort by lovelace - Implements nix option useSopsSecrets uniformly across modules
Breaking Changes, Recommended Updates and Action Items:
Breaking:
- N/A
Recommended Updates:
- Update the cardano-parts pin to this release version
v2024-11-06
- Apply the template Justfile diff and patch or clone recipes on files described below.
Action Items:
Diff and patch the following files with just template-diff "$FILE"
and then just template-patch "$FILE"
. Looking at the short PR diff for these files found at directory templates/cardano-parts-project/
prior to diffing and patching against your own repo can also be helpful.
Alternatively, if you know you would just like to mirror any of these template files without diffing or patching, use the just template-clone "$FILE"
recipe.
Justfile # New recipes and fixes cardano-cli breaking changes
scripts/lib/cli.py # Fixes cardano-cli breaking changes
scripts/restore-delegation-accounts.py # Fixes cardano-cli breaking changes
scripts/setup-delegation-accounts.py # Fixes cardano-cli breaking changes
v2024-10-22
Overview:
Migrates Grafana Agent to Grafana Alloy. Drops deprecated cardano-node service features and iohk-nix legacy mainnet relay filtering. Fixes cardano-parts jobs for cardano-cli breaking change compatibility.
Details:
- Bumps capkgs for mithril-unstable update
- Drops deprecated cardano-node nixos service handling features (<= 8.9.0)
- Drops iohk-nix legacy mainnet non-p2p relay filtering
- Updates flakeModule jobs to adapt to breaking changes in cardano-cli (>= 9.4.0.0) which no longer support transaction build in pre-conway eras
- Cleans up the
profile-grafana-agent
nixosModule - Adds
profile-grafana-alloy
nixosModule which replacesprofile-grafana-agent
-- see migration notes below - Adds template files for grafana alloy migration
Breaking Changes, Recommended Updates and Action Items:
Breaking:
- Grafana agent has been deprecated with long term support from Grafana ending in Oct 2025.
- Grafana alloy is the replacement, and this PR introduces a supporting nixosModule
profile-grafana-alloy
and migration instructions - Migration to grafana alloy is optional, but if done, the change is breaking in the sense secrets will need to be modified
- In the action items below, the diff in
flake/colmena.nix
in particular will enforce the migration to grafana alloy; it contains only a single line change which swaps the grafana alloy nixosModule for the grafana agent nixosModule. - Migration is recommended -- see the migration notes below
Recommended Updates:
- Update the cardano-parts pin to this release version
v2024-10-22
- Apply the template Justfile diff and patch or clone recipes on files described below.
Action Items:
- Diff and patch the following files with
just template-diff "$FILE"
and thenjust template-patch "$FILE"
applying the diffs relevant for your cluster. Looking at the short PR diff for these files found under directorytemplates/cardano-parts-project/
prior to diffing and patching against your own repo can also be helpful.
Alternatively, if you know you would just like to mirror any of these template files without diffing or patching, use the just template-clone "$FILE"
recipe.
flake/colmena.nix # Migrates from grafana agent to grafana alloy
flake/opentofu/grafana/alerts/cardano-parts.nix-import # Adds grafana alloy compatibility with alerts
flake/opentofu/grafana/dashboards/node-exporter-filesystem-and-disk.json # Fixes a panel not showing metrics in grafana agent and alloy
Grafana Alloy Migration:
- If you have applied the diff in
flake/colmena.nix
above, you are migrating to grafana alloy and will need to do the following before deploying any machines:-
Create secrets for grafana alloy. By default, these secrets are expected to be:
secrets/monitoring/grafana-alloy-metrics-password.enc secrets/monitoring/grafana-alloy-metrics-url.enc secrets/monitoring/grafana-alloy-metrics-username.enc
-
These secrets can be copied from the corresponding grafana-agent secrets from the same directory
-
Edit the copied alloy secrets using
sops $FILENAME
and save each secret again with no end-of-file newline- In vim type editors, this can be done by applying
:set noeol nofixeol
and then saving and exiting:wq
- In vim type editors, this can be done by applying
-
Ensure the secrets are still encrypted and then git add and commit them
-
Keep existing grafana-agent secrets for at least a short time to ensure an easy rollback is possible if needed
-
Apply grafana-alloy alert and dashboard compatibility changes with
just tf grafana apply
-
Grafana Alloy Migration Rollback:
- If you need to revert back to grafana-agent, simply revert the applied
flake/colmena.nix
diff and ensure the original grafana-agent secrets are still available in the repo, then redeploy machines as needed:
secrets/monitoring/grafana-agent-metrics-password.enc
secrets/monitoring/grafana-agent-metrics-url.enc
secrets/monitoring/grafana-agent-metrics-username.enc
v2024-10-07
Overview:
Sets cardano-node to 9.2.1
, cardano-faucet to 9.2
. Bumps nix to 2.24-maint
and adds ipv6 and nix versioning fixes and other improvements. Begins cardano-parts date-based releases for an improved upgrade process.
Details:
- Important versioning updates:
- cardano-node[-ng] is now
9.2.1
- cardano-faucet[-ng] is now
9.2
, compatible with node9.2.x
- nix is now
2.24-maint
- cardano-node[-ng] is now
- Adds improved ipv6 related scripting to reduce parsing brittleness on customized ssh configurations
- Adds additional example recipes for ipv6 ssh config and ip module customization
- Adds colmena template
mkCustomNode
for easier cardano-node customization - Adds justfile template recipe code to handle nix 2.21 colmena required impure deployment
- Bumps capkgs for node
9.2.1
, faucet9.2
and mithril2437.1
- Bumps nix from
2.19-maint
to2.24-maint
, nixpkgs-unstable pin and nvim pin for nix2.24-maint
compatability - Bumps auth-keys-hub for a startup fix when an expected token is missing
- Updates the default mithril-signer metrics scrape port from
9090
to12778
- Updates the default cardano-node ipv6 binding to
::0
from0:0:0:0:0:0:0:0
- Updates gitignore for a modified ssh-bootstrap template recipe
- Updates cardano faucet to
9.2
which contains an ipv6 compatibility fix and two api version bumps to9.3.0.0
Breaking Changes, Recommended Updates and Action Items:
Breaking:
- If customized metrics scraping has be configured for mithril, the customization may need to be updated to reflect the default exporter port change from
9090
to12778
. For typical cardano-parts consuming cluster deployments this change will not be breaking as the cardano-partsprofile-grafana-agent
nixosModule has already been updated to reflect this.
Recommended Updates:
-
Starting now and going forward, most PR merges will now be published as a release to make upgrading easier. Therefore, it is recommended to set the cardano-parts flake pin to the release version rather than the main commit.
-
Update the cardano-parts pin to this release version
v2024-10-07
-
Apply the template Justfile diff and patch or clone recipes on files described below.
Action Items:
- Diff and patch the following files with
just template-diff "$FILE"
and thenjust template-patch "$FILE"
. Looking at the short PR diff for these files found at * directorytemplates/cardano-parts-project/
prior to diffing and patching against your own repo can also be helpful.
Alternatively, if you know you would just like to mirror any of these template files without diffing or patching, use the just template-clone "$FILE"
recipe.
Justfile # Adds colmena and nix 2.24 compatibility code and ipv6 improvements
.gitignore # Ignores a new just recipe tempfile
flake/colmena.nix # Adds a small `mkCustomNode` helper function