1. Foundations - SDLC, Services, and Application Architectures | |
Configure Artifacts (What does a Service deploy? jar, tar, container images, packaged helm chart, etc) | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-concepts/services-and-environments-overview#services-and-environments-summary |
Describe common triggering mechanisms | https://developer.harness.io/docs/category/triggers |
Describe available Cloud Provider Agnostic Connectors for Kubernetes Clusters as a managed Service (EKS, GKE, AKS) | https://developer.harness.io/docs/platform/connectors/add-a-kubernetes-cluster-connector/ |
Access in a Cloud Provider - AWS (Pareto) - Describe how Harness gets permission in a target account (IRSA, Assuming a Role, etc) | https://developer.harness.io/docs/platform/connectors/ref-cloud-providers/aws-connector-settings-reference/ |
Configure Traditional Deployments in VMs and Baremetal (SSH, WinRM) | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-quickstarts/ssh-ng/https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-quickstarts/win-rm-tutorial/ |
Describe Containerized Workloads (Docker, Ks, OCI, etc) | https://developer.harness.io/docs/continuous-delivery/cd-advanced/cd-kubernetes-category/kubernetes-deployments-overview/ |
Describe Serverless Workloads (Serverless Framework) | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-quickstarts/serverless-lambda-cd-quickstart/ |
Configure and Deploy using the Ks rolling update strategy | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-quickstarts/kubernetes-cd-quickstart/ |
Describe canary deployments and how it works (our Canary + Roling Update, at least the concept) | https://developer.harness.io/docs/continuous-delivery/cd-execution/kubernetes-executions/create-a-kubernetes-canary-deployment/ |
Configure a Service for Harness CD | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-concepts/services-and-environments-overview/ |
Describe the Service Entity main attributes (Tags, Service Definition, Deployment Type, Manifests, Artifacts, Config Files, Variables) | https://developer.harness.io/docs/getting-started/learn-harness-key-concepts/ |
Define Service Variables | https://developer.harness.io/docs/continuous-delivery/cd-services/k8s-services/kubernetes-services/ |
Apply Service Variables in real use cases | https://developer.harness.io/docs/continuous-delivery/cd-services/k8s-services/kubernetes-services/ |
Define Config Files | TBD |
Apply Config Files in real use cases | TBD |
Configure Artifacts and Artifact Sources | TBD |
Describe Sidecar Artifacts and use cases | https://developer.harness.io/docs/continuous-delivery/cd-advanced/cd-kubernetes-category/add-a-kubernetes-sidecar-container/ |
Define the Harness Environment Entity and its metadata | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-concepts/services-and-environments-overview/ |
Describe Env metadata: Environment Type and Tags | TBD |
Overrides - Describe Priority Order (Service, Env, and Env's Service) | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-concepts/services-and-environments-overview/#override-priority |
Environment Overrides - Describe Manifests override (Values YAML, Openshift Param, Kustomize Patches) | https://developer.harness.io/docs/continuous-delivery/cd-advanced/cd-kubernetes-category/add-and-override-values-yaml-files/ |
Environment Overrides - Configure Manifests override (Values YAML is a great use case) | https://developer.harness.io/docs/continuous-delivery/cd-advanced/cd-kubernetes-category/add-and-override-values-yaml-files |
Environment Overrides - Describe Config Files override (full replacement, different from Manifest Values) | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-concepts/services-and-environments-overview/#override-priority |
Environment Overrides - Configure Config Files override (full replacement, different from Manifest Values) | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-concepts/services-and-environments-overview/#override-priority |
Environment's Service Overrides - Describe how to override by a particular Env + Service | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-concepts/services-and-environments-overview/#override-priority |
Environment's Service Overrides - Configure an override per service + env (Config, Values, Variables) | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-concepts/services-and-environments-overview/#override-priority |
Define the Harness Environment InfraDef and its metadata | TBD |
Configure an Environment's Infra Definition (Could be a Ks one) | https://developer.harness.io/docs/continuous-delivery/cd-infrastructure/kubernetes-infra/define-your-kubernetes-target-infrastructure/ |
Describe InfraDef Deployment Types | https://developer.harness.io/docs/continuous-delivery/cd-infrastructure/kubernetes-infra/define-your-kubernetes-target-infrastructure/ |
Kubernetes InfraDef - Describe Direct Connection X Cloud Provider | https://developer.harness.io/docs/continuous-delivery/cd-infrastructure/kubernetes-infra/define-your-kubernetes-target-infrastructure/ |
Kubernetes InfraDef - Cluster Details - Describe Connector + Namespace | https://developer.harness.io/docs/continuous-delivery/cd-infrastructure/kubernetes-infra/define-your-kubernetes-target-infrastructure/ |
Configure Allow simultaneous deployments on the same infrastructure | https://developer.harness.io/docs/continuous-delivery/cd-deployments-category/deployment-resource-constraints/ |
SSH and WinRM - Describe how Credentials works for them | https://developer.harness.io/docs/platform/security/add-use-ssh-secrets/https://developer.harness.io/docs/first-gen/firstgen-platform/security/secrets-management/add-win-rm-connection-credentials/ |
SSH and WinRM - Describe how to filter GCE, EC and Azure VMs (filtering tags) | TBD |
Describe Physical Data Center | TBD |
2. Harness Architecture and Components | TBD |
Describe the Harness Manager | https://developer.harness.io/docs/getting-started/harness-platform-architecture/ |
Describe the Harness Delegate | https://developer.harness.io/docs/first-gen/firstgen-platform/account/manage-delegates/delegate-installation/ |
How to check Delegate Task Selection during a Deployment | https://developer.harness.io/docs/platform/Delegates/get-started-with-delegates/delegates-overview#delegate-log-file |
How to read Delegate Logs | https://developer.harness.io/docs/platform/Delegates/get-started-with-delegates/delegates-overview#delegate-log-file |
3. Account Resources for Harness CD | |
Configure a Kubernetes Cloud Provider Connector | https://developer.harness.io/docs/platform/connectors/add-a-kubernetes-cluster-connector/ |
Configure Connectors - Ticket Systems, Artifact Repo, Code Repo, etc | https://developer.harness.io/docs/first-gen/firstgen-platform/account/manage-connectors/harness-connectors/ |
Configure Secret Managers Connectors | https://developer.harness.io/docs/platform/security/harness-secret-manager-overview/ |
Perform a simple Delegate Installation | https://developer.harness.io/docs/platform/delegates/get-started-with-delegates/delegate-installation-overview/ |
Configure Delegate Tags (this is important for Delegate Selection during Tasks) | https://developer.harness.io/docs/platform/delegates/manage-delegates/select-delegates-with-selectors/ |
Describe Delegate Selectors in Steps, Stages, or Pipelines | https://developer.harness.io/docs/platform/delegates/manage-delegates/select-delegates-with-selectors/ |
Configure Delegate Selectors in Steps, Stages, or Pipelines | https://developer.harness.io/docs/platform/delegates/manage-delegates/select-delegates-with-selectors/ |
Install software on the delegate with initialization scripts (INIT_SCRIPT) | https://developer.harness.io/docs/platform/delegates/advanced-installation/install-a-delegate-with-3-rd-party-tool-custom-binaries/ |
Describe Secrets (Acc Resources) Files and Text | https://developer.harness.io/docs/platform/security/ref-security/secrets-and-log-sanitization/ |
Describe Secrets (Acc Resources) SSH and WinRM Credentials | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-quickstarts/win-rm-tutorial/ |
Describe the relationship between Secrets and Secrets Managers (Connector) | https://developer.harness.io/docs/platform/security/ref-security/secrets-and-log-sanitization/ |
Describe Harness File Store | https://developer.harness.io/docs/continuous-delivery/cd-services/cd-services-general/add-inline-manifests-using-file-store/ |
Configure Harness File Store and use its files in a Deployment | https://developer.harness.io/docs/continuous-delivery/cd-services/cd-services-general/add-inline-manifests-using-file-store/ |
4. Variables, Expressions, and Programmatic Approaches to Harness CD | |
Describe Harness Built-in and Custom Harness Variables | https://developer.harness.io/docs/platform/variables-and-expressions/harness-variables/#you-can-use-all-java-string-methods |
Give examples of Java string methods in Harness Variables (JEXL) | https://developer.harness.io/docs/platform/variables-and-expressions/harness-variables/#you-can-use-all-java-string-methods |
How to get Secrets programatically at runtime (using our expression variable engine) | https://developer.harness.io/docs/platform/security/add-use-text-secrets/ |
Apply in use case - Service Variables (<+serviceVariables[variable name]> ) | https://developer.harness.io/docs/platform/security/add-use-text-secrets/ |
5. Governance, Authentication and Authorization: Login, RBAC, Access Control | |
Authentication: Describe what security action we can do (pwd strength, expiration, lockout, mfa/fa, restrict domains) | https://developer.harness.io/docs/platform/authentication/authentication-overview/ |
Authentication: Describe OAuth and SAML integrations | https://developer.harness.io/docs/platform/Authentication/single-sign-on-saml |
SSO: Describe SAML + SCIM (automatic provisioning) | https://developer.harness.io/docs/platform/Authentication/provision-users-and-groups-using-azure-ad-scim |
Describe RBAC in User Groups X Roles (Role Bindings) | https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness/ |
Describe RBAC and Role Bindings for Service Account | https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness/#harness-rbac-components |
Describe Resource Groups | https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness/#harness-rbac-components |
Configure Resource Groups | https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness/#harness-rbac-components |
Describe Roles | https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness/#harness-rbac-components |
Configure Roles | https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness/#harness-rbac-components |
Describe Policy as Code (OPA, Rego) | TBD |
Configure Policy as Code - Apply in any common use case (OPA, Rego) | TBD |
Account Audit Trail - Describe Use Cases | TBD |
Create a Freeze Window | https://developer.harness.io/docs/continuous-delivery/cd-deployments-category/deployment-freeze/ |
6. Data Visualization, Dashboards, and Reporting | TBD |
Describe tagging, labeling, and identifiers | https://developer.harness.io/docs/platform/references/tags-reference/ |
Configure tagging, labeling, and identifiers | https://developer.harness.io/docs/platform/references/tags-reference/ |
Configure a Custom Dashboard (Enterprise) | https://developer.harness.io/docs/platform/dashboards/dashboards-overview/ |
Deployments - Describe the Overview Dashboard | TBD |
Deployments - Describe the Services Dashboard | TBD |
Deployments - Describe the GitOps Dashboard | TBD |
7. Swimlanes | |
Configure a Rolling Deployment | https://developer.harness.io/docs/continuous-delivery/cd-execution/kubernetes-executions/create-a-kubernetes-rolling-deployment |
Configure a Blue/Green Deployment | https://developer.harness.io/docs/continuous-delivery/cd-execution/kubernetes-executions/create-a-kubernetes-blue-green-deployment |
Configure a Canary Deployment | https://developer.harness.io/docs/continuous-delivery/cd-execution/kubernetes-executions/create-a-kubernetes-canary-deployment |
Skip and then Deploy manifests separately using Apply step | https://developer.harness.io/docs/continuous-delivery/cd-execution/kubernetes-executions/deploy-manifests-using-apply-step/ |
Deploy to SSH/WinRM/Traditional | https://developer.harness.io/docs/continuous-delivery/onboard-cd/cd-quickstarts/ssh-ng |
Deploy to AWS services - A basic deployment, for example | TBD |
Deploy to Azure services - A basic deployment, for example | TBD |
Deploy to GCP services - A basic deployment, for example | TBD |
8. Continuous Delivery | |
Describe Notification Rules (Pipeline Events + Notification Method) | https://developer.harness.io/docs/continuous-delivery/cd-advanced/cd-notifications/notify-users-of-pipeline-events |
Describe Barriers | https://developer.harness.io/docs/continuous-delivery/cd-deployments-category/synchronize-deployments-using-barriers/ |
Configure Barriers | https://developer.harness.io/docs/continuous-delivery/cd-deployments-category/synchronize-deployments-using-barriers/ |
Define failure strategies | https://developer.harness.io/docs/platform/Pipelines/w_pipeline-steps-reference/step-failure-strategy-settings |
Configure failure strategies | https://developer.harness.io/docs/platform/Pipelines/w_pipeline-steps-reference/step-failure-strategy-settings |
Describe Failure Strategies Actions | https://developer.harness.io/docs/platform/Pipelines/w_pipeline-steps-reference/step-failure-strategy-settings |
Configure Conditional Execution - For Stage and for Step | https://developer.harness.io/docs/platform/pipelines/w_pipeline-steps-reference/step-skip-condition-settings/ |
Configure Looping Strategy - Repeat, Matrix, Parallelism | https://developer.harness.io/docs/platform/pipelines/looping-strategies-matrix-repeat-and-parallelism/https://developer.harness.io/docs/platform/pipelines/best-practices-for-looping-strategies/ |
Delegate Selectors - For Pipeline, Stage, Step | https://developer.harness.io/docs/platform/Delegates/manage-delegates/select-delegates-with-selectors |
Advanced Options - Timeout Settings | https://developer.harness.io/docs/platform/pipelines/define-a-failure-strategy-on-stages-and-steps/ |
Advanced Options - Describe Stage Execution Settings (Select stages to run) | TBD |
Configure Approval Stages and Steps (native and tool-based) | https://developer.harness.io/docs/platform/Approvals/adding-harness-approval-stages |
Configure a Git-based Trigger (aka webhook) | https://developer.harness.io/docs/platform/triggers/triggering-pipelines/ |
Configure a Custom Webhook | https://developer.harness.io/docs/platform/triggers/trigger-deployments-using-custom-triggers/ |
Configure a CI outcome trigger (artifact) | https://developer.harness.io/docs/platform/Triggers/trigger-on-a-new-artifact |
Configure a Cron Trigger | https://developer.harness.io/docs/platform/Triggers/schedule-pipelines-using-cron-triggers |
Manually Execute a Pipeline | https://developer.harness.io/docs/platform/pipelines/input-sets/ |
Describe InputSets | https://developer.harness.io/docs/platform/pipelines/input-sets/ |
Configure InputSets | https://developer.harness.io/docs/platform/pipelines/input-sets/ |
Describe Execution History | https://developer.harness.io/docs/platform/pipelines/view-and-compare-pipeline-executions/ |
Describe the Step Library | TBD |
Describe a step using a template | https://developer.harness.io/docs/platform/templates/template/ |
Describe the Step Library - Shell Script/run step | https://developer.harness.io/docs/continuous-delivery/cd-technical-reference/cd-gen-ref-category/shell-script-step/ |
Describe the Step Library - Flow Control with barriers | https://developer.harness.io/docs/continuous-delivery/cd-deployments-category/synchronize-deployments-using-barriers/ |
Describe the Step Library - Ks Apply | https://developer.harness.io/docs/continuous-delivery/cd-technical-reference/cd-k8s-ref/kubernetes-apply-step/ |
Configure ticketing ITSM | https://developer.harness.io/docs/category/ticketing-systems |
Use the Step Library - Add Governance, Approvals, ITSM, etc | https://developer.harness.io/docs/category/ticketing-systems |
Describe the Step Library - IaC | https://developer.harness.io/docs/category/advanced-cd |
Describe the Step Library - Utilities | TBD |
9. Continuous Verification in Harness CD | |
Identify deployment verification types - Which is actually the Deployment types the CV Step supports | https://developer.harness.io/docs/continuous-delivery/cd-execution/cv-category/verify-deployments-with-the-verify-step |
Explain CV Health Sources - The actual integration with APM and Monitoring Tools (logs, metrics) | https://developer.harness.io/docs/continuous-delivery/cd-execution/cv-category/verify-deployments-with-the-verify-step |
Use the CV Step during a Deployment - Canary is the best example | https://developer.harness.io/docs/continuous-delivery/cd-execution/cv-category/verify-deployments-with-the-verify-step/ |
Describe and Apply CV critical attributes - Sensitivity and Duration | https://developer.harness.io/docs/continuous-delivery/cd-execution/cv-category/verify-deployments-with-the-verify-step/ |
Configure a quick Health Check using the HTTP Step (Verify a Service, a Health Endpoint, LB, etc) | https://developer.harness.io/docs/continuous-delivery/cd-technical-reference/cd-gen-ref-category/http-step/ |
10. Alerting, SMTP Configuration, Notifications | |
Configure User Group Notification - Slack, Email, etc | https://developer.harness.io/docs/platform/notifications/send-notifications-using-slack/ |
Notifications Based on Response to Pipeline and stage events | https://developer.harness.io/docs/platform/notifications/send-notifications-using-slack/ |
Dashboards - Configure Report Schedule Delivery | TBD |
Dashboards - Configure Alert based in conditions | https://developer.harness.io/docs/platform/dashboards/create-conditional-alerts/ |
11. GitOps | |
Explain the principles of GitOps using a comprehension/use case | https://developer.harness.io/docs/continuous-delivery/cd-gitops/harness-git-ops-basics/ |
Describe common use cases for using GitOps | https://developer.harness.io/docs/continuous-delivery/cd-gitops/harness-git-ops-basics/ |
Describe the benefits of using GitOps | https://developer.harness.io/docs/continuous-delivery/cd-gitops/harness-git-ops-basics/ |
Describe Harness' GitOps architecture and its components | https://developer.harness.io/docs/continuous-delivery/cd-gitops/harness-git-ops-basics/ |
Install the GitOps agent | https://developer.harness.io/docs/continuous-delivery/cd-gitops/harness-cd-git-ops-quickstart |
Connect your Kubernetes cluster and application repository to Harness to start deployments | https://developer.harness.io/docs/continuous-delivery/cd-gitops/harness-cd-git-ops-quickstart |
Analyze your application deployment requirements to determine whether to use a GitOps or a pipeline-based approach | https://developer.harness.io/docs/continuous-delivery/cd-gitops/harness-git-ops-basics/#harness-gitops-summary |
Set up an application in Harness using GitOps | https://developer.harness.io/docs/continuous-delivery/cd-gitops/harness-cd-git-ops-quickstart |
Analyze drift between the application state in Git and the cluster | TBD |
12. Templates | |
Describe Harness Templates - Pipeline, Stage, Step | https://developer.harness.io/docs/platform/templates/template/ |
Create a Template - Pipeline, or Stage | https://developer.harness.io/docs/platform/templates/template/ |
Describe or Use - Template Versioning and Import from Git | https://developer.harness.io/docs/platform/templates/template/ |
13. Git Experience | |
Git Experience - Describe supported Harness Entities | https://developer.harness.io/docs/platform/git-experience/git-experience-overview/#supported-harness-entities |
Git Experience - Configure Git Experience for a Pipeline | https://developer.harness.io/docs/platform/git-experience/git-experience-overview/#supported-harness-entities |