dxc-labs / dxc-soteria-devops

DXC Technology Labs (@dxc-labs) Project Soteria 'devops' component

Home Page:https://dxc.technology/opensource

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

devops

The Soteria devops component declares and manages the process of ContinuousDelivery (CD) based upon a set of variables.

This process is driven by a lambda WebHook and CloudFormations to copy the internal DXC github components for a project [Soteria] to a local directory structure and then into AWS Code Commit in the right region(s).

The variable definitions and rules are available in the "component".yaml file, in this case devops.yaml

The basic configurations are stored in the ./config directory, in our case all.ini

as examples:

ProjectName=soteria
TenantName=dxc
AllComponents=access,api,badges,certificates,checkpoints,dashboards,devops,distribution,domains,forms,handbook,helloworld,identity,incidents,infrastructure,notifications,privacy,risk,rules,surveys,tracing
Components=access,api,badges,certificates,checkpoints,dashboards,devops,distribution,domains,forms,handbook,helloworld,identity,incidents,infrastructure,notifications,privacy,risk,rules,surveys,tracing
Environments=sbx,dev,stg,prd
DefaultRegion=us-east-1
DeployedRegions=us-east-1,eu-central-1,ap-south-1,ap-southeast-1,ap-southeast-2
ProductionApproversEmail=99999c7d.CSCPortal.onmicrosoft.com@amer.teams.ms
ProductionApproversSms=+15551234567

New Project Components must be registered in order to support change tracking and the continuous delivery capabilities.

The Project itself is deployed in sandboxes for each target "Environment" to each of the "DeployedRegions" and for differential "Tenants", with the promotion to Production creating a notification to an email alias such as teams and can also support SMS based notification.

The default EnvironmentNames [stages] are sbx [sandbox], dev [development], stg [staging], dmo [demo] and prd [production]

Promotion Summary

The resulting AWS component name will take the form of:

"${ProjectName}-${TenantName}-${EnvironmentName}-${ComponentName}" or "soteria-dxc-prd-checkpoints"

This naming scheme is an important component of the CI/CD pipeline and producing a successful SaaS approach to the system creating consistent component naming for external named network services and for internal integration.

References

  1. Install Instructions

About

DXC Technology Labs (@dxc-labs) Project Soteria 'devops' component

https://dxc.technology/opensource

License:Apache License 2.0


Languages

Language:Shell 82.6%Language:Python 17.4%