dp:foundation) is the recommended starting point for a new Cognite Data Fusion (CDF) project. Instead of building access controls, a data model, extraction pipelines, and CI/CD from scratch, you deploy a tested, best-practice foundation as Cognite Toolkit modules and configure it through a guided setup wizard. The result is a production-ready project scaffold in days instead of weeks.
Who it’s for
Target personas:- Data engineers — deploy and configure the foundation on a CDF project.
- Solution architects — design the overall CDF solution and integration approach.
- CDF administrators — manage persona access groups and environment configuration.
- You are setting up a new CDF project and need a foundation with access groups, a data model, and extraction and contextualization pipelines without building them by hand.
- 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, contact Cognite support to determine the right approach before deploying.
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.
The
qualitizer module installs the same standalone Qualitizer tool documented separately — a local web application you run against your project, not a deployed CDF resource. After the pack is added, run it from modules/tools/apps/qualitizer/. See the Qualitizer page for how to run it.Prerequisites
Verify all of the following before you start:- Cognite Toolkit version 0.8 or later is installed. See Setting up.
- A
cdf.tomlfile exists in your project root. If it is missing, runcdf modules initand select Create toml file (required). - Authentication is configured and verified — run
cdf auth initandcdf auth verifyusing a local.envfile. See Authentication and authorization.
Install and deploy
Unlike most deployment packs, the Foundation pack starts from a new Toolkit project and uses an interactive setup wizard that writes all configuration before you build and deploy.1
Initialize and select modules
In your directory, run:The
cdf modules init . command opens an interactive menu. Select the Foundation deployment pack, then press Enter to see its modules.Pick exactly one data model variant (ISA-95 or CFIHOS), plus any source-system and contextualization modules. Always keep cdf_project_foundation, and installing qualitizer is strongly recommended.- Use the arrow keys to move and Space to select modules.
- Press Enter to confirm.
2
Run the setup wizard
Run the setup wizard from the project root:The wizard prompts for project names, site or location, Microsoft Entra ID groups, and owner contacts, then writes all
config.<env>.yaml files and .env in one pass.Re-running the wizard is idempotent — it pre-fills current values, so it is safe to run again.
3
Build and deploy
cdf deploy.4
Set up CI/CD (optional)
Run the CI/CD generator from the project root:This creates GitHub Actions workflows for automated build, dry-run, and deploy on pull request, merge, and release.
Verify the deployment
After deploying, confirm success with these checks:-
In CDF, the three persona groups (for example,
consumer_all_dev,producer_all_dev, andadmin_all_dev) are present and bound to the correct Entra ID group object IDs. - The selected data model (ISA-95 or CFIHOS spaces) is deployed and visible.
- Any selected source-system extraction pipeline configs appear in CDF.
-
Run the setup wizard in check mode to validate the configuration — it reports any invalid or missing required config values without writing changes:
-
If you installed
qualitizer, run it against the project and confirm it reports on access, data models, and workload scheduling.
Configuration reference
Parameters are set inconfig.dev.yaml at the project root. Default values work for an initial test deployment.
Each parameter takes its default unless you override it. Where the default is — (or a value read from .env), you must provide your own value. The wizard-computed values below (dataset, instanceSpaces, and the group names) are filled in automatically by the setup wizard — you don’t set them by hand.
Access groups deployed
Group names follow the persona-led convention
<persona>_[<site>_]<type>_<env> — see the Resource naming reference for the full grammar. For this pack, the human persona groups use the all type (default consumer_all_dev, producer_all_dev, admin_all_dev), while per-source service-principal groups created by extractor modules use a source-specific token (for example, producer_ep_pi_dev). The dev name covers both dev and test.
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.
dev, test, and prod — each with its own config.<env>.yaml file. The setup wizard writes configuration for all environments in one pass.
Data 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.
Troubleshooting
For issues not covered here, contact Cognite support.