Impact analysis reference
.env settings
| Setting | Default | Meaning |
|---|---|---|
PROJECTS_DIR | required | Folder of Hop projects, or one project. Read-only |
GRAFANA_ADMIN_PASSWORD | required | Password of Grafana's admin |
GRAPH_DB_PASSWORD | required | Password of the graph database's owner, which the sync job writes with |
GRAPH_DB_READER_PASSWORD | required | Password of Grafana's read-only login |
COMPOSE_PROFILES | graph-db | Remove to use your own PostgreSQL |
GRAPH_DB_HOST, GRAPH_DB_PORT, GRAPH_DB_NAME | graph-db, 5432, project_graph | The graph database |
GRAPH_DB_USER, GRAPH_DB_READER | graph, graph_reader | Its owner and Grafana's login |
GRAPH_DB_SSLMODE | disable | require for a remote database |
GRAPH_DB_PUBLISHED_PORT | 5434 | Host port of the bundled database, on localhost |
PUTKI_TOOLS_IMAGE | forge.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_SECONDS | 300 | How often the projects are read again. 0: once |
PROJECT_NAME | project | The project's name when PROJECTS_DIR is one project |
PUTKI_CUSTOMER | local | Part of each graph's name |
GRAFANA_PORT, GRAFANA_BIND_ADDR | 3002, 127.0.0.1 | Where Grafana listens |
GRAFANA_ROOT_URL, GRAFANA_COOKIE_SECURE | As 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>.
| Node | Key | |
|---|---|---|
| Project | name | The project's folder |
| Pipeline, Workflow | path in the project | hash is empty for a file that is called but not there |
| Transform, Action | <path>#<name> | type is the plugin id |
| Connection | name | database_type; file is empty when no metadata defines it |
| Metadata | <kind>/<name> | Other metadata a component names |
| Table | <connection>/<schema>.<table> | |
| File | path or pattern as written | |
| Variable | name |
| Link | From → to |
|---|---|
| CONTAINS | Pipeline → Transform, Workflow → Action |
| HOP | Transform → Transform, Action → Action |
| CALLS | Action or Transform → Pipeline or Workflow |
| USES_CONNECTION, USES_METADATA | Transform or Action → Connection, Metadata |
| READS, WRITES | Transform or Action → Table (via: sql when found in SQL) |
| READS_FILE, WRITES_FILE | Transform or Action → File |
| USES_VARIABLE, SETS_VARIABLE | Transform or Action → Variable |
Every link records the file it was read from (source_file).
Dashboard
Putki impact analysis (putki-impact). Filters: Project and Table.
| Panel | Shows |
|---|---|
| Pipelines, Workflows, Tables, Connections | What the project holds: pipelines and workflows that exist as files |
| Broken references | Calls to missing files plus connections no metadata defines |
| What reads and writes | Transforms and actions that read or write the table, their file, and whether it was found in SQL |
| Downstream | Tables written by the pipelines and workflows that read the table |
| Workflows that run them | What starts those pipelines and workflows |
| Busiest tables | Tables touched by the most transforms and actions |
| Connections | Each connection, its database type, and how many components use it |
| Variables | Variables used, and in how many places |
| Broken references (table) | Each missing file, undefined connection and unreadable file, with where it is referred to |