Forking Git repositories

Serializing and deploying CaC enabled projects

Octopus does not support two Config-as-Code (CaC) enabled projects pointing to the same Git repository. This means you must fork the Git repository hosting the upstream project and then point the downstream project to the new fork.

The GitHub - Fork Repo step from the community step template library automates the process of forking repositories in GitHub.

Other Git platforms may have CLI tools that allow repositories to be forked.

The typical process used to deploy an upstream CaC project serialized with octoterra is to run a step like GitHub - Fork Repo to fork the upstream Git repository before the Octopus - Populate Octoterra Space step. This ensures a new Git repository has been created for the downstream project.

A CaC enabled project exported by octoterra exposes the CaC Git url as a Terraform variable. The variable is based on the name of the upstream project and ends with the _git_url suffix e.g. project_frontend_webapp_git_url.

The default value of this variable is the upstream project’s CaC Git repository. This Terraform variable must be defined when running the Octopus - Populate Octoterra Space by adding it to the Terraform Additional Apply Params field e.g -var=project_frontend_webapp_git_url=#{Octopus.Action[GitHub - Fork Repo].Output.NewRepo}.

Help us continuously improve

Please let us know if you have any feedback about this page.

Send feedback

Page updated on Thursday, November 9, 2023