Streamline role-based access control, enforce security policies, and ensure compliance for your Snowflake data warehouse

At a Glance:

Titan Core is an open-source infrastructure-as-code tool for Snowflake that lets you provision and manage account, database, and schema resources declaratively using YAML or Python without a state file.

Overview:

Titan Core helps DevOps and data platform engineers provision, deploy, and secure resources in Snowflake through declarative configuration. It replaces the need for multiple tools like Terraform, Schemachange, or Permifrost by supporting users, roles, databases, schemas, warehouses, integrations, pipes, stages, and more from a single tool. Configuration can be written in YAML or Python. Titan Core automatically switches roles as needed for each change, avoiding the complex multi-provider setups required by Terraform. It runs significantly faster than Terraform and Permifrost and can export existing Snowflake resources to generate configuration files for migrations.

Key Decision Points:

  • No state file: Titan Core compares your configuration directly against the live Snowflake account, eliminating drift and stale-state issues associated with tools like Terraform.

  • Dynamic role switching: The tool automatically detects and uses the correct role for each resource change, avoiding the single-role-per-provider limitation of Terraform’s Snowflake provider and reducing reliance on ACCOUNTADMIN.

  • Python or YAML config: Resource definitions can be written using either Python code or YAML files, giving teams flexibility in how they define infrastructure.

  • Resource coverage: Nearly every Snowflake resource type is supported, including account parameters, integrations, security objects, databases, schemas, stages, pipes, tasks, and Python UDFs.

  • Migration-friendly CLI: A built-in export command can generate configuration from existing Snowflake resources to simplify adoption.

Core Features:

  • Declarative resource management: Define the desired state of Snowflake resources, and Titan Core generates the appropriate SQL to match the live account to your configuration.

  • CLI-based export: Automatically generate YAML or Python configuration from resources already deployed in Snowflake.

  • Broad resource support: Manage account-level objects (users, roles, warehouses, integrations), database-level objects (schemas, database roles), and schema-level objects (tables, views, stages, pipes, tasks, UDFs, secrets, and more).

  • Python-based definitions: Write resource configurations directly in Python, enabling dynamic logic, loops, and reusability within definitions.

  • Speed-optimized execution: Plans and applies changes 50–90% faster than Terraform and Permifrost, even in complex environments.

Use Cases:

  • DevOps engineers managing Snowflake infrastructure who want to replace Terraform for Snowflake-specific resources.

  • Data platform teams needing to integrate Snowflake resource provisioning into CI/CD pipelines with a git-based workflow.

  • Analytics engineers using dbt who want to manage Snowflake objects without relying on macros.

  • Teams migrating from imperative tools like Schemachange or Permifrost to a declarative configuration model.

Open-Source Alternative Value:

Titan Core is a direct open-source alternative to Terraform, Schemachange, Permifrost, and SnowDDL for managing Snowflake resources. As an Apache 2.0-licensed tool, its source code is fully available for inspection and customization. Unlike Terraform, it avoids state-file dependencies and the role-per-provider constraint; unlike Permifrost, it manages the full breadth of Snowflake objects rather than only access controls; and unlike Schemachange, it uses a declarative model instead of imperative SQL migration scripts. The built-in export command also lowers the barrier to migrating from other tools.

ShareXLinkedInReddit

Related tools

Project stats

Stars

484

Forks

40

License

Apache-2.0

Metadata

Alternative to
Snowflake