Skip to content

v0.10.0

Compare
Choose a tag to compare
@teej teej released this 29 Oct 19:26
· 28 commits to main since this release
a7851d1

What's Changed

Breaking changes

  • None

New Features

  • Added --allowlist to CLI commands
  • Added experimental new feature for_each. YAML-defined resources can now be generated dynamically with for_each.
-- titan.yml
vars:
  - name: schemas
    type: list
    default:
      - schema1
      - schema2

roles:
  - for_each: var.schemas
    name: "AR_{{ each.value }}_ROLE"
titan plan --config titan.yml --vars '{"schemas": ["DEV", "PROD"]}'
  • Added experimental new feature scope. This allows you to limit a config to a single database or single schema. Some details of this feature may be changed in the future.

One way to use this is to apply a single config to multiple schemas. For example:

-- titan.yml
scope: SCHEMA
database: STATIC_DATABASE
tables:
  - name: my_table
    columns:
      - name: my_column
        data_type: string
views:
  - name: my_view
    as_: SELECT * FROM my_table
    requires:
      - name: my_table
        resource_type: TABLE
titan apply --config titan.yml --schema=DEV_TJ
titan apply --config titan.yml --schema=PROD

Resources

  • Added a new resource type: AccountParameter
  • Add export support for Future Grants (#118)

Bugfixes

  • Fixed an issue where vars could not be used to name a database (#124)
  • Fixed an issue where apply CLI would fail if using a pre-defined plan
  • Fixed an issue where Network Grants could not be synced or exported

Performance Improvements

  • Use internal Snowflake API for account type detection instead of the slow SHOW TAGS command (#95)
  • Dynamic role selection no longer requires running SHOW GRANTS for every role in session (#122)

New Contributors

Thanks to @dwreeves for contributing comprehensive type checking and @toadies, @nialloriordan, @michael-lemiale, @dsmdavid, @aleenprd, @pikachuev for bug reports!

Special thanks to @littleK0i for helping out with Snowflake system commands.

Full Changelog: v0.9.1...v0.10.0