Skip to content

Commit 0c410d5

Browse files
authored
more customization docs (#1883)
* more customization docs * chore: typo
1 parent 8904c38 commit 0c410d5

File tree

4 files changed

+2562
-1
lines changed

4 files changed

+2562
-1
lines changed

_docs-sources/pipelines/maintain/extending.md

+13
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,19 @@ If you are using the older version of Gruntwork Pipelines that includes the `inf
88

99
Gruntwork Pipelines is designed to be extensible. This means that you can add your own customizations to the GitHub Actions Workflows, and the underlying custom GitHub Actions to suit your organization's needs. This document will guide you through the process of extending your pipeline.
1010

11+
12+
## Pipelines Extension Architecture
13+
14+
Extending Gruntwork Pipelines involves managing code in three different source code repositories. We've architected these repositories in such a way that customer modifications live in a different repository from code that Gruntwork maintains, therefore dramatically limiting, or even eliminating, the work required to incorporate upstream changes from Gruntwork. The three repositories are:
15+
16+
* `pipelines-workflows` - This is the central orchestration of the control flow within pipelines. This repo contains as little business logic as possible and generally makes calls to other repositories to do work.
17+
* `pipelines-actions` - This is where the bulk of the business logic for pipelines lives
18+
* `pipelines-actions-customization` - This is where a customer's custom logic primarily lives.
19+
20+
The intention is that customers will never have to touch code that is frequently modified by Gruntwork, namely `pipelines-actions`. Instead customers will update code references inside `pipelines-workflows` to point to custom code in another repository, so the only surface area for merge conflict/code maintaince is a scant few lines of reference change in `pipelines-workflows`.
21+
22+
<img alt="Diagram of Gruntwork Pipelines Repositories" className="img_node_modules-@docusaurus-theme-classic-lib-theme-MDXComponents-Img-styles-module medium-zoom-image" src="/img/pipelines/pipelines_customization_code_locations.svg" />
23+
1124
## Extend the GitHub Actions Workflow
1225

1326
The GitHub Actions Workflow that Pipelines uses is a [Reusable Workflow](https://docs.github.com/en/actions/using-workflows/reusing-workflows). This allows your `infrastructure-live` repositories to reference a specific pinned version of it in your `.github/workflows/pipelines.yml` file without having to host any of the code yourself.

0 commit comments

Comments
 (0)