Skip to content

Releases: interuss/dss

v0.23.0-rc2

v0.23.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@barroco barroco released this 25 Jun 17:14
87d824b

Release Notes for v0.23.0-rc2

Mandatory migration tasks

N/A

Optional migration tasks

  • enable_opentelemetry has been split into two flags: enable_metrics and enable_tracing
  • A new pair of migrations for CockroachDB has been added for RID (4.1.0) and SCD (3.4.0) to remove useless indexes.
    • The DSS will work regardless of the migration status.
    • This migration will improve performance. If that is not the case for a specific scenario that was missed, please downgrade to the previous version and open an issue.
    • These indexes are still useful for Yugabyte, so no such migration exists for it.
    • Details about migrations are available there

Important information

  • Fixed a bug where the evict command ignored entries without a locality. If your DSS instance does not have a locality set, the next evict run may be slow while it processes the backlog of old entries.
  • Fixed a bug where Helm charts and Tanka files didn't actually perform any actions via the evict command when run via cron jobs (because no locality was set and no delete flag was specified). If you have a large number of entries, the next run may be slow while it processes the backlog of old entries.
  • AWS load balancer names are no longer enforced by Helm charts or Tanka files. Existing clusters will retain their current names, while new ones will use names automatically generated by AWS.
  • Server timeout flag has been renamed from server timeout to server_timeout.
  • The duration field, previously recorded as a string containing the unit, has been changed to duration_ms, a float representing the duration in milliseconds, rounded to 0.01.
  • Grafana version deployed by Helm charts or Tanka files have been upgraded to 13.0. Ensure to read grafana changelog based on your current version.
  • The Google Kubernetes Engine (GKE) node disk size has been increased from 15GB to 25GB to prevent issues with saturated system disks.
    • You will need to apply the Terraform state once to recreate the node pool.
    • This process will take some time because it is performed in a non-disruptive rolling update, draining and moving pods across nodes during the upgrade.
    • Please plan accordingly and test the rollout on a non-production cluster first.

Minimal database schema version

Schema CockroachDB Yugabyte
AUX 1.1.0 1.1.0
RID 4.0.0 1.0.1
SCD 3.3.0 1.1.0

Validation

USS qualifier versions: v0.31.0
Test configuration and report: See attachment.

