bcgov / DITP-DevOps

Digital Identity and Trust Program Team's DevOps Documentation Repository
Apache License 2.0
2 stars 5 forks source link

DevOps processes and Continuous Delivery - Moving Forward #158

Open WadeBarnes opened 8 months ago

WadeBarnes commented 8 months ago

This ticket is meant to be a place where we can start the discussion and design of our DevOps and Continuous Delivery processes moving forward. We have a significant amount of technical debit that has built up over the years. While our processes have served us well for a very long time, we're overdue for an update.

Requirements:

Considerations:

Short to Mid Term action items:

Mid to Long Term action items:

Design Docs:

Related Tickets:

WadeBarnes commented 8 months ago

cc @jleach, not assigning to you, but we're interested in your input.

WadeBarnes commented 7 months ago

ArgoCD Implementation - Design Doc

WadeBarnes commented 7 months ago

HashiCorp Vault Integration - Inventory of Credentials in the DITP Environment

WadeBarnes commented 6 months ago

Finished, from my perspective, filling out the above document.

WadeBarnes commented 6 months ago

We had a productive meeting with reps from platform services and Red Hat yesterday to go over a few different approaches using Helm with ArgoCD. A couple of the approaches work around some restrictions imposed by the instance maintained by platform services.

Resources from the meeting:

i5okie commented 4 months ago

Progress update:

Next steps:

i5okie commented 1 month ago

Progress update:

Pipelines for the traction and vc-authn-oidc have been updated and migrated to take advantage of GitOps automation with ArgoCD. Deployment of dev environments will likely have to remain deployable directly from GitHub Actions workflows for both Traction and VC-AuthnN-OIDC projects.

Resources for both Traction and VC-AuthN-OIDC projects use platform-agnostic technologies such as Helm charts, and plain kubernetes manifests. These resources can be deployed by anyone, on almost any Kubernetes cluster.


Updated the implementation documentation https://hackmd.io/hirbZlbkSQmp-UK_D7FbrQ

i5okie commented 1 month ago

Standardize on standard Kubernetes resources. Where possible, migrate to using generic Kubernetes resources and avoid using platform specific (OCP specific) resources. For example, migrate away from using DeploymentConfig triggers to monitor image stream tags for managing image deployments.

Created issues for the following repositories to Migrate OCP templates to using generic Kubernetes resources bcgov/DITP-DevOps#200 https://github.com/bcgov/openshift-aries-mediator-service/issues/43 https://github.com/bcgov/dts-backup-configurations/issues/22 https://github.com/bcgov/orgbook-configurations/issues/144 https://github.com/bcgov/von-bc-registries-audit/issues/42 https://github.com/bcgov/dts-endorser-service/issues/50 https://github.com/bcgov/von-bc-registries-agent-configurations/issues/81

i5okie commented 3 weeks ago

Update CI/CD pipelines - Many of our projects are still relying on Jenkins pipelines. We want to migrate them all to newer platforms. Whether that is utilizing GitHub Actions, Tekton, ArgoCD, Helm, or the like is up for discussion. We're utilizing GitHub Actions and Helm in a couple projects, such as bcgov/traction, and bcgov/vc-authn-oidc, and have also started utilizing GitHub Actions to replace Jenkins in a couple other projects such as bcgov/von-bc-registries-audit, and bcgov/dts-endorser-service.

Created tasks for migrating Jenkins pipelines to GitHub Actions workflows: https://github.com/bcgov/openshift-aries-mediator-service/issues/44 https://github.com/bcgov/orgbook-configurations/issues/147 https://github.com/bcgov/von-bc-registries-agent-configurations/issues/82 https://github.com/bcgov/dts-endorser-service/issues/56