Skip to content

Organizing and Versioning Your Data Product

A well-structured Data Product isn’t just about clean code—it’s about enabling collaboration, versioning, and long-term maintainability. In this module, you’ll set up your code repository, define a clean folder structure, and securely connect DataOS to your version control system.


Step 1: Create and set up your code repository

Initialize a Git repository

Start by creating a version-controlled repository using your team’s preferred platform:

Once created, clone the repository to your local machine and begin developing your DataOS resources.


Organize with a clear folder structure

Structure your Data Product directory to keep things organized. Each folder should hold only the relevant YAML specs for that DataOS component.

infographics

💡 Tip: A clear folder structure helps new contributors onboard faster and ensures smooth CI/CD workflows.


Step 2: Configure a repo secret for DataOS

To enable DataOS to sync from your private repository, you must define an Instance Secret containing Git credentials.

Define the Secret

name: bitbucket-cred
version: v1
type: instance-secret
tags:
  - dataos:type:resource
  - dataos:type:cluster-resource
  - dataos:resource:instance-secret
  - dataos:layer:user
description: bitbucket read secrets for repos.
owner: ""
layer: user
instance-secret:
  type: key-value
  acl: r
  data:
    GITSYNC_USERNAME: ""   # Your Git username
    GITSYNC_PASSWORD: ""   # Your Git token/password

Apply the Secret

Run the following command in the CLI:

dataos-ctl apply -f bitbucket-secret.yaml

Step 3: Push the Data Product directory to a code repository

After developing all your code, you will push your local Data Product directory to a preferred hosted code repository.

Next step

Now that your Data Product has a structured, version-controlled foundation, it’s time to connect it to the real world—your source systems.

👉 Next topic: Configure Source Connectivity