Onboarding guide
Harness Platform is purpose built to help developers and DevOps teams deliver software with the highest velocity, quality, security, reliability, resilience as well as lowest cost possible while remaining inside the governance guardrails necessary for meeting organizational goals.
Prerequisite: Access your Harness account
SaaS
Harness SaaS is a fully-managed cloud version of Harness Platform that is accessible via multiple plans.
Free Plan: Signup for a free account
Team & Enterprise Plans: You must have received an invitation email from your Account Administrator. Reach out to support@harness.io if you need more information or if you do not know who your Account Administrator is.
After your account has been created, you can sign in to your Harness account at https://app.harness.io/auth/#/signin
Self-Managed Enterprise Edition
Harness Self-Managed Enterprise Edition (aka SMP) is a self-managed, Kubernetes-native version of Harness Platform that runs on your own public or private cloud infrastructure. This option requires access to a Harness SMP license key as well as ability to download Harness SMP software (container images & Helm Chart). Reach out to support@harness.io if you do not have access to either the license key or the download location.
After you have access to the license key and the software, you will have to first install and configure an instance of Harness SMP by following instructions listed at Install Harness SMP using Helm Chart.
After you install, follow these instructions to create your Harness Account on SMP.
You can sign in to your Harness Account on SMP anytime at http://your-domain-name/auth/#/signin
Step 1. Review key concepts
Harness Platform refers to the various common Harness constructs that help you onboard and then enable multiple application development teams looking to leverage the power of Harness modules. Following are the relevant key concepts.
You should also review the module-specific concepts for the Harness modules you are interested in.
Step 2. Create a sample org or project and invite collaborators
Step 3: Automate onboarding of users from external sources
You can automate the onboarding of users from external sources along with their user group memberships & role assignments.
- Provision users and groups with Okta (SCIM)
- Provision users and groups using Azure AD (SCIM)
- Provision users and groups with OneLogin (SCIM)
- Just-in-time user provisioning
Step 4: Install delegate
- Install delegate on Kubernetes or Docker
- Build and set up a delegate with a minimal image type
- Install Harness Delegate on Google Kubernetes Engine (GKE) With Workload Identity
Step 5: Automate setup of shared resources
Account-level resources such as secrets, delegates & connectors are shared with all organizations and projects in the account. We recommend you either use the Harness Terraform Provider or the Harness REST API for this step.
Terraform Provider
You can achieve a high degree of automation and repeatability in deploying and managing resources on Harness by simply integrating the Harness Terraform Provider into your Harness onboarding workflows. Keep in mind to follow best practices for Terraform and CI/CD to get the best results.
Install the Harness Terraform Provider & Setup Terraform Configuration
Harness Terraform Registry is available here: https://registry.terraform.io/providers/harness/harness. You can use the following docs to get started.
Build Automation with Terraform Provider
You should adhere to the following best practices.
Source Control: Save your Terraform configurations in a version control system like Git. This helps in tracking changes and enables collaboration.
Automate Plan & Apply: Implement CI/CD tools to automate the
terraform plan
andterraform apply
steps. Popular choices include using Harness CD Pipelines to automate and onboard services.State Management: Use remote state storage solutions, such as Terraform Cloud or AWS S3 with state locking, to ensure that your state is consistent across various environments or teams.
Notifications: Implement notifications for Terraform actions. If something goes wrong during
terraform apply
, it can be beneficial to have notifications sent to Slack, Email, etc.Monitoring and Logging: Monitor your infrastructure with tools like Grafana or Prometheus. Logging changes and activities help in audit trails.
Secrets Management: Use tools like HashiCorp Vault or AWS Secrets Manager to securely store sensitive information like API keys.
Backup: Regularly back up your Terraform state files to prevent data loss.
Documentation: Maintain a well-documented record of all Terraform scripts and modules. Documenting the design decisions and usage instructions ensures that any team member can understand and use the automation built around the Terraform provider.
Sample Architecture
A sample repo is available for your use here: https://github.com/harness-community/solutions-architecture/tree/main/terraform-development-factory
API
Use the API quickstart to get started.
Step 6. Become a Harness Certified Expert
You are now ready to test your skills of the various Harness modules by completing the following certifications.