Home / Cardano Foundation / cardano-rosetta-java
Mar 20, 12-1 AM (0)
Mar 20, 1-2 AM (0)
Mar 20, 2-3 AM (0)
Mar 20, 3-4 AM (3)
Mar 20, 4-5 AM (0)
Mar 20, 5-6 AM (0)
Mar 20, 6-7 AM (0)
Mar 20, 7-8 AM (0)
Mar 20, 8-9 AM (1)
Mar 20, 9-10 AM (4)
Mar 20, 10-11 AM (0)
Mar 20, 11-12 PM (0)
Mar 20, 12-1 PM (0)
Mar 20, 1-2 PM (0)
Mar 20, 2-3 PM (0)
Mar 20, 3-4 PM (0)
Mar 20, 4-5 PM (0)
Mar 20, 5-6 PM (0)
Mar 20, 6-7 PM (0)
Mar 20, 7-8 PM (0)
Mar 20, 8-9 PM (0)
Mar 20, 9-10 PM (0)
Mar 20, 10-11 PM (0)
Mar 20, 11-12 AM (0)
Mar 21, 12-1 AM (0)
Mar 21, 1-2 AM (0)
Mar 21, 2-3 AM (0)
Mar 21, 3-4 AM (0)
Mar 21, 4-5 AM (0)
Mar 21, 5-6 AM (0)
Mar 21, 6-7 AM (0)
Mar 21, 7-8 AM (0)
Mar 21, 8-9 AM (0)
Mar 21, 9-10 AM (0)
Mar 21, 10-11 AM (0)
Mar 21, 11-12 PM (0)
Mar 21, 12-1 PM (0)
Mar 21, 1-2 PM (0)
Mar 21, 2-3 PM (0)
Mar 21, 3-4 PM (0)
Mar 21, 4-5 PM (0)
Mar 21, 5-6 PM (0)
Mar 21, 6-7 PM (0)
Mar 21, 7-8 PM (0)
Mar 21, 8-9 PM (0)
Mar 21, 9-10 PM (0)
Mar 21, 10-11 PM (0)
Mar 21, 11-12 AM (0)
Mar 22, 12-1 AM (0)
Mar 22, 1-2 AM (0)
Mar 22, 2-3 AM (0)
Mar 22, 3-4 AM (0)
Mar 22, 4-5 AM (0)
Mar 22, 5-6 AM (0)
Mar 22, 6-7 AM (0)
Mar 22, 7-8 AM (0)
Mar 22, 8-9 AM (0)
Mar 22, 9-10 AM (0)
Mar 22, 10-11 AM (0)
Mar 22, 11-12 PM (0)
Mar 22, 12-1 PM (0)
Mar 22, 1-2 PM (0)
Mar 22, 2-3 PM (0)
Mar 22, 3-4 PM (0)
Mar 22, 4-5 PM (0)
Mar 22, 5-6 PM (0)
Mar 22, 6-7 PM (0)
Mar 22, 7-8 PM (0)
Mar 22, 8-9 PM (0)
Mar 22, 9-10 PM (0)
Mar 22, 10-11 PM (0)
Mar 22, 11-12 AM (0)
Mar 23, 12-1 AM (0)
Mar 23, 1-2 AM (0)
Mar 23, 2-3 AM (0)
Mar 23, 3-4 AM (0)
Mar 23, 4-5 AM (0)
Mar 23, 5-6 AM (0)
Mar 23, 6-7 AM (0)
Mar 23, 7-8 AM (0)
Mar 23, 8-9 AM (0)
Mar 23, 9-10 AM (3)
Mar 23, 10-11 AM (0)
Mar 23, 11-12 PM (0)
Mar 23, 12-1 PM (0)
Mar 23, 1-2 PM (0)
Mar 23, 2-3 PM (0)
Mar 23, 3-4 PM (0)
Mar 23, 4-5 PM (0)
Mar 23, 5-6 PM (0)
Mar 23, 6-7 PM (0)
Mar 23, 7-8 PM (0)
Mar 23, 8-9 PM (0)
Mar 23, 9-10 PM (0)
Mar 23, 10-11 PM (0)
Mar 23, 11-12 AM (0)
Mar 24, 12-1 AM (0)
Mar 24, 1-2 AM (0)
Mar 24, 2-3 AM (0)
Mar 24, 3-4 AM (0)
Mar 24, 4-5 AM (0)
Mar 24, 5-6 AM (0)
Mar 24, 6-7 AM (2)
Mar 24, 7-8 AM (0)
Mar 24, 8-9 AM (2)
Mar 24, 9-10 AM (1)
Mar 24, 10-11 AM (0)
Mar 24, 11-12 PM (0)
Mar 24, 12-1 PM (1)
Mar 24, 1-2 PM (3)
Mar 24, 2-3 PM (0)
Mar 24, 3-4 PM (0)
Mar 24, 4-5 PM (0)
Mar 24, 5-6 PM (0)
Mar 24, 6-7 PM (0)
Mar 24, 7-8 PM (0)
Mar 24, 8-9 PM (0)
Mar 24, 9-10 PM (0)
Mar 24, 10-11 PM (0)
Mar 24, 11-12 AM (0)
Mar 25, 12-1 AM (0)
Mar 25, 1-2 AM (0)
Mar 25, 2-3 AM (0)
Mar 25, 3-4 AM (0)
Mar 25, 4-5 AM (0)
Mar 25, 5-6 AM (0)
Mar 25, 6-7 AM (0)
Mar 25, 7-8 AM (0)
Mar 25, 8-9 AM (0)
Mar 25, 9-10 AM (0)
Mar 25, 10-11 AM (1)
Mar 25, 11-12 PM (0)
Mar 25, 12-1 PM (0)
Mar 25, 1-2 PM (0)
Mar 25, 2-3 PM (0)
Mar 25, 3-4 PM (0)
Mar 25, 4-5 PM (0)
Mar 25, 5-6 PM (0)
Mar 25, 6-7 PM (0)
Mar 25, 7-8 PM (0)
Mar 25, 8-9 PM (0)
Mar 25, 9-10 PM (0)
Mar 25, 10-11 PM (0)
Mar 25, 11-12 AM (0)
Mar 26, 12-1 AM (0)
Mar 26, 1-2 AM (1)
Mar 26, 2-3 AM (0)
Mar 26, 3-4 AM (0)
Mar 26, 4-5 AM (0)
Mar 26, 5-6 AM (0)
Mar 26, 6-7 AM (0)
Mar 26, 7-8 AM (0)
Mar 26, 8-9 AM (0)
Mar 26, 9-10 AM (1)
Mar 26, 10-11 AM (0)
Mar 26, 11-12 PM (0)
Mar 26, 12-1 PM (0)
Mar 26, 1-2 PM (5)
Mar 26, 2-3 PM (0)
Mar 26, 3-4 PM (0)
Mar 26, 4-5 PM (0)
Mar 26, 5-6 PM (0)
Mar 26, 6-7 PM (0)
Mar 26, 7-8 PM (0)
Mar 26, 8-9 PM (0)
Mar 26, 9-10 PM (0)
Mar 26, 10-11 PM (0)
Mar 26, 11-12 AM (0)
Mar 27, 12-1 AM (0)
28 commits this week Mar 20, 2026 - Mar 27, 2026
chore: migrate to JDK 25 LTS and update dependencies
Migrate the project from JDK 24 to JDK 25 LTS and update all stable
dependencies across the multi-module build.

