Overview
The Foundation Deployment Pack (dp:foundation) is the recommended starting point for any new Cognite Data Fusion project. Instead of hand-building access controls, a data model, extraction pipelines, and CI/CD from scratch on every engagement, you deploy a clean, best-practice foundation as a Toolkit module and configure it through a guided wizard. The result: a solid, production-ready project scaffold stood up in days, not weeks.
Who is this for & when to use?
Target personas:
- Data Engineers / Solution Architects — you deploy and configure it on a project.
- Field Engineers — you use it to get a customer environment ready fast and demo the data foundation with customer data in a matter of hours.
- Partners — you stand up a best-practice CDF foundation on your own engagements, the same way Cognite delivery teams do.
Use this pack when:
- Use this pack when you are setting up a new CDF project — a QuickStart or a LAND engagement — and you need a standard, best-practice foundation (access groups, data model, extraction and contextualization pipelines) without building it by hand.
When NOT to use this pack:
- This pack is built for new projects. It is not designed to retrofit an existing project that already has established access groups, a data model, and configuration in place. For brownfield projects, talk to the Accelerator team about the right approach before deploying.
Why you need it?
Without this pack, every new project repeats the same setup work: defining persona access groups, extending a CDM, wiring up extraction pipeline configs, and standing up CI/CD. That work is slow, easy to get subtly wrong, and tends to be re-solved differently on each project — which means inconsistency across deliveries and rework when something doesn't follow best practice.
The Foundation Deployment Pack eliminates that. It ships the proven patterns as reusable, tested components, so teams skip the repetitive scaffolding and spend their time on what the customer actually needs. It cuts foundation setup from weeks to days, keeps deliveries consistent with Cognite best practice, and reduces the risk of misconfigured access or data models reaching a live project.
What's included
The pack is a set of Toolkit modules. The common module (cdf_project_foundation) is always included; you then select one data model and any source-system and contextualization modules your project needs.
| Component | Description | Optional? |
|---|---|---|
| cdf_project_foundation | The core required module — three persona access groups (consumer / producer / admin) and the interactive project setup wizard. | No |
| isa_manufacturing_extension | ISA-95 enterprise data model for manufacturing assets (assets, equipment, functional locations, time series). | Yes |
| cfihos_oil_and_gas_extension | CFIHOS enterprise data model for oil & gas assets. | Yes |
| *_extension_search | Search-optimised solution views on top of the matching enterprise model. | Yes |
| cdf_pi_foundation | Extraction pipeline configs for OSIsoft PI / AVEVA PI time series. | Yes |
| cdf_sap_foundation | Extraction pipeline configs for SAP assets, equipment, functional locations via RAW. | Yes |
| cdf_opcua_foundation | Extraction pipeline configs for OPC-UA data via RAW. | Yes |
| cdf_db_foundation | Extraction pipeline configs for generic databases (PostgreSQL, etc.) via RAW. | Yes |
| cdf_files_foundation | Extraction pipeline configs for file sources such as SharePoint. | Yes |
| cdf_entity_matching | Automated asset–time series matching (rule-based and ML-assisted). | Yes |
| cdf_file_annotation | P&ID and document annotation with a Streamlit review app. | Yes |
| qualitizer | Real-time data quality monitoring and KPI dashboards — strongly recommended for day-one visibility. | Yes |
Prerequisites
Verify all of the following before starting deployment:
- Cognite Toolkit version 0.8 or later is installed. Follow the setup instructions.
- A
cdf.tomlfile exists in your project root. If missing, runcdf initand select Create toml file (required). - Authentication is configured and verified — run
cdf auth initandcdf auth verifyusing a local.envfile. See the Toolkit authentication docs. - Your CDF project has Data Modeling enabled.
- The CDF group used by Toolkit has the following capabilities:
spaces:write,datamodels:write,transformations:write,workflows:write,datasets:write,rawdb:write.
Deployment & installation
Full step-by-step deployment, including all wizard options and CI/CD setup, lives in the README. The summary below covers the main path.
a. Initialize the project
In an empty directory:
cdf modules init .b. Select modules.
Pick exactly one data model variant (ISA-95 or CFIHOS), then any source-system and contextualization modules. Always keep cdf_project_foundation; qualitizer is recommended.
- Choose Data models (data models that extend the core data model).
- Use Space to select
- Press Enter to confirm.
c. Run the setup wizard.
Run setup_project.py. It prompts for project names, site/location, Entra ID group IDs, and owner contacts, then writes all config.<env>.yaml files and .env in one pass. The wizard is idempotent — re-running pre-fills current values.
d. Build and deploy
cdf build
cdf deploy --dry-run
cdf deploy
e. Set up CI/CD (optional).
Run generate_actions.py to create GitHub Actions workflows for automated build, dry-run, and deploy on PR / merge / release.
Verification
After deploying, confirm success with these checks:
- In CDF, the three persona groups (consumer, producer, admin, suffixed by environment and optional site) are present and bound to the correct Entra ID source IDs.
- The selected data model (ISA-95 or CFIHOS spaces) is deployed and visible.
- Any selected source-system extraction pipeline configs appear in CDF.
- Re-run the wizard with --check for a CI drift check — it should report no unexpected differences.
- If qualitizer was installed, its dashboards load and begin reporting ingestion/contextualization coverage
Configuration reference
Parameters are set in config.dev.yaml at the project root. Default values work for an initial test deployment.
| Parameter | Description | Default | Required? |
|---|---|---|---|
|
| Optional site segment in group names (e.g. oslo). | "" | No |
|
| Auto-populated from installed source-system modules. | [] | Auto |
|
| Schema space for the data model. |
| Yes |
|
| Instance space for the data model. |
| Yes |
|
| Selected enterprise data model. |
| Yes |
|
| Entra ID group object IDs, stored in .env. These are object IDs, not secrets. | — | Yes |
Access groups deployed
| Group | Persona | Capability scope |
|---|---|---|
|
| Read-only | READ on data models / instances / time series / files / RAW / transformations, scoped to the dataset and spaces. |
|
| Read/write | Consumer rights plus WRITE, run transformations, workflow orchestration, sessions CREATE. |
|
| Admin | Full capabilities including groups:write, projects, datasets, data models, transformations, pipelines. |
Group naming follows the SOP: <persona>-[site]-<environment>.
Architecture
The pack is structured as a common foundation module plus selectable model, source, and contextualization modules. The setup wizard configures all of them in one pass, writing per-environment config files and a .env file.
<project>/
├── .github/ # CI/CD workflows (optional, generated by the wizard)
├── build/ # Toolkit build output
├── docs/ # generated docs (e.g. FOUNDATION_CICD.md)
├── modules/
│ ├── common/ # cdf_project_foundation — persona groups + setup wizard
│ ├── contextualization/ # entity matching, file annotation (optional)
│ ├── datamodels/ # ISA-95 or CFIHOS enterprise model (select one)
│ ├── sourcesystem/ # PI / SAP / OPC-UA / DB / files pipeline configs (optional)
│ └── tools/ # qualitizer and other tooling (optional)
├── .env # Entra ID group object IDs (written by the wizard)
├── cdf.toml # Toolkit project config
├── config.dev.yaml # per-environment configuration
└── config.prod.yamlData flow: source systems → extraction pipeline configs (PI / SAP / OPC-UA / DB / files) → CDF RAW / instances → data model (ISA-95 or CFIHOS) → optional contextualization (entity matching, file annotation) → consumed via persona-scoped access groups.
In scope: project-level foundation — access groups, data model, source pipeline configs, CI/CD scaffolding. Out of scope: the source-system extractors themselves, customer-specific data logic, and brownfield migration.
Troubleshooting
| Symptom | Likely cause | Resolution |
|---|---|---|
cdf auth verify fails with 401 Unauthorized | Missing or incorrect credentials in .env file. | Run cdf auth init, re-enter credentials, then re-run cdf auth verify. |
| Module files unexpectedly overwritten | Ran cdf modules init . --clean without committing changes first. | Commit or stash local changes before running the command. Use cdf modules add for existing projects to avoid this risk. |
Library modules not found during cdf modules add | [library.toolkit-data] section still present in cdf.toml, or [library.cognite] not yet added. | Replace the [library.toolkit-data] section with [library.cognite] in cdf.toml. The two sections cannot coexist. |
cdf build fails with "data plugin not enabled" | [plugins] data = true is missing from cdf.toml. | Add data = true under [plugins] in cdf.toml and retry. |
cdf deploy fails with "Insufficient permissions" | Toolkit service account is missing required CDF capabilities. | Add spaces:write, datamodels:write, transformations:write, workflows:write, datasets:write, and rawdb:write to the CDF group used by Toolkit. |
| Auto-detection of the data model fails / asks for | More than one data model directory is present. | Select only one data model variant, or pass --variant <name> explicitly. |
| Wizard prompts re-appear empty on re-run | — (expected) | Re-runs are idempotent and pre-fill current values; the wizard is safe to re-run. |
| Deploy fails on access groups | *_SOURCE_ID values missing or wrong in .env. | Confirm the Entra ID group object IDs are correct and present in .env. |
| Dry-run reports config errors | Mismatched dataset / space values across modules. | Ensure {{ dataset }}, {{ instanceSpace }}, {{ schemaSpace }} match across installed modules; fix and re-run the dry-run. |
| Anything not covered here | — | Raise it in #topic-deployment-packs. |
For issues not covered here, contact your Cognite support team or post in #topic-deployment-packs on Slack.
Support & ownership
| Field | Details |
|---|---|
| Team | Cognite Delivery Team |
| Support channel | #topic-deployment-packs on Slack |
| Documentation | docs.cognite.com |
| Version | 1.0.0 |
| Last updated | 2026 |
Check the
documentation
Ask the
Community
Take a look
at
Academy
Cognite
Status
Page
Contact
Cognite Support
