Add Gitlab Project Settings/Pipeline Configuration
- create or modify existing CRD to set projects settings needed for Platform One
- create or modify existing controller code to update product-templates repository to create a pipeline
- Assumptions
- There is only ONE product PER parent Group
- There are one or more projects ( pipelines ) per product ( group )
- There is only ONE manifest project per product
- The parent Group
- grants access to gitlab pipeline user
- grants access
- Inputs
- Gitlab Project Name
- Project Name Convention Check
- Gitlab Project Path will be generated from the project Name
- Generate Path by substitute all white space with '-'
- parent Group Full Path
- this is the webURL of the group minus the hostname prefix
- example:
- weburl: https://code.il2.dso.mil/platform-one/products/valkyrie
- fullpath: platform-one/products/valkyrie
- Tech Stack Type ( validate against existing map of values )
- Gitlab Project Name
- Tasks
- Create project if does not exist
- project name
- project path
- wire up a pipeline
- create pipeline products repositor branch for this PRODUCT ( e.g. the parent group path name )
- set products/platformone/valkyrie/valkyrie-api-ci.yml@platform-one/devops/pipeline-products
- Create project if does not exist
- Assumptions
Edited by abrichards