> For the complete documentation index, see [llms.txt](https://docs.cloudeka.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudeka.ai/deka-gpu/deka-gpu-service/ingress/install-cert-manager.md).

# Install Cert Manager

## Create namespace & vpc

To install cert manager, you need to create a namespace and a vpc.

```bash
kubectl create ns cert-manager
```

Create a YAML file cvpc-cert-manager.

```bash
nano cvpc-cert-manager.yaml
```

Copy and paste the following YAML contents.

```yaml
apiVersion: tenants.cloudeka.ai/v1alpha2
kind: CloudekaVPC
metadata:
  name: cert-manager
  namespace: cert-manager
spec:
  isolate: false
```

After pasting the syntax, save the file by pressing Ctrl + O, then press the Enter key and exit the editor by pressing Ctrl + X. The next step is to apply this configuration.

```yaml
kubectl apply -f cvpc-cert-manager.yaml
```

## Add helm repository

Add a Helm repository by running the following command.

```
helm repo add jetstack https://charts.jetstack.io --force-update
```

Create values.yaml file from the helm repository

```
helm show values cert-manager --repo https://charts.jetstack.io > values.yaml
```

Modify values.yaml file

```bash
nano values.yaml
```

Set resources cert manager.

```yaml
resources:
  limits:
    cpu: 1
    memory: 1Gi
  requests:
    cpu: 1
    memory: 1Gi
```

Set resources webhook.

```yaml
webhook:
  resources:
    limits:
      cpu: 1
      memory: 1Gi
    requests:
      cpu: 1
      memory: 1Gi
```

Set resources cainjector.

```yaml
cainjector:
  resources:
    limits:
      cpu: 1
      memory: 1Gi
    requests:
      cpu: 1
      memory: 1Gi
```

Set resources startupapicheck.

```yaml
startupapicheck:
  resources:
    limits:
      cpu: 1
      memory: 1Gi
    requests:
      cpu: 1
      memory: 1Gi
```

Deploy cert-manager

```
helm install cert-manager httpsjetstack/cert-manager --namespace ingress-nginx --values values.yaml
```
