Skip to content

Releases: input-output-hk/cardano-parts

v2024-12-19

19 Dec 19:45
b384a05
Compare
Choose a tag to compare

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
  • 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 and create-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 to 0.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 version 0.100.0 which came with nixpkgs 24.11 may generate an error when entering a nu 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

03 Dec 00:02
f2595eb
Compare
Choose a tag to compare

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
  • 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

18 Nov 19:54
1c28475
Compare
Choose a tag to compare

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
  • 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 the ops 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

06 Nov 21:44
3a93c4c
Compare
Choose a tag to compare

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
  • 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 pgsqlRc show_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

22 Oct 16:18
19f1ab0
Compare
Choose a tag to compare

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 replaces profile-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 then just template-patch "$FILE" applying the diffs relevant for your cluster. Looking at the short PR diff for these files found under 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.

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
    • 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

07 Oct 18:19
bee2e83
Compare
Choose a tag to compare

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 node 9.2.x
    • nix is now 2.24-maint
  • 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, faucet 9.2 and mithril 2437.1
  • Bumps nix from 2.19-maint to 2.24-maint, nixpkgs-unstable pin and nvim pin for nix 2.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 to 12778
  • Updates the default cardano-node ipv6 binding to ::0 from 0: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 to 9.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 to 12778. For typical cardano-parts consuming cluster deployments this change will not be breaking as the cardano-parts profile-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 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            # 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