# Cert-manager & Gitlab Managed Cluster
## Table of contents
<style>
.reveal {
font-size: 24px;
}
</style>
- Cert-manager
- Gitlab managed cluster
- A litle overview on our clusters
---
## What is cert manager
Cert manager simplifies the process of requesting certificates for new domains.
It is also resposible for renewing them.
> cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates.
-> https://cert-manager.io/docs/
---
## Why we needed to update cert-manager
Previously we were using version `v0.9.1` which is not compatible with our current version of kubernetes `v.1.20`
Basically, we were not able to issue new certificates.
[Table of cert-manager compatibility](https://cert-manager.io/docs/installation/supported-releases/)
---
## How we can update cert-manager resources in our cluster ??
---
## Manage cluster dependencies with Gitlab
Previosly, Gitlab offer a service for cluster management called "GitLab-managed clusters". This was how our current clusters were setup.
Unfortunetely, this is now deprecated => https://docs.gitlab.com/ee/user/project/clusters/gitlab_managed_clusters.html
GitLab Managed Apps (DEPRECATED) => https://docs.gitlab.com/ee/user/clusters/applications.html
---
## Manage cluster dependencies with Gitlab
Instead, the recommended way to manage is using a "Cluster Management Project"
We started using this "Cluster Management" Project => https://gitlab.com/equalture/cluster-manager
Our repository is a fork from this other: https://gitlab.com/gitlab-org/project-templates/cluster-management
---
## Manage cluster dependencies with Gitlab
What is important here:
- We can specify our dependencies here: https://gitlab.com/equalture/cluster-manager/-/blob/master/helmfile.yaml
- We can automatize the update using gitlab CI: https://gitlab.com/equalture/cluster-manager/-/pipelines/510159882
---
## In our clusters
We need to go to "gitlab-managed-apps" namespace
```sh
kubectl config set-context --current --namespace=gitlab-managed-apps
```
There we can list the "charts" that we have already installed:
```sh
helm3 ls
```

---
## What is helm
A deployment tool for kubernetes. Allows to create charts/release based on templates of resources.
Useful for creating template that can be shared between different environments.
helm3 install => https://helm.sh/docs/intro/install/
---
## Next steps
- Upgrade Nginx too
- Use "Gitlab Cluster Manager template" as "source" repository. So we can get from there the latest version of the dependencies.
## Thanks for your attention!
{"metaMigratedAt":"2023-06-17T00:19:39.670Z","metaMigratedFrom":"Content","title":"Cert-manager & Gitlab Managed Cluster","breaks":true,"contributors":"[{\"id\":\"23397e98-077f-4fa6-94ec-d8ed5fbb59af\",\"add\":3332,\"del\":591}]"}