JDK 25 migration required adapting the StructuredTaskScope preview API
(ShutdownOnFailure replaced by Joiner-based open() API) in both
LedgerBlockServiceImpl and AddressHistoryServiceHibernate.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
feat: add helm charts kubernetes (#704)
* feat: Add Helm chart and scripts for deploying Cardano Rosetta

* chore: add docs and update helm value

* feat: add .helmignore and update resource definitions in Helm charts

* feat: add node-exporter service definition in Helm chart

* chore: Update Grafana datasource configuration and dashboard

* refactor: remove unnecessary overrides from Rosetta dashboards

* docs: Update deployment documentation and restructure runbooks

* feat: update Helm chart configuration and deployment instructions

- Added `global.configHostPath` to specify host directory for network-specific config files.
- Updated deployment documentation to pre-create the namespace and use `--no-hooks` during Helm upgrades.
- Removed unnecessary config map template for node configuration files.
- Deleted outdated genesis and configuration files from Helm chart.

* feat: enhance HikariCP configuration for database connection pooling

* fix: change volume configuration from configMap to hostPath for node-config

* refactor: remove unused ConfigMap templates and update k3s setup script for improved deployment instructions

* feat: grant pg_monitor role to user for pg_exporter access to WAL/system stats

* feat: update .gitignore to exclude Helm build artifacts

* feat: add optional Mithril configuration for aggregator endpoint and verification keys

* chore: update docs

* chore: simplify Mithril job configuration

* chore: Remove K3s single-host deployment documentation and script

* chore: Align Kubernetes Helm Charts with Docker Compose

* docs: update Helm values reference and overview for index applier Job changes

* docs: update Kubernetes deployment documentation for clarity and accuracy

* fix: startup probe threshold and sync stages docs (#708)

* fix: make cardano-node startupProbe failureThreshold configurable

- Hardcoded value of 60 (15 minutes) is insufficient for ImmutableDB replay after Mithril snapshot download
- Node gets killed repeatedly by startup probe before replay completes
- Default changed to 720 (3 hours), matching the troubleshooting guidance in deployment.md
- Value is now configurable via values.yaml at node.startupProbe.failureThreshold

* docs: fix Three sync stages table in overview

- SYNCING was incorrectly described as "Mithril download + node syncing" with "cardano-node only" pods ready
- SYNCING actually means yaci-indexer has not yet reached chain tip, with all pods already running

* fix: enable token registry in preprod values (#711)

values-preprod.yaml configured logo fetch and cache TTL but never enabled the registry or set its base URL. Added:
- tokenRegistryEnabled: true
- tokenRegistryBaseUrl pointing to preprod.tokens.cardano.org/api

* fix: monitoring removal

* chore: correct pg-explorter package

* refactor(helm): move node sync gate from postgresql to yaci-indexer

* chore:  replace the exec readiness probe with httpGet in rosetta api

* chore(helm): remove unused Prometheus/Grafana monitoring components

* refactor(helm/rosetta-api): simplify service to single templated resource

* refactor(helm): support existing secret and remove duplicate pgpassword key

* chore: fullname helpers with trunc 63

* chore: drop namespace.yaml

* chore: InitContainer resources

* chore: remove unused

* chore: use template resource

* chore: correct values-k3s

* chore: remove unused k8s monitoring docs

* chore: update namespace

* fix: increase index-applier deadline and node startup probe threshold

- activeDeadlineSeconds: 86400 (24h) -> 259200 (72h) for index-applier Job
- cardano-node startupProbe failureThreshold default: 720 (3h) -> 1920 (8h)

The 24h deadline caused the index-applier pod to be killed by the garbage collector before sync completed. The 3h startup probe was insufficient for ImmutableDB replay on mainnet.

* chore: introduce the indexer db turning env

* refactor(helm): replace raw printf with template helpers across all templates

Use include calls (with trunc 63) instead of inline printf patterns to
avoid code duplication and prevent failures when release names are long.
Added missing helpers: rosettaApiName, nodeDataPvcName, pgDataPvcName,
roleName, rolebindingName, testConnectionName.

* refactor(helm): remove explicit metadata.namespace from all templates

* chore: remove unused

* refactor(helm): move Mithril download into init container, remove RBAC

Replace standalone Mithril Job + wait-for-mithril K8s API polling with a
direct mithril-download init container on cardano-node. This eliminates
the need for ServiceAccount, Role, and RoleBinding since no pod accesses
the Kubernetes API anymore.

* refactor(helm): use StatefulSet volumeClaimTemplates for PVC management

Replace standalone Helm-managed PVCs with native Kubernetes
volumeClaimTemplates on both cardano-node and postgresql StatefulSets.
This lets K8s manage PVC lifecycle and eliminates the need for
helm.sh/resource-policy annotations. Also removed unused
global.namespace from values.yaml.

* feat(helm): bake node configs into image, remove hostPath volumes

* chore: update docs

---------

Co-authored-by: Lincon Vidal <[email protected]>