πŸ“„Creating a New Project

A Euno project serves as an exclusive repository for aggregating data products linked to a specific account or data domain. Essentially, a project embodies a dynamic and continuously evolving compilation of text files, collectively sculpting and elucidating the extensive data model it signifies. Notably, a Euno project maintains a one-to-one correspondence with a dbt project. This segment will walk you through the nuances of overseeing and advancing projects, providing valuable insights into the smooth integration of data across various accounts and domains.

Connecting to a Github Repository

When initiating a new project through the "Create a new dbt project" button on the homepage, a dialog box will appear, prompting you to provide the following details:

  • Project name

  • Repository

  • Branch

To include a directory path for the dbt project, you can access this option by clicking on the "Advanced" setting.

Upon successful configuration, the user will be directed to the project's home page. If any issues arise, an error message will be shown in the dialogue box in red text.

Selecting a Job

For Euno to support automated code generation, data model visualization, and the data app sync, it requires specific artifacts from the dbt build: catalog.json, manifest.json, and run_results.json. Additionally, the following information is required from a job responsible for building the "entire" data model, or the portion considered as such by your organization. Since not every job serves the same function, it is essential to choose the job you want Euno to process.

The selected job must meet the following three criteria:

  1. It must be a build, not just a compile.

  2. The option "Generate docs on run" must be selected.

  3. The job should be set to build the "entire" data model or the specific part of the data model your organization wants to view in Euno.

If you do not have an existing job that meets the above criteria and you are concerned about the build cost, create a lightweight job with the following criteria:

  1. dbt compile

  2. The option 'Generate docs on run' must be selected.

  3. The job should be set to build the 'entire' data model or the specific part of the data model your organization wants to view in Euno.

Please note that while it's possible to use a lightweight job, it's not recommended. Since the job doesn't build the data model, it can't guarantee 100% accuracy. Therefore, if a lightweight job is created, it should be scheduled to execute regularly to ensure it reflects your warehouse transformations.

To configure the specific job for the project, click the "Select job" button under the "Deploy job link" heading on the project configuration page. This will open a dialogue box with a dropdown menu where a dbt job can be selected (see image below).

Connecting a New Branch

Connecting a new branch into a Euno project is a pivotal step in the evolution and collaboration of software development. This process not only extends the scope of the project but also introduces a new dimension of version control and collaboration. To connect a new branch, click the β€œConnect branch” button found in the top right corner of the project's Configuration tab, which will open a dialogue box to select a new branch to connect to.

Project Home Screen

The Project Home screen is the landing page for the project. This includes two tabs; the "Overview" tab, and the "Configuration" tab.

Overview Tab

The Overview tab includes overview information about the project itself, including: the number of sources and models in the project, the connected branches, their health, and the health of the project.

Health

In the intricate landscape of data management, the concept of "health" transcends mere binary success or failure. In Euno, we introduce a nuanced understanding of health to provide users with comprehensive insights into the status and viability of their data builds and projects.

Build Health

In Euno, the health of a build refers to its current status and whether it has successfully progressed through the various stages of processing. Each build undergoes a lifecycle that includes uploading, processing, and being marked as processed. The health of a build is crucial for users who wish to explore the associated resources. Below are the different states of a build and their corresponding descriptions:

State

Description

Health

Uploading

Upload process ongoing, artifacts may take time

Pending

Upload incomplete

Upload process terminated before artifacts finished

Failed

Pending processing

Upload complete, waiting for a worker to process

Pending

Processing

A worker is processing the build

Pending

Processed

Build has been successfully processed

Success

Processed Failed

The build failed to process

Failed

The resulting build health helps users understand the current state of their builds, allowing for informed decision-making during exploration.

Project Health

Euno also provides insights into the overall health of projects, considering the health of both the main and side branches. The health of a project depends on the least healthy, active, side branch and the status of the main branch. Here are the different states and their implications for project health:

Health of Main Branch

Health of Least Healthy Active Branch

Project Health

Pending initial build

*

Pending initial build

Pending initial build

Healthy or Lagging

Healthy

Pending initial build, Healthy, or Lagging

Problem, or Error

Problem

Problem

*

Problem

problem

Error

Error

Understanding the project health helps users assess the overall stability of their projects, taking into account the health of both the main and side branches.

Configuration Tab

The project configuration tab serves four primary functions in project management:

  1. Administration of connected branches

  2. Oversight of builds

  3. Setting up data application synchronization

  4. Configuring jobs for processing dbt builds

The builds section of this tab includes a list of builds, sorted chronologically by build time and date. This table includes the status of the build, and the data sync, if configured. Users can click on the status in order to view the details.

Last updated