Skip to content

Building Blocks

Below is a list of building blocks currently available to projects and developers within the CLOE toolbox. Each block is designed to streamline development, enhance functionality, and provide robust solutions to common challenges.

Architecture Overview

Our toolbox follows a three-tier architecture designed for maximum reusability and maintainability:

graph TD
    subgraph "Type 3: Project-Specific"
        A[Data Masking Tools]
        B[Access Control]
        C[Custom Validators]
    end

    subgraph "Type 2: Intermediary"
        D[Database Crawlers]
        E[API Clients]
        F[Data Processors]
    end

    subgraph "Type 1: Foundational"
        G[Database Connectors]
        H[Git Clients]
        I[Authentication]
    end

    A --> D
    B --> D
    C --> E
    D --> G
    D --> H
    E --> G
    E --> I
    F --> G

Building Block Types

The following blocks are available (More info here):

  • Type 1: Foundational Building Blocks - Core infrastructure components used by other packages
  • Type 2: Intermediary Building Blocks - Versatile components for both projects and other packages
  • Type 3: Project-Specific Building Blocks - Specialized solutions for specific project challenges

Type 3

  • DBT Project Template


    Kickstarts and sets up a new dbt environment with devcontainer and VSCode extensions.

    Docs

    DevOps Repository

    Tags: dbt, build tools, sql

  • Azure Data Factory Auto Config


    Automatically configures Azure Data Factory using metadata.

    Docs

    DevOps Repository

    Tags: adf, azure data factory, etl, elt, metadata-driven

  • Snowflake Policy Creator


    Creates Snowflake policies like data masking using metadata.

    Docs

    DevOps Repository

    Tags: policies, snowflake

  • Nessy


    Builds a lakehouse in Databricks.

    Docs

    DevOps Repository

    Tags: spark, Databricks, Fabric

  • Python Package Template


    Quickly sets up a Python environment with devcontainers and pre-commit hooks.

    Docs

    DevOps Repository

    Tags: python, template, package

  • Snowflake Clone Creator


    Easily and automatically creates customizable Snowflake database clones for feature-driven development.

    Docs

    DevOps Repository

    Tags: clone, cicd, ci/cd, snowflake

  • Snowflake RBAC Tool


    Automates the lifecycle of role-based access control in Snowflake.

    Docs

    DevOps Repository

    Tags: snowflake, security, rbac, metadata-driven

  • SQL Composer


    Simplifies the creation of SQL for Spark or Snowflake using a simplified metadata format.

    Docs

    DevOps Repository

    Tags: transform, metadata-driven, simplified

  • SQL Transformations


    Provides various transformations using the standard metadata format, including automatic lookups and complex table mappings.

    Docs

    DevOps Repository

    Tags: transform, metadata-driven, sql

  • CLOE GUI


    A GUI with many features to simplify and automate writing and reading of metadata.

    Docs

    DevOps Repository

    Tags: GUI, metadata, api, utility

  • Snowflake Firewall Updater


    A tool that automatically updates the Snowflake firewall with the IPs from the Azure Service Tags.

    Docs

    DevOps Repository

    Tags: snowflake, network, terraform, utility, data-platform

  • Synthetic Data Generator


    A tool that automatically generates synthetic data.

    Docs

    DevOps Repository

    Tags: data generation, synthetic, test, utility, databricks

Type 2

  • ADF Job Template


    Provides Azure Data Factory pipeline templates for data extraction and transfer, deployable with Terraform.

    Docs

    DevOps Repository

    Tags: adf, template, templates

  • Logging


    Provides a standardized logging interface for Python projects.

    Docs

    DevOps Repository

    Tags: python, logging, utility

  • DDL Generator


    Generates DDLs for creating tables and procedures in Snowflake from metadata.

    Docs

    DevOps Repository

    Tags: ddl, metadata to code, code, sql

  • Snowflake Crawler


    Crawls a Snowflake instance and saves the information in the common metadata format.

    Docs

    DevOps Repository

    Tags: snowflake, crawler, utility

  • SAP Crawler


    Scans a SAP system and saves the information in the common metadata format.

    Docs

    DevOps Repository

    Tags: crawler, sap, utility

Type 1

  • API


    Adds functionality to the GUI, like auto mapping between columns for use in the GUI.

    Docs

    DevOps Repository

    Tags: GUI, UI

  • Metadata Definition


    Holds definitions for the metadata format in Pydantic classes for secure metadata handling.

    Docs

    DevOps Repository

    Tags: metadata, objects

  • Git Client Tool


    Offers basic Git features like retrieving files from a specific commit or tag.

    Docs

    DevOps Repository

    Tags: git, utility

  • Snowflake Connector


    Provides a standardized interface to connect with Snowflake, including CI/CD scenarios and various authentication methods.

    Docs

    DevOps Repository

    Tags: snowflake, connector, utility

Legacy Tools

  • Airflow Components


    Adds additional functionality to Airflow. Like new tasks

    Docs

    DevOps Repository

    Tags: Tag1, Tag2

  • Airflow Metadata Configurator


    Tool to create DAG from metadata in Snowflake. Needs the airflow components.

    Docs

    DevOps Repository

    Tags: Tag1, Tag2

  • MSSQL Crawler


    Tool to crawl MSSQL instances and save information into metadata.

    Docs

    DevOps Repository

    Tags: Tag1, Tag2

  • MSSQL Connector


    Provides a standardized interface to connect with MSSQL, including CI/CD scenarios and various authentication methods.

    Docs

    DevOps Repository

    Tags: Tag1, Tag2

  • SQL Orchestrator


    Metadata-driven standalone SQL Orchestrator for executing stored procedures on a SQL server.

    Docs

    DevOps Repository

    Tags: Tag1, Tag2

  • Information Schema Converter


    Converts a information Schema CSV export to metadata.

    Docs

    DevOps Repository

    Tags: Tag1, Tag2