Igluctl 0.7.0 released

We’re excited to announce the version 0.7.0 of igluctl, bringing several helpers for upcoming Redshift automigrations.

Redshift Automigrations

RDB Loader R32 will be able to create tables automatically as well as apply migrations once data with new version was tracked. In other words igluctl static generate command would be abandoned soon and users won’t have to apply their DDLs manually.

In order to make automigrations possible, users need to make sure that their tables are in Iglu-compatible format (more precistly - column order). igluctl 0.7.0 introduces new igluctl rdbms table-check command, allowing to perform this check.

It supports two interfaces:

  • igluctl rdbms table-check --server <uri> to check all tables
  • igluctl rdbms table-check --resolver <path> --schema <schemaKey> to check particular table

Both versions also accept CLI options to specify connection options for Redshift (Postgres-compatible environment variables can be used instead).

You can find more details in igluctl rdbms table-check --help

We will publish detailed migration guide along with RDB Loader R32 release post soon.

Unlike rdbms table-check command, which is pretty much mandatory for R32 migration, there’s also new rdbms table-migrate which is optional and allows to get rid of incompatible table as opposed to just “blacklisting” them (more on terminology in R32 blog post).

rdbms table-migrate will provide you with DML/DDL statements steps to migrate legacy tables into a new format.

Other changes

Apart from R32 upgrade helpers we also implemented two new commands to work with Iglu Servers:

  • static pull - download all schemas from Iglu Server to a local directory, opposite of static push
  • server keygen - generate read and write API keys on Iglu Server

Both commands were tested only with Iglu Server 0.6.0, which is a preferable version to use.

Last, but not least, igluctl now has its own GitHub repository and won’t be shipped with umbrella iglu releases anymore.

Known issues

  • Due a new internal JSON validator, lint command does not warn about unrecognized JSON Schema keywords #53
  • lint does not warn about invalid $schema keyword #5 (which is especially important for RDB Loader R31+)
1 Like