via AWS S3

To integrate dbt Core, you must provide Jedify with access to your project's metadata files. Since dbt Core is self-hosted, you will upload your artifacts to an S3 bucket after every dbt run, which Jedify will then access.

Step 1: Generate dbt Artifacts

In your CI/CD pipeline or production environment, generate the required metadata files:

dbt docs generate
dbt build

This produces manifest.json and catalog.json and run_results.json in your project's target/ directory.


Step 2: Configure AWS Permissions

You must grant Jedify permission to read these files from your S3 bucket. You can choose between Access Keys (Programmatic Access) or an IAM Role.

Option A: Access Key (Programmatic Access)

  1. Create IAM User: Create a new AWS IAM user and ensure Access Key - Programmatic access is checked.
  2. Save Credentials: Save the Access Key ID and Secret Access Key generated for the user.
  3. Attach Policy: Attach the following inline policy to the user (replace <your-bucket-name> with your actual bucket name):
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::<your-bucket-name>",
                "arn:aws:s3:::<your-bucket-name>/*"
            ]
        }
    ]
}

Option B: IAM Role (Cross-Account Access)

  1. Create IAM Role: In the AWS Console, create a new IAM role.
  2. Trusted Entity: Select Another AWS account and enter Jedify’s Account ID: 482836992928.
  3. External ID: Click Require External ID and paste the value provided in the Jedify dbt Core connection page.
  4. Attach Policy: Attach the following policy to the role: