Skip to main content

GitHub backup

Guides

GitHub backup commits a project's manifest to a GitHub repository you own. The manifest is the project plus every data pipeline (its nodes and edges), the saved actions, and references to the connections it uses. It is a backup of the project's design, not its data.

Plan requirement

GitHub backup is available on the Professional, Teams and Business plans. On the Free plan the GitHub tab shows an upgrade prompt.

What is committed​

  • The project (name, description, settings) and all of its data pipelines.
  • Saved connection actions.
  • Connection references only (name, system, scope).

What is never committed​

Credentials never leave DataLug. Connection secrets, tokens, passwords, and per-environment secret values are not written to GitHub. The manifest carries a reference to each connection so the project can be rebuilt, but not the secrets behind it.

Connect GitHub​

Open Manage Account > GitHub. There are two ways to connect:

  • GitHub App (recommended, when the tab offers it): choose Install GitHub App, pick the account or organization and the repositories to grant, and finish in the popup. DataLug stores the installation, not a token, and uses short-lived access tokens.
  • Personal access token: create a GitHub fine-grained PAT with Contents: read and write on the target repositories (GitHub puts this under Settings > Developer settings > Personal access tokens > Fine-grained tokens), then paste it. DataLug verifies it and stores it encrypted. Repositories created from the GitHub tab belong to the token's GitHub user.

Either way, the credential is never shown back to you or sent to the browser again. You can create a repository directly from the GitHub tab, or point backups at one that already exists.

A different host (GitHub Enterprise Server)​

The GitHub tab has an optional GitHub API base URL. Leave it blank for github.com, or set it to your GitHub Enterprise Server API (for example https://github.example.com/api/v3). You can change it later without re-entering the token. To use a GitHub Enterprise Server on a private network, the account Owner emails DataLug support at support@datalug.io first.

Back up a project​

  1. Open the project and choose Back up to GitHub... from the project actions menu.
  2. Pick the repository, the branch, and the file path for the manifest (the default is datalug/manifest.json).
  3. Choose Back up now. DataLug commits the manifest to that branch and shows the commit it created. Running it again updates the same file with a new commit, so the history stays in GitHub.

Turn on Automatic backup on workflow run to commit the manifest to the configured repository and branch when the project runs. A second toggle, Back up only on successful runs, is on by default: leave it on to back up after successful runs only, or turn it off to back up after every run.

Restore a project​

Choose Restore from GitHub in the backup panel to rebuild a project from its latest manifest on the configured branch. DataLug reads the manifest, checks it, and creates a new project named after the original with a "(restored)" suffix; your existing project is left untouched.

If the manifest contains scripts or hooks, DataLug lists them and asks you to confirm before restoring. Connections come back as references: the restored project points at connections by name, and you reconnect their credentials as usual.

Pull requests​

When you back up to a branch other than the repository's default, open a pull request straight from the backup panel: choose Open pull request (an optional title and description are yours to set), and DataLug opens it from the backup branch into the default branch and shows the pull request number as a link. Merge pull request then merges it. If there are no new commits to propose, or the pull request is not mergeable yet, the panel says so.

Permissions​

Connecting GitHub, creating a repository, changing a project's backup settings, running a backup, restoring, and opening or merging a pull request require the Admin or Owner role. Other roles see the connection status and the repository list only.