Skip to main content

Impact analysis reference

.env settings​

SettingDefaultMeaning
PROJECTS_DIRrequiredFolder of Hop projects, or one project. Read-only
GRAFANA_ADMIN_PASSWORDrequiredPassword of Grafana's admin
GRAPH_DB_PASSWORDrequiredPassword of the graph database's owner, which the sync job writes with
GRAPH_DB_READER_PASSWORDrequiredPassword of Grafana's read-only login
COMPOSE_PROFILESgraph-dbRemove to use your own PostgreSQL
GRAPH_DB_HOST, GRAPH_DB_PORT, GRAPH_DB_NAMEgraph-db, 5432, project_graphThe graph database
GRAPH_DB_USER, GRAPH_DB_READERgraph, graph_readerIts owner and Grafana's login
GRAPH_DB_SSLMODEdisablerequire for a remote database
GRAPH_DB_PUBLISHED_PORT5434Host port of the bundled database, on localhost
PUTKI_TOOLS_IMAGEforge.putki.io/putki/putki-tools:<version>The image the sync job runs. The default is the one this release was tested with
PROJECT_GRAPH_SYNC_SECONDS300How often the projects are read again. 0: once
PROJECT_NAMEprojectThe project's name when PROJECTS_DIR is one project
PUTKI_CUSTOMERlocalPart of each graph's name
GRAFANA_PORT, GRAFANA_BIND_ADDR3002, 127.0.0.1Where Grafana listens
GRAFANA_ROOT_URL, GRAFANA_COOKIE_SECUREAs for the monitoring Grafana

Single sign-on uses the same GRAFANA_GOOGLE_*, GRAFANA_ENTRA_*, GRAFANA_OIDC_* and GRAFANA_SSO_* settings as the monitoring bundle: see its reference.

The graph​

One graph per project, named project_<customer>_<project>.

NodeKey
ProjectnameThe project's folder
Pipeline, Workflowpath in the projecthash is empty for a file that is called but not there
Transform, Action<path>#<name>type is the plugin id
Connectionnamedatabase_type; file is empty when no metadata defines it
Metadata<kind>/<name>Other metadata a component names
Table<connection>/<schema>.<table>
Filepath or pattern as written
Variablename
LinkFrom → to
CONTAINSPipeline → Transform, Workflow → Action
HOPTransform → Transform, Action → Action
CALLSAction or Transform → Pipeline or Workflow
USES_CONNECTION, USES_METADATATransform or Action → Connection, Metadata
READS, WRITESTransform or Action → Table (via: sql when found in SQL)
READS_FILE, WRITES_FILETransform or Action → File
USES_VARIABLE, SETS_VARIABLETransform or Action → Variable

Every link records the file it was read from (source_file).

Dashboard​

Putki impact analysis (putki-impact). Filters: Project and Table.

PanelShows
Pipelines, Workflows, Tables, ConnectionsWhat the project holds: pipelines and workflows that exist as files
Broken referencesCalls to missing files plus connections no metadata defines
What reads and writesTransforms and actions that read or write the table, their file, and whether it was found in SQL
DownstreamTables written by the pipelines and workflows that read the table
Workflows that run themWhat starts those pipelines and workflows
Busiest tablesTables touched by the most transforms and actions
ConnectionsEach connection, its database type, and how many components use it
VariablesVariables used, and in how many places
Broken references (table)Each missing file, undefined connection and unreadable file, with where it is referred to