---
title: "Add a user certificate via Terraform"
sidebar_label: "Add a certificate"
description: "How to add a user certificate to the Certificate Manager"
sidebar_position: 1
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import ConfigureProviders from '@site/i18n/en/docusaurus-plugin-content-docs-terraform/current/_partials/common/configure-providers.mdx'
import ConfigureProvidersConfig from '@site/i18n/en/docusaurus-plugin-content-docs-terraform/current/_partials/common/configure-providers-config.mdx'
import CreateResourcesAlert from '@site/i18n/en/docusaurus-plugin-content-docs-terraform/current/_partials/common/create-resources-alert.mdx'

# Add a user certificate via Terraform

<CreateResourcesAlert />

<br />

1. Optional: [configure providers](#configure-providers).
2. [Add a certificate](#add-certificate).

## Configuration files \{#config}

<details>
  <summary>Example file for configuring providers</summary>

  <ConfigureProvidersConfig />
</details>

<details>
  <summary>Example file for adding a certificate</summary>

  ```hcl
  resource "selectel_secretsmanager_certificate_v1" "certificate_1" {
    name         = "certificate",
    certificates = [file("./_cert.pem")]
    private_key  = file("./_private_key.pem")
    project_id   = selectel_vpc_project_v2.project_1.id
  }
  ```
</details>

## 1. Optional: configure providers \{#configure-providers}

If you have [configured the Selectel and OpenStack providers](/terraform/configure-terraform-environment/#configure-providers), skip this step.

<ConfigureProviders />

## 2. Add a certificate \{#add-certificate}

```hcl
resource "selectel_secretsmanager_certificate_v1" "certificate_1" {
  name         = "certificate",
  certificates = [file("./_cert.pem")]
  private_key  = file("./_private_key.pem")
  project_id   = selectel_vpc_project_v2.project_1.id
}
```

Where:

* `name` — certificate name;
* `certificates` — path to the certificate chain. Each certificate must start with `-----BEGIN CERTIFICATE-----` and end with `-----END CERTIFICATE-----`;
* `private_key` — path to the private key. The key must start with `-----BEGIN PRIVATE KEY-----` and end with `-----END PRIVATE KEY-----`.

See the detailed description of the [selectel\_secretsmanager\_certificate\_v1](/terraform/selectel-provider-reference/resources/secretsmanager_certificate_v1/) resource.

<Formbricks />
