compliant-financial-infrastructure icon indicating copy to clipboard operation
compliant-financial-infrastructure copied to clipboard

[AP] CFI Repository Reorganization

Open eddie-knight opened this issue 2 years ago • 1 comments

Action Plan for the CFI Project Repository Reorganization

This is a simplified AP to document the work that was voted on as part of #198

Goals

  1. Provide a centralize repository that harmonizes the CFI workflows and technologies
  2. Organize IaC according to the format it will be consumed by customers
    • (ex. TF repos matching TFC/TFE registry expectations)

Additional Context

The team will eventually need to have a dedicated solutioning discussion to plan for the validation and badging pipelines that are central to the CFI efforts. For now, any pipelines that exist should simply be placed alongside whatever code they target.

Directory Layout Example

├───accelerators
│   ├───snowflake
│   │   └─── aws
│   │   │   └─── tf_cdmc_aws_snowflake # git submodule
│   │   │   └─── probr_cdmc_aws_snowflake # git submodule
│   │   │   └─── sat_aws_snowflake.md
│   │   └─── gcp
│   │       └─── tf_cdmc_gcp_snowflake # git submodule
│   │       └─── probr_cdmc_gcp_snowflake # git submodule
│   │       └─── sat_gcp_snowflake.md
│   └─── # ommitted
├─── docs
└─── templates

Git submodules are version controlled, and should only be updated to target elements that are ready to be evaluated.

During the reorganization process, incremental changes to move to submodules are acceptable (so long as the general layout is adhered to).

Action Items

Where possible, the following action items should be restricted to small individual PRs for the sake of organization and to simplify reviews.

Changes must be done in a way that preserves the git history for any files that have been moved.

  • [x] Adjust CFI repo according to prescribed layout
    • See notes in Additional Context
  • [ ] Extract IaC directories into standalone repositories
    • This includes moving any test pipelines to their associated IaC repositories
  • [ ] Provide documentation for code quality/format expectations
    • For both IaC and test packs
    • This should live in the central repo, and be referenced by all the IaC and test packs

eddie-knight avatar Mar 11 '22 18:03 eddie-knight

A potential next step for this issue would be to extract the current EKS terraform configs to a standalone repository.

A placeholder repo exists here: https://github.com/finos/terraform-aws-eks_cdmc

The existing CICD pipelines will need to be simultaneously adjusted to use the git submodule after the code has been extracted.

eddie-knight avatar May 10 '22 17:05 eddie-knight

Hi @eddie-knight

It looks like this epic's in progress with @ml4 and @devops-adeel 🎶

I suggest linking this epic to https://github.com/finos/compliant-financial-infrastructure/issues/239 that lists the work being done specifically.

@ml4 - Does issue https://github.com/finos/compliant-financial-infrastructure/issues/258 also fall into this epic for the checkbox below?

Screenshot 2022-10-06 at 15 21 28

James.

mcleo-d avatar Oct 06 '22 14:10 mcleo-d

Closing as a duplicate of #239.

eddie-knight avatar Oct 24 '22 12:10 eddie-knight