What's Changed

  • Reset NEXT_RELEASE_NOTES.md by @mickmis in #1427
  • RELEASE.md: add 'NEXT_RELEASE_NOTES.md' workflow and validation section in release notes by @mickmis in #1428
  • [aux] Fill nil on empty body on PutDSSInstancesHeartbeat by @the-glu in #1429
  • [tooling] Add authentification tests by @the-glu in #1430
  • Add .gitkeep file to docker ignore to prevent -dirty version by @the-glu in #1432
  • [deploy] Improve recommandations for storage type & instance types by @the-glu in #1433
  • Auth: Move authentification validation in generated code by @the-glu in #1434
  • [certificates] Add CI hygiene checks, minor fixes on python hygiene checks by @the-glu in #1435
  • Bump github.com/jackc/pgx/v5 from 5.7.4 to 5.9.0 by @dependabot[bot] in #1441
  • [docs] Improve data storage documentation by @BenjaminPelletier in #1437
  • [rid/datastore/ListExpired(Subscriptions|ISAs)] Properly escape writer; Fix removal of expired entities with NULL writer (empty locality) by @the-glu in #1436
  • [tooling] Improve shell-lint to ignore git-ignored files by @the-glu in #1443
  • Bump github.com/jackc/pgx/v5 from 5.9.0 to 5.9.2 by @dependabot[bot] in #1450
  • [store] Squash datastore.Store and datastore.Datastore by @the-glu in #1444
  • [store] Revork init structure; use Store interfaces instead of datastore.Store interfaces by @the-glu in #1445
  • [store] Rename datastore to sqlstore by @the-glu in #1446
  • [store] Move CodeRetryable to generic store by @the-glu in #1447
  • [store] Add store type flag by @the-glu in #1448
  • Upgrade to go 1.26.2 by @the-glu in #1458
  • [Raft] Add Raft store stubs by @MariemBaccari in #1451
  • [monitoring] Add and expose opentelemetry metrics by @the-glu in #1454
  • [tooling]: Generate all openapi-to-go files; make setAuthError generated only when needed by @the-glu in #1455
  • [Raft] Add etcd raft dependencies by @MariemBaccari in #1460
  • Bump google.golang.org/protobuf from 1.23.0 to 1.33.0 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1465
  • Bump golang.org/x/net from 0.30.0 to 0.38.0 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1466
  • Bump google.golang.org/grpc from 1.29.1 to 1.79.3 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1467
  • [Doc] Improve monitoring page & cleanup outdated monitoring config/examples by @the-glu in #1457
  • [Raft] Add Raft transport by @MariemBaccari in #1464
  • [tooling]: Enforce in CI generation of gen.go files by @the-glu in #1456
  • [Raft] Add log warning about Raft implementation by @MariemBaccari in #1468
  • [tanka/helm] Set localitly on cleanup jobs by @the-glu in #1477
  • [doc] Add tracing documentation by @the-glu in #1471
  • [terraform] Upgrade to kubernetes version 1.35 by @the-glu in #1478
  • [helm/tanka] Normalize wait container for schema, jobs and core-service by @the-glu in #1481
  • [terraform] Add option to make GKE cluster deletable by @the-glu in #1484
  • [tanka/helm] Remove 'name' anotation in AWS load balancer by @the-glu in #1489
  • [doc] Add a deployment checklist by @the-glu in #1491
  • [tanka/helm] Actually delete entries in cronjob evict tool by @the-glu in #1487
  • [doc] Add command to connect to YugabyteDB in troubleshooting by @the-glu in #1501
  • [scd] Remove redundant fetch cells call by @MariemBaccari in #1475
  • [tanka] Remove useless yugabyte hooks by @the-glu in #1479
  • [geo] normalize s2 loop by @RustedBones in #1485
  • [geo] Leverage s2.CrossSign for loop validation by @RustedBones in #1490
  • [tooling] Automatic release artefacts: Base script helper & config by @the-glu in #1493
  • [tooling] Automatic release artefacts: Cluster spawning by @the-glu in #1494
  • [tooling] Automatic release artefacts: Cluster configuration by @the-glu in #1495
  • [tooling] Automatic release artefacts: Deploy services by @the-glu in #1496
  • [tooling] Automatic release artefacts: Run tests by @the-glu in #1497
  • [tooling] Automatic release artefacts: Compile results by @the-glu in #1498
  • [tooling] Automatic release artefacts: Destroy clusters by @the-glu in #1499
  • [doc] Move cleanup part from README to documentation (partially merged in #1491) by @the-glu in #1469
  • [auth] Don't crash on tokens with missing 'exp' field by @the-glu in #1508
  • [metrics] Add RID metrics: subscriptions and isa count by @the-glu in #1502
  • [interfaces] Remove invalid default value in aux API by @BenjaminPelletier in #1511
  • [Raft] Add Raft persistence by @MariemBaccari in #1470
  • [metrics] Add SCD metrics: subscriptions, constraints and operational intents count by @the-glu in #1503
  • [core] Fix timeout argument by @the-glu in #1514
  • [core] Use better timeout handler and log timeouts by @the-glu in #1515
  • [release scripts] Ignore yugabyte certificate init errors by @the-glu in #1516
  • [opentelemetry] Split enable_opentelemetry into enable_metrics and enable_tracing by @the-glu in #1504
  • [logging] Normalize duration to milliseconds, rounded to 0.01 by @the-glu in #1519
  • [monitoring] Normalize gr...
Read more

v0.23.0-rc1

v0.23.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@barroco barroco released this 25 Jun 14:10
5eb162e

Release Notes for v0.23.0-rc1

⚠️ This is a release candidate and has not been tested yet and may be insecure.

Mandatory migration tasks

N/A

Optional migration tasks

  • enable_opentelemetry has been split into two flags: enable_metrics and enable_tracing
  • A new pair of migrations for CockroachDB has been added for RID (4.1.0) and SCD (3.4.0) to remove useless indexes.
    • The DSS will work regardless of the migration status.
    • This migration will improve performance. If that is not the case for a specific scenario that was missed, please downgrade to the previous version and open an issue.
    • These indexes are still useful for Yugabyte, so no such migration exists for it.
    • Details about migrations are available there

Important information

  • Fixed a bug where the evict command ignored entries without a locality. If your DSS instance does not have a locality set, the next evict run may be slow while it processes the backlog of old entries.
  • Fixed a bug where Helm charts and Tanka files didn't actually perform any actions via the evict command when run via cron jobs (because no locality was set and no delete flag was specified). If you have a large number of entries, the next run may be slow while it processes the backlog of old entries.
  • AWS load balancer names are no longer enforced by Helm charts or Tanka files. Existing clusters will retain their current names, while new ones will use names automatically generated by AWS.
  • Server timeout flag has been renamed from server timeout to server_timeout.
  • The duration field, previously recorded as a string containing the unit, has been changed to duration_ms, a float representing the duration in milliseconds, rounded to 0.01.
  • Grafana version deployed by Helm charts or Tanka files have been upgraded to 13.0. Ensure to read grafana changelog based on your current version.

Minimal database schema version

Schema CockroachDB Yugabyte
AUX 1.1.0 1.1.0
RID 4.0.0 1.0.1
SCD 3.3.0 1.1.0

Validation

Failed: Yugabyte version dosn't support load.

USS qualifier versions:

What's Changed

  • Reset NEXT_RELEASE_NOTES.md by @mickmis in #1427
  • RELEASE.md: add 'NEXT_RELEASE_NOTES.md' workflow and validation section in release notes by @mickmis in #1428
  • [aux] Fill nil on empty body on PutDSSInstancesHeartbeat by @the-glu in #1429
  • [tooling] Add authentification tests by @the-glu in #1430
  • Add .gitkeep file to docker ignore to prevent -dirty version by @the-glu in #1432
  • [deploy] Improve recommandations for storage type & instance types by @the-glu in #1433
  • Auth: Move authentification validation in generated code by @the-glu in #1434
  • [certificates] Add CI hygiene checks, minor fixes on python hygiene checks by @the-glu in #1435
  • Bump github.com/jackc/pgx/v5 from 5.7.4 to 5.9.0 by @dependabot[bot] in #1441
  • [docs] Improve data storage documentation by @BenjaminPelletier in #1437
  • [rid/datastore/ListExpired(Subscriptions|ISAs)] Properly escape writer; Fix removal of expired entities with NULL writer (empty locality) by @the-glu in #1436
  • [tooling] Improve shell-lint to ignore git-ignored files by @the-glu in #1443
  • Bump github.com/jackc/pgx/v5 from 5.9.0 to 5.9.2 by @dependabot[bot] in #1450
  • [store] Squash datastore.Store and datastore.Datastore by @the-glu in #1444
  • [store] Revork init structure; use Store interfaces instead of datastore.Store interfaces by @the-glu in #1445
  • [store] Rename datastore to sqlstore by @the-glu in #1446
  • [store] Move CodeRetryable to generic store by @the-glu in #1447
  • [store] Add store type flag by @the-glu in #1448
  • Upgrade to go 1.26.2 by @the-glu in #1458
  • [Raft] Add Raft store stubs by @MariemBaccari in #1451
  • [monitoring] Add and expose opentelemetry metrics by @the-glu in #1454
  • [tooling]: Generate all openapi-to-go files; make setAuthError generated only when needed by @the-glu in #1455
  • [Raft] Add etcd raft dependencies by @MariemBaccari in #1460
  • Bump google.golang.org/protobuf from 1.23.0 to 1.33.0 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1465
  • Bump golang.org/x/net from 0.30.0 to 0.38.0 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1466
  • Bump google.golang.org/grpc from 1.29.1 to 1.79.3 in /interfaces/openapi-to-go-server/example by @dependabot[bot] in #1467
  • [Doc] Improve monitoring page & cleanup outdated monitoring config/examples by @the-glu in #1457
  • [Raft] Add Raft transport by @MariemBaccari in #1464
  • [tooling]: Enforce in CI generation of gen.go files by @the-glu in #1456
  • [Raft] Add log warning about Raft implementation by @MariemBaccari in #1468
  • [tanka/helm] Set localitly on cleanup jobs by @the-glu in #1477
  • [doc] Add tracing documentation by @the-glu in #1471
  • [terraform] Upgrade to kubernetes version 1.35 by @the-glu in #1478
  • [helm/tanka] Normalize wait container for schema, jobs and core-service by @the-glu in #1481
  • [terraform] Add option to make GKE cluster deletable by @the-glu in #1484
  • [tanka/helm] Remove 'name' anotation in AWS load balancer by @the-glu in #1489
  • [doc] Add a deployment checklist by @the-glu in #1491
  • [tanka/helm] Actually delete entries in cronjob evict tool by @the-glu in #1487
  • [doc] Add command to connect to YugabyteDB in troubleshooting by @the-glu in #1501
  • [scd] Remove redundant fetch cells call by @MariemBaccari in #1475
  • [tanka] Remove useless yugabyte hooks by @the-glu in #1479
  • [geo] normalize s2 loop by @RustedBones in #1485
  • [geo] Leverage s2.CrossSign for loop validation by @RustedBones in #1490
  • [tooling] Automatic release artefacts: Base script helper & config by @the-glu in #1493
  • [tooling] Automatic release artefacts: Cluster spawning by @the-glu in #1494
  • [tooling] Automatic release artefacts: Cluster configuration by @the-glu in #1495
  • [tooling] Automatic release artefacts: Deploy services by @the-glu in #1496
  • [tooling] Automatic release artefacts: Run tests by @the-glu in #1497
  • [tooling] Automatic release artefacts: Compile results by @the-glu in #1498
  • [tooling] Automatic release artefacts: Destroy clusters by @the-glu in #1499
  • [doc] Move cleanup part from README to documentation (partially merged in #1491) by @the-glu in #1469
  • [auth] Don't crash on tokens with missing 'exp' field by @the-glu in #1508
  • [metrics] Add RID metrics: subscriptions and isa count by @the-glu in #1502
  • [interfaces] Remove invalid default value in aux API by @BenjaminPelletier in #1511
  • [Raft] Add Raft persistence by @MariemBaccari in #1470
  • [metrics] Add SCD metrics: subscriptions, constraints and operational intents count by @the-glu in #1503
  • [core] Fix timeout argument by @the-glu in #1514
  • [core] Use better timeout handler and log timeouts by @the-glu in #1515
  • [release scripts] Ignore yugabyte certificate init errors by @the-glu in #1516
  • [opentelemetry] Split enable_opentelemetry into enable_metrics and enable_tracing by @the-glu in #1504
  • [logging] Normalize duration to milliseconds, rounded to 0.01 by @the-glu in #1519
  • [monitoring] Normalize grafana version to 13.0 by @the-glu in #1505
  • [deploy] Add enable_metric flag for DSS + fetch pod metrics in prometheus by @the-glu in #1506
  • [metrics...
Read more

v0.22.0

Choose a tag to compare

@mickmis mickmis released this 13 Apr 12:13
dea1976

Release Notes for v0.22.0

Mandatory migration tasks

N/A

Optional migration tasks

  • db-manager's cleanup and migrate commands no longer override the application name parameter. To tag these connections, use the datastore_application_name flag, which is now honoured by these commands (defaults to dss).

Important information

  • The timeout configuration flag is now enforced consistently on all HTTP calls. This means that some slow calls that were previously successful will now be cancelled. Please review the value to be applied (the default is 10 seconds) and, if needed, update it to suit your needs.
  • --datastore_db_name (and the deprecated version, --cockroach_db_name) has been removed. It was not used except for tests and can be removed if you use it.
  • Datastore initialization has been normalized throughout the codebase, with the following changes:
    • Error messages of db-manager's cleanup command are now the same as the core-service command.
    • AUX database is regularly pinged (before that was only the case for the RID and SCD databases).

Minimal database schema version

Schema CockroachDB Yugabyte
AUX 1.1.0 1.1.0
RID 4.0.0 1.0.1
SCD 3.3.0 1.1.0

Validation

USS qualifier version: v0.28.0
Test configuration and report: See attachments

What's Changed

  • Cleanup next release notes following 0.21 release by @the-glu in #1396
  • [monitoring] Add telemetry in router by @the-glu in #1391
  • Fix documentation link to CockroachDB install by @the-glu in #1400
  • [auth] Remove token signatures in logs by @the-glu in #1398
  • Bump google.golang.org/grpc from 1.78.0 to 1.79.3 by @dependabot[bot] in #1399
  • Apply server timeout globally, remove hardcoded datastore timeout by @the-glu in #1397
  • [core-server] Cleanup getDBStats by @the-glu in #1406
  • [db-manager] Honor datastore_application_name flag instead of overriding it by @the-glu in #1407
  • [datastore]: Remove unused datastore_db_name by @the-glu in #1404
  • [store] Use a common interface for scd/rid/aux stores by @the-glu in #1405
  • [datastore] Use a generic datastore by @the-glu in #1408
  • [CI] Upgrade cosign; Wait 30s between signing and verifying signature by @mickmis in #1412
  • Bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by @dependabot[bot] in #1414
  • [datastore] Normalize datastore initialization across the codebase with a generic dial function by @the-glu in #1409
  • [datastore] Stop crons on ctx's cancels, cancel ctx when error occur during RunHTTPServer by @the-glu in #1410
  • [datastore] Remove cleanup functions by @the-glu in #1413
  • [datastore] Make CheckCurrentMajorSchemaVersion internal, move parameters to NewStore by @the-glu in #1415
  • [scd] Validate Volume4D when parsing by @RustedBones in #1380
  • Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 by @dependabot[bot] in #1421
  • [ci] Update 'actions/checkout''s version by @the-glu in #1417
  • Check authorization in SCD global lock by @the-glu in #1422
  • [scd] Factorize volume4D union from rest by @RustedBones in #1381
  • [datastore] Move flags and ConnectParameters to a dedicated package, merge datastoreutils into datastore by @the-glu in #1416
  • [deploy] Fix enable_scd parameter ignored by @the-glu in #1424
  • [deploy] Add enable_scd_global_lock setting to terrafrom, helm and tanka by @the-glu in #1423
  • Upgrade monitoring image to v0.28.0 by @the-glu in #1426

Full Changelog: interuss/dss/v0.21.1...interuss/dss/v0.22.0

v0.22.0-rc1

v0.22.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@mickmis mickmis released this 13 Apr 08:25
dea1976

Release Notes for v0.22.0-rc1

⚠️ This is a release candidate and has not been tested yet in production and may be insecure.

Mandatory migration tasks

N/A

Optional migration tasks

  • db-manager's cleanup and migrate commands no longer override the application name parameter. To tag these connections, use the datastore_application_name flag, which is now honoured by these commands (defaults to dss).

Important information

  • The timeout configuration flag is now enforced consistently on all HTTP calls. This means that some slow calls that were previously successful will now be cancelled. Please review the value to be applied (the default is 10 seconds) and, if needed, update it to suit your needs.
  • --datastore_db_name (and the deprecated version, --cockroach_db_name) has been removed. It was not used except for tests and can be removed if you use it.
  • Datastore initialization has been normalized throughout the codebase, with the following changes:
    • Error messages of db-manager's cleanup command are now the same as the core-service command.
    • AUX database is regularly pinged (before that was only the case for the RID and SCD databases).

Minimal database schema version

Schema CockroachDB Yugabyte
AUX 1.1.0 1.1.0
RID 4.0.0 1.0.1
SCD 3.3.0 1.1.0

Validation

USS qualifier version: v0.28.0
Test configuration and report: See attachments

What's Changed

  • Cleanup next release notes following 0.21 release by @the-glu in #1396
  • [monitoring] Add telemetry in router by @the-glu in #1391
  • Fix documentation link to CockroachDB install by @the-glu in #1400
  • [auth] Remove token signatures in logs by @the-glu in #1398
  • Bump google.golang.org/grpc from 1.78.0 to 1.79.3 by @dependabot[bot] in #1399
  • Apply server timeout globally, remove hardcoded datastore timeout by @the-glu in #1397
  • [core-server] Cleanup getDBStats by @the-glu in #1406
  • [db-manager] Honor datastore_application_name flag instead of overriding it by @the-glu in #1407
  • [datastore]: Remove unused datastore_db_name by @the-glu in #1404
  • [store] Use a common interface for scd/rid/aux stores by @the-glu in #1405
  • [datastore] Use a generic datastore by @the-glu in #1408
  • [CI] Upgrade cosign; Wait 30s between signing and verifying signature by @mickmis in #1412
  • Bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by @dependabot[bot] in #1414
  • [datastore] Normalize datastore initialization across the codebase with a generic dial function by @the-glu in #1409
  • [datastore] Stop crons on ctx's cancels, cancel ctx when error occur during RunHTTPServer by @the-glu in #1410
  • [datastore] Remove cleanup functions by @the-glu in #1413
  • [datastore] Make CheckCurrentMajorSchemaVersion internal, move parameters to NewStore by @the-glu in #1415
  • [scd] Validate Volume4D when parsing by @RustedBones in #1380
  • Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 by @dependabot[bot] in #1421
  • [ci] Update 'actions/checkout''s version by @the-glu in #1417
  • Check authorization in SCD global lock by @the-glu in #1422
  • [scd] Factorize volume4D union from rest by @RustedBones in #1381
  • [datastore] Move flags and ConnectParameters to a dedicated package, merge datastoreutils into datastore by @the-glu in #1416
  • [deploy] Fix enable_scd parameter ignored by @the-glu in #1424
  • [deploy] Add enable_scd_global_lock setting to terrafrom, helm and tanka by @the-glu in #1423
  • Upgrade monitoring image to v0.28.0 by @the-glu in #1426

Full Changelog: interuss/dss/v0.21.1...interuss/dss/v0.22.0-rc1

v0.21.1

Choose a tag to compare

@barroco barroco released this 17 Mar 09:01
ce8b094

Release Notes for v0.21.1

Performance improvements

Mandatory migration tasks

None

Optional migration tasks

None

Important information

None

Minimal database schema version

Schema CockroachDB Yugabyte
AUX 1.1.0 1.1.0
RID 4.0.0 1.0.1
SCD 3.3.0 1.1.0

Validation

USS qualifier version: v0.26.0
Test configuration and report: See attachments

What's Changed

New Contributors

Full Changelog: interuss/dss/v0.21.0...interuss/dss/v0.21.1

v0.21.0

Choose a tag to compare

@barroco barroco released this 10 Mar 14:40
04ef8df

Release Notes for v0.21.0

First stable release supporting Yugabyte.

Mandatory migration tasks

  • Ensure RID schema has been migrated to version 4.0.0 since the datastore doesn't fallback anymore on the default database. If that not the case, please use the previous release and upgrade to schema 4.0.0 first.
  • The RID cronjob has been moved to an external command, see #1261
    • If you want to continue to cleanup old entries regularly, run the evict command as needed:
      • Running the following command each 30 minutes will be equivalent to the previous situation
      • db-manager evict --rid_isa=True --rid_sub=True --rid_ttl=30m --scd_oir=False --scd_sub=False
    • Helm charts, tanka files and terraform files has been updated with defaults that run RID cleanup as before and disable SCD cleanup
      • Please review new parameters in each module specific documentation and update them as needed.
  • The test certificate build/test-certs/auth2 public and private keys have been changed, see #1178. Please update your configuration if you used that public key.
  • A new aux store has been added, which implies a new migration job using schema-manager. If you ran migration jobs manually, make sure you run the migration for this new schema. Schemas are stored in the aux_ folder.
  • Upgrade terraform version to 12.2 if lower.
  • The terraform variable crdb_hostname_suffix has been renamed to db_hostname_suffix, please update your configuration accordingly.
  • The terraform variable crdb_locality has been renamed to locality and is now mandatory, please update your configuration accordingly.
  • public_endpoint parameter has been added as a mandatory argument. Please set it to the public endpoint of your DSS instance in order to register this instance as a participant in the pool information.
  • A immutable field has been changed in terraform / tanka
    • Please remove any *-schema-manager-* jobs before upgrading chart / applying tanka configuration.
    • The job is only used for migrations and can be removed.
  • Minimal support for kubernetes version have been bumped from 1.24 to 1.28.
    • If you're using a version <1.28, please upgrade your cluster first

Optional migration tasks

  • Datastores parameters have been renamed to be more vendor-agnostic. The old ones have been deprecated but will continue to work for the time being.
    • If you call the dss executable directly, you will need to update parameters as below.
    • If you use helm/tanka to deploy the DSS, parameters have been renamed internally, you don't have to do anything.
Old parameter name New parameter name Description
cockroach_application_name datastore_application_name application name for tagging the connection to the database
cockroach_db_name datastore_db_name database name to connect to
cockroach_host datastore_host database host to connect to
cockroach_port datastore_port database port to connect to
cockroach_ssl_mode datastore_ssl_mode database sslmode
cockroach_ssl_dir datastore_ssl_dir directory to ssl certificates. Must contain files: ca.crt, client..crt, client..key
cockroach_user datastore_user database user to authenticate as
max_open_conns datastore_max_open_conns maximum number of open connections to the database, default is 4
max_conn_idle_secs datastore_max_conn_idle_secs maximum amount of time in seconds a connection may be idle, default is 30 seconds
cockroach_max_retries datastore_max_retries maximum number of attempts to retry a query in case of contention, default is 100

Important information

  • Yugabyte support has been added to terraform, tanka and helm files.
  • The RID evict task is now deleting all expired entries instead of stopping after the first one, see #1253.
    • The initial run may take longer than expected when deleting entries that may have been accumulating.
  • Published images are now signed with sigstore, see how to verify it.
  • Deployment documentation has been moved to a new website instead of various README in the repository tree.
  • Prometheus (deployed if using tanka) has been upgraded to version 3. If you customized / used Prometheus outside of provided configuration, please follow upgrade guide.

Minimal database schema version

Schema CockroachDB Yugabyte
AUX 1.1.0 1.1.0
RID 4.0.0 1.0.1
SCD 3.3.0 1.1.0

Validation

USS qualifier version: v0.26.0
Test configuration and report: See attachments

What's Changed

  • Upgrade go version to 1.24; Upgrade golint-ci to 2.1.5; Fix linting issues; Generate new dummy keys for DummyOAuth by @mickmis in #1178
  • Bump golang.org/x/crypto from 0.32.0 to 0.35.0 by @dependabot[bot] in #1173
  • Bump golang.org/x/net from 0.33.0 to 0.38.0 by @dependabot[bot] in #1183
  • [docs] Add DSS pool verification docs by @BenjaminPelletier in #1180
  • [helm] Add basic support for yugabyte to helm charts by @the-glu in #1159
  • [terraform-commons-dss] Better defaults for terraform-google-dss by @the-glu in #1187
  • [yugabyte] certificates management by @the-glu in #1186
  • [helm] Add TLS support on yugabyte by @the-glu in #1182
  • [ci] extract unit & integration test coverage report by @Shastick in #1185
  • [aux] Add CAs endpoint by @the-glu in #1194
  • [ci] publish coverage data as an artifact for all master builds by @Shastick in #1193
  • Yugabyte: Working GCP implementation by @the-glu in #1190
  • [yugabyte] remove useless variable file by @the-glu in #1200
  • [yugabyte] Working AWS implementation by @the-glu in #1191
  • [yugabyte] Partially improve documentation by @the-glu in #1201
  • [aux] Add DAR ID on yugabyte deployments by @the-glu in #1195
  • [cmd] Add public endpoint flag by @the-glu in #1197
  • [terraform] Fix cockroachdb condition by @the-glu in #1204
  • [aux] Add store and basic pool instance informations by @the-glu in #1198
  • [helm] Fix error with aux_ migration script by @the-glu in #1208
  • [terraform] Rename crdb_hostname_suffix to db_hostname_suffix by @the-glu in #1203
  • [terraform] Update example files for yugabyte by @the-glu in #1205
  • Update Deprecated Terraform resources and set TF provider versions by @ZachHubbs in #1209
  • [helm] Improve public endpoint setting with backward compatiblity by @the-glu in #1211
  • [dss] sort cell ids in queries by @Shastick in #1112
  • [tests] update monitoring image to latest release 0.16.0 by @Shastick in #1223
  • [deploy] Move locality to a common variable and make it mandatory by @the-glu in #1212
  • [tanka] Improve tanka configuration file to work with minikube by @the-glu in #1216
  • [tanka] Add aux migrations by @the-glu in #1217
  • [tanka] Make job uniques + add way for cleanup by @the-glu in #1218
  • [tanka] Add public_endpoint argument by @the-glu in #1219
  • [yugabyte] New pooling documentation by @the-glu in #1207
  • [tanka] Add parameters to always enable schema manager by @the-glu in #1221
  • [aux] Add heartbeat functionnality by @the-glu in #1213
  • [tanka] Yugabyte, preparation by @the-glu in #1222
  • [tanka] Yugabyte: base service and migrations...
Read more

v0.21.0-rc2

v0.21.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@barroco barroco released this 12 Jan 19:20
65437e5

Release Notes for v0.21.0-rc2

⚠️ This is a release candidate and has not been tested yet in production and may be insecure.

Mandatory migration tasks

  • Ensure RID schema has been migrated to version 4.0.0 since the datastore doesn't fallback anymore on the default database. If that not the case, please use the previous release and upgrade to schema 4.0.0 first.
  • The RID cronjob has been moved to an external command, see #1261
    • If you want to continue to cleanup old entries regularly, run the evict command as needed:
      • Running the following command each 30 minutes will be equivalent to the previous situation
      • db-manager evict --rid_isa=True --rid_sub=True --rid_ttl=30m --scd_oir=False --scd_sub=False
    • Helm charts, tanka files and terraform files has been updated with defaults that run RID cleanup as before and disable SCD cleanup
      • Please review new parameters in each module specific documentation and update them as needed.
  • The test certificate build/test-certs/auth2 public and private keys have been changed, see #1178. Please update your configuration if you used that public key.
  • A new aux store has been added, which implies a new migration job using schema-manager. If you ran migration jobs manually, make sure you run the migration for this new schema. Schemas are stored in the aux_ folder.
  • Upgrade terraform version to 12.2 if lower.
  • The terraform variable crdb_hostname_suffix has been renamed to db_hostname_suffix, please update your configuration accordingly.
  • The terraform variable crdb_locality has been renamed to locality and is now mandatory, please update your configuration accordingly.
  • public_endpoint parameter has been added as a mandatory argument. Please set it to the public endpoint of your DSS instance in order to register this instance as a participant in the pool information.
  • A immutable field has been changed in terraform / tanka
    • Please remove any *-schema-manager-* jobs before upgrading chart / applying tanka configuration.
    • The job is only used for migrations and can be removed.

Optional migration tasks

  • Datastores parameters have been renamed to be more vendor-agnostic. The old ones have been deprecated but will continue to work for the time being.
    • If you call the dss executable directly, you will need to update parameters as below.
    • If you use helm/tanka to deploy the DSS, parameters have been renamed internally, you don't have to do anything.
Old parameter name New parameter name Description
cockroach_application_name datastore_application_name application name for tagging the connection to the database
cockroach_db_name datastore_db_name database name to connect to
cockroach_host datastore_host database host to connect to
cockroach_port datastore_port database port to connect to
cockroach_ssl_mode datastore_ssl_mode database sslmode
cockroach_ssl_dir datastore_ssl_dir directory to ssl certificates. Must contain files: ca.crt, client..crt, client..key
cockroach_user datastore_user database user to authenticate as
max_open_conns datastore_max_open_conns maximum number of open connections to the database, default is 4
max_conn_idle_secs datastore_max_conn_idle_secs maximum amount of time in seconds a connection may be idle, default is 30 seconds
cockroach_max_retries datastore_max_retries maximum number of attempts to retry a query in case of contention, default is 100

Important information

  • Yugabyte support has been added to terraform, tanka and helm files.
  • The RID evict task is now deleting all expired entries instead of stopping after the first one, see #1253.
    • The initial run may take longer than expected when deleting entries that may have been accumulating.
  • Published images are now signed with sigstore, see how to verify it.
  • Deployment documentation has been moved to a new website instead of various README in the repository tree.

Additions since v0.21.0-rc1

  • Prometheus (deployed if using tanka) has been upgraded to version 3. If you customized / used Prometheus outside of provided configuration, please follow upgrade guide.

Minimal database schema version

Schema CockroachDB Yugabyte
AUX 1.0.0 1.0.0
RID 4.0.0 1.0.1
SCD 3.2.0 1.0.1

Validation

USS qualifier version: v0.25.0
Test configuration and report: see attachments

What's Changed

  • Upgrade go version to 1.24; Upgrade golint-ci to 2.1.5; Fix linting issues; Generate new dummy keys for DummyOAuth by @mickmis in #1178
  • Bump golang.org/x/crypto from 0.32.0 to 0.35.0 by @dependabot[bot] in #1173
  • Bump golang.org/x/net from 0.33.0 to 0.38.0 by @dependabot[bot] in #1183
  • [docs] Add DSS pool verification docs by @BenjaminPelletier in #1180
  • [helm] Add basic support for yugabyte to helm charts by @the-glu in #1159
  • [terraform-commons-dss] Better defaults for terraform-google-dss by @the-glu in #1187
  • [yugabyte] certificates management by @the-glu in #1186
  • [helm] Add TLS support on yugabyte by @the-glu in #1182
  • [ci] extract unit & integration test coverage report by @Shastick in #1185
  • [aux] Add CAs endpoint by @the-glu in #1194
  • [ci] publish coverage data as an artifact for all master builds by @Shastick in #1193
  • Yugabyte: Working GCP implementation by @the-glu in #1190
  • [yugabyte] remove useless variable file by @the-glu in #1200
  • [yugabyte] Working AWS implementation by @the-glu in #1191
  • [yugabyte] Partially improve documentation by @the-glu in #1201
  • [aux] Add DAR ID on yugabyte deployments by @the-glu in #1195
  • [cmd] Add public endpoint flag by @the-glu in #1197
  • [terraform] Fix cockroachdb condition by @the-glu in #1204
  • [aux] Add store and basic pool instance informations by @the-glu in #1198
  • [helm] Fix error with aux_ migration script by @the-glu in #1208
  • [terraform] Rename crdb_hostname_suffix to db_hostname_suffix by @the-glu in #1203
  • [terraform] Update example files for yugabyte by @the-glu in #1205
  • Update Deprecated Terraform resources and set TF provider versions by @ZachHubbs in #1209
  • [helm] Improve public endpoint setting with backward compatiblity by @the-glu in #1211
  • [dss] sort cell ids in queries by @Shastick in #1112
  • [tests] update monitoring image to latest release 0.16.0 by @Shastick in #1223
  • [deploy] Move locality to a common variable and make it mandatory by @the-glu in #1212
  • [tanka] Improve tanka configuration file to work with minikube by @the-glu in #1216
  • [tanka] Add aux migrations by @the-glu in #1217
  • [tanka] Make job uniques + add way for cleanup by @the-glu in #1218
  • [tanka] Add public_endpoint argument by @the-glu in #1219
  • [yugabyte] New pooling documentation by @the-glu in #1207
  • [tanka] Add parameters to always enable schema manager by @the-glu in #1221
  • [aux] Add heartbeat functionnality by @the-glu in #1213
  • [tanka] Yugabyte, preparation by @the-glu in #1222
  • [tanka] Yugabyte: base service and migrati...
Read more

v0.20.2

Choose a tag to compare

@barroco barroco released this 18 Dec 10:37

Release Notes for v0.20.2

What's Changed

  • [rid] Fix garbage collector by deleting multiples entries at a time by @the-glu in #1253
  • Lock potentially used subscriptions by @the-glu in #1318

Full Changelog: interuss/dss/v0.20.1...interuss/dss/v0.20.2

Important information

  • The RID evict task is now deleting all expired entries instead of stopping after the first one, see #1253.
    • The initial run may take longer than expected when deleting entries that may have been accumulating.

Minimal database schema version

Schema CockroachDB Yugabyte
RID 4.0.0 1.0.1
SCD 3.2.0 1.0.1
AUX N/A N/A

Validation

USS qualifier version: v0.24.0
Test configuration and report: see attachment

v0.21.0-rc1

v0.21.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@barroco barroco released this 17 Oct 09:37
e2d054e

Release Notes for v0.21.0-rc1

⚠️ This is a release candidate and has not been tested yet in production and may be insecure.

Mandatory migration tasks

  • Ensure RID schema has been migrated to version 4.0.0 since the datastore doesn't fallback anymore on the default database. If that not the case, please use the previous release and upgrade to schema 4.0.0 first.
  • The RID cronjob has been moved to an external command, see #1261
    • If you want to continue to cleanup old entries regularly, run the evict command as needed:
      • Running the following command each 30 minutes will be equivalent to the previous situation
      • db-manager evict --rid_isa=True --rid_sub=True --rid_ttl=30m --scd_oir=False --scd_sub=False
    • Helm charts, tanka files and terraform files has been updated with defaults that run RID cleanup as before and disable SCD cleanup
      • Please review new parameters in each module specific documentation and update them as needed.
  • The test certificate build/test-certs/auth2 public and private keys have been changed, see #1178. Please update your configuration if you used that public key.
  • A new aux store has been added, which implies a new migration job using schema-manager. If you ran migration jobs manually, make sure you run the migration for this new schema. Schemas are stored in the aux_ folder.
  • Upgrade terraform version to 12.2 if lower.
  • The terraform variable crdb_hostname_suffix has been renamed to db_hostname_suffix, please update your configuration accordingly.
  • The terraform variable crdb_locality has been renamed to locality and is now mandatory, please update your configuration accordingly.
  • public_endpoint parameter has been added as a mandatory argument. Please set it to the public endpoint of your DSS instance in order to register this instance as a participant in the pool information.
  • A immutable field has been changed in terraform / tanka
    • Please remove any *-schema-manager-* jobs before upgrading chart / applying tanka configuration.
    • The job is only used for migrations and can be removed.

Optional migration tasks

  • Datastores parameters have been renamed to be more vendor-agnostic. The old ones have been deprecated but will continue to work for the time being.
    • If you call the dss executable directly, you will need to update parameters as below.
    • If you use helm/tanka to deploy the DSS, parameters have been renamed internally, you don't have to do anything.
Old parameter name New parameter name Description
cockroach_application_name datastore_application_name application name for tagging the connection to the database
cockroach_db_name datastore_db_name database name to connect to
cockroach_host datastore_host database host to connect to
cockroach_port datastore_port database port to connect to
cockroach_ssl_mode datastore_ssl_mode database sslmode
cockroach_ssl_dir datastore_ssl_dir directory to ssl certificates. Must contain files: ca.crt, client..crt, client..key
cockroach_user datastore_user database user to authenticate as
max_open_conns datastore_max_open_conns maximum number of open connections to the database, default is 4
max_conn_idle_secs datastore_max_conn_idle_secs maximum amount of time in seconds a connection may be idle, default is 30 seconds
cockroach_max_retries datastore_max_retries maximum number of attempts to retry a query in case of contention, default is 100

Important information

  • Yugabyte support has been added to terraform, tanka and helm files.
  • The RID evict task is now deleting all expired entries instead of stopping after the first one, see #1253.
    • The initial run may take longer than expected when deleting entries that may have been accumulating.
  • Published images are now signed with sigstore, see how to verify it.
  • Deployment documentation has been moved to a new website instead of various README in the repository tree.

Minimal database schema version

Schema CockroachDB Yugabyte
AUX 1.0.0 1.0.0
RID 4.0.0 1.0.1
SCD 3.2.0 1.0.1

Validation

USS qualifier version: v0.21.0
Test configuration and report: see attachments

What's Changed

  • Upgrade go version to 1.24; Upgrade golint-ci to 2.1.5; Fix linting issues; Generate new dummy keys for DummyOAuth by @mickmis in #1178
  • Bump golang.org/x/crypto from 0.32.0 to 0.35.0 by @dependabot[bot] in #1173
  • Bump golang.org/x/net from 0.33.0 to 0.38.0 by @dependabot[bot] in #1183
  • [docs] Add DSS pool verification docs by @BenjaminPelletier in #1180
  • [helm] Add basic support for yugabyte to helm charts by @the-glu in #1159
  • [terraform-commons-dss] Better defaults for terraform-google-dss by @the-glu in #1187
  • [yugabyte] certificates management by @the-glu in #1186
  • [helm] Add TLS support on yugabyte by @the-glu in #1182
  • [ci] extract unit & integration test coverage report by @Shastick in #1185
  • [aux] Add CAs endpoint by @the-glu in #1194
  • [ci] publish coverage data as an artifact for all master builds by @Shastick in #1193
  • Yugabyte: Working GCP implementation by @the-glu in #1190
  • [yugabyte] remove useless variable file by @the-glu in #1200
  • [yugabyte] Working AWS implementation by @the-glu in #1191
  • [yugabyte] Partially improve documentation by @the-glu in #1201
  • [aux] Add DAR ID on yugabyte deployments by @the-glu in #1195
  • [cmd] Add public endpoint flag by @the-glu in #1197
  • [terraform] Fix cockroachdb condition by @the-glu in #1204
  • [aux] Add store and basic pool instance informations by @the-glu in #1198
  • [helm] Fix error with aux_ migration script by @the-glu in #1208
  • [terraform] Rename crdb_hostname_suffix to db_hostname_suffix by @the-glu in #1203
  • [terraform] Update example files for yugabyte by @the-glu in #1205
  • Update Deprecated Terraform resources and set TF provider versions by @ZachHubbs in #1209
  • [helm] Improve public endpoint setting with backward compatiblity by @the-glu in #1211
  • [dss] sort cell ids in queries by @Shastick in #1112
  • [tests] update monitoring image to latest release 0.16.0 by @Shastick in #1223
  • [deploy] Move locality to a common variable and make it mandatory by @the-glu in #1212
  • [tanka] Improve tanka configuration file to work with minikube by @the-glu in #1216
  • [tanka] Add aux migrations by @the-glu in #1217
  • [tanka] Make job uniques + add way for cleanup by @the-glu in #1218
  • [tanka] Add public_endpoint argument by @the-glu in #1219
  • [yugabyte] New pooling documentation by @the-glu in #1207
  • [tanka] Add parameters to always enable schema manager by @the-glu in #1221
  • [aux] Add heartbeat functionnality by @the-glu in #1213
  • [tanka] Yugabyte, preparation by @the-glu in #1222
  • [tanka] Yugabyte: base service and migrations by @the-glu in #1224
  • [tanka] Yugabyte: add options to prepare for terraform output by @the-glu in #1227
  • [tanka/terraform] Update terraform state to support latest tanka files, including yugabyte by @the-glu in #1228
  • [tanka/...
Read more

v0.20.1

Choose a tag to compare

@barroco barroco released this 22 Aug 21:17

What's Changed

Deployment

  • Update Deprecated Terraform resources and set TF provider versions by @ZachHubbs in #1209

New Contributors

Full Changelog: interuss/dss/v0.20.0...interuss/dss/v0.20.1

Required database schema versions

Schema CockroachDB Yugabyte
RID 4.0.0 1.0.1
SCD 3.2.0 1.0.1
AUX N/A N/A

Validation

  • USS qualifier version: v0.18.0
  • Test configuration and report: see attachment

Known issues and remarks

  • DSS v0.20.1 doesn't support OVN Request, therefore it is expected that two tests have been skipped: Skipped: OVN Request Optional Extension to ASTM F3548-21 (Edit: 29-08-2025) Skip was related to a USS qualifier misconfiguration. New test results have been attached. (v0.20.1-test-results-2.zip)