Skip to content

Latest commit

 

History

History
77 lines (52 loc) · 3 KB

getting_started.md

File metadata and controls

77 lines (52 loc) · 3 KB

DevOps How To

MDS Project runs on Redhat Open Shift 4, hereafter referred to as OCP.

The BC Gov Platform Services Team hosts the OCP container and manages the operations, maintains uptime. The cluster health can be monitored here

More details on platform services, updates on activities on the cluster and disucssions on topics can be done via Rocket chat

Tools Used:

  • Deployment Platform - OCP
  • Build Tool - Github Actions
  • Image Registry - OCP Image Streams
  • GitOps - Argo CD
  • Scripting - BASH

Things to get access to:

  • IDIR User - Contact your PO
  • OCP Admin Access - Existing admins can make you an admin.
  • This form gets you added to the bcgov and bcgov-c orgs.
  • Github repo - Get added to the as a maintainer
  • ArgoCD - Get added to the GitOpsStream with the role admin
  • Rocket Chat - To keep abreast Platform Services Updates

Local Setup:

MDS project should be run on a LINUX or UNIX based system, there are several options such as

  • Mac OS
  • Any Linux Distribution (Team members have used Ubuntu, Mint, Arch Linux in the past)
  • Windows WSL

You would need to have atleast the following installed:

  • Git
  • Docker
  • Docker Compose
  • Make
  • Open Shift CLI
  • Essential Cli utilites (awk, sed, coreutils, etc)

Things to know:

  • We have three services that the team actively works on, that is core-api, core-web and minespace
  • These three services are configured to be deployed via gitops using Argo CD
    • Each new push to the develop branch, does a build+push of the image and updates the Git SHA of in the env vars of deployment, which triggers a new deploy through git ops
  • All kubernetes artifacts are managed through gitops

How we work:

Planning the sprint:

  • DevOps Refinement is used to scope out tasks in the backlog and estimate them, fine tune details.
  • Tickets are pulled in as part of the regular sprint planning meetings

Other general guidelines

  • Communicate devops changes constantly on #general to keep everyone informed
  • Principle of least to no disruption on changes for dev team
  • Multi staged rollouts for changes instead of lift and shift
  • Constant reevaluation of state of things

Key metrics:

We want to track DORA Metrics:

Deployment frequency (DF) Lead time for changes (LT) Mean time to recovery (MTTR) Change failure rate (CFR)

Other details

The devops backlog is here

Any new tasks should be listed under this epic with details and prioritized