---
name: devsecops-devsecops-tutorial
title: 'Part 1: Set up prerequisites'
description: This tutorial walks you through how to set up prerequisites and learn more about IBM Cloud&reg; DevSecOps by using a complete reference implementation that is available as a service and powered by IBM Cloud&reg; Continuous Delivery.
last-updated: 2024-03-28
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/devsecops?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Part 1: Set up prerequisites
{: #tutorial-cd-devsecops}
{: toc-content-type="tutorial"}
{: toc-services="containers, ContinuousDelivery"}
{: toc-completion-time="1h"}

This tutorial walks you through how to set up prerequisites and learn more about IBM Cloud&reg; DevSecOps by using a complete reference implementation that is available as a service and powered by IBM Cloud&reg; Continuous Delivery.
{: shortdesc}

This tutorial uses an example of `Node.js` app, but you can also deploy other language-based apps.
{: note}

## Before you begin
{: #devsecops-tutorial-prereqs}

* [DevSecOps reference implementation](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-arch&format=markdown)
* [DevSecOps with Continuous Delivery](https://cloud.ibm.com/docs/devsecops?topic=devsecops-devsecops_intro&format=markdown)
* [Understanding DevSecOps pipelines](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-pipelines&format=markdown)

For more information, see [DevSecOps](https://www.ibm.com/think/topics/devsecops){: external} architecture and its implementation in Continuous Delivery.

## Set up an IBM Cloud account
{: #tutorial-account}
{: step}

To get started, you must set up an [IBM Cloud&reg; account](https://cloud.ibm.com/registration){: external}. Depending on your IBM Cloud account plan, access to certain resources by DevSecOps toolchains might be limited. For more information, see [Setting up your IBM Cloud account](https://cloud.ibm.com/docs/account?topic=account-account-getting-started&format=markdown), and [Upgrading your account](https://cloud.ibm.com/docs/account?topic=account-upgrading-account&format=markdown).

## Store secrets values
{: #tutorial-secrets}
{: step}

Storing secrets values is [essential](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-best-practices-using&format=markdown) to the DevSecOps process. As a user, storing an instance is required to manage and protect systems access that are inside or outside of IBM Cloud. Choosing one of the secret management options helps you to protect your sensitive data and centralize your secrets. [Managing IBM Cloud secrets](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-use-case-kubernetes-secrets&format=markdown) can help you choose from various secrets management and data protection offerings. If you don't already have an instance of the secrets management vault provider of your choice, create one. For more information, see [Getting started with Secrets Manager](https://cloud.ibm.com/docs/secrets-manager?topic=secrets-manager-getting-started&format=markdown).

## Create a Kubernetes cluster
{: #tutorial-cluster}
{: step}

Create a [Kubernetes cluster](https://cloud.ibm.com/containers/cluster-management/catalog/create){: external}. The cluster takes time to provision. For more information about provisioning clusters, see [Preparing your account to create clusters](https://cloud.ibm.com/docs/containers?topic=containers-clusters&format=markdown).

## Create a Container Registry namespace
{: #tutorial-namespace}
{: step}

Create an [IBM Cloud&reg; Container Registry namespace](https://cloud.ibm.com/registry/namespaces){: external}. The IBM Cloud Container Registry provides a multi-tenant private artifact registry that you can use to store and share your container artifacts with users in your IBM Cloud account. For more information about IBM Cloud Container Registry, see [Getting started with Container Registry](https://cloud.ibm.com/docs/Registry?topic=Registry-getting-started&format=markdown).

## Apply the steps
{: #tutorial-other}
{: step}

If applicable to your use case, you can complete any or all the following steps.

- Create an [artifact key](https://cloud.ibm.com/docs/devsecops?topic=devsecops-devsecops-image-signing&format=markdown) with the right encoding to sign in to your applications.
- Create and save an [IBM Cloud API key](https://cloud.ibm.com/iam/apikeys){: external}. Alternatively, you can create the API key during the template-guided setup process.
- Validate that the [IAM permissions](https://cloud.ibm.com/docs/devsecops?topic=devsecops-iam-permissions&format=markdown) are assigned to the corresponding integrations.
- Install the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-getting-started&format=markdown).
- Create an [IBM Cloud&reg; Object Storage instance and bucket](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-cos-config&format=markdown). For more information, see [What is IBM Cloud Object Storage](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-about-cloud-object-storage&format=markdown)?
- Create an [IBM Cloud Satellite cluster group](https://cloud.ibm.com/docs/satellite?topic=satellite-setup-clusters-satconfig&format=markdown) to deploy your application into IBM Cloud Satellite cluster group. For more information, see [Understanding Satellite config](https://cloud.ibm.com/docs/satellite?topic=satellite-cluster-config&format=markdown).

You can automatically set up the DevSecOps infrastructure for your toolchains by using an [IBM Cloud&reg; Schematics workspace](https://cloud.ibm.com/docs/schematics?topic=schematics-learn-about-schematics&format=markdown) and a Terraform template by skipping the steps and going directly to [DevSecOps infrastructure and Continuous Integration (CI) toolchain for deploying a secure app set up](https://cloud.ibm.com/docs/devsecops?topic=devsecops-tutorial-apps-devsecops&format=markdown). After the prerequisites and CI toolchain are successfully configured, continue to the [Continuous Deployment (CD) toolchain introduction](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-getting-started&interface=ui&format=markdown).
{: tip}

## Next steps
{: #tutorial-next}

After you complete the prerequisite steps and are ready to get started with toolchain integration, continue to the next tutorial in the series: [Setting up a Continuous Integration toolchain](https://cloud.ibm.com/docs/devsecops?topic=devsecops-tutorial-ci-toolchain&format=markdown).

For additional information about related topics, review the following documentation:

* [Getting started with clusters](https://cloud.ibm.com/docs/containers?topic=containers-getting-started&format=markdown)
* [Getting started with toolchains](https://cloud.ibm.com/devops/getting-started){: external}
* [Getting started with Continuous Delivery](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-getting-started&format=markdown)
* [Getting started with IBM Wazi as a Service](https://www.ibm.com/docs/en/wazi-aas/1.1.0?topic=overview){: external}