CharlesCD's installation considers these components:
- Charles' architecture specific modules;
- Keycloak, used for authentication and authorization;
- A PostgreSQL database for backend modules (
moove
,circle-matcher
,butler,
villager
andcharlescd-compass
) and Keycloak; - A Redis, to be used by
charlescd-circle-matcher
- By default, a module called
octopipe
is added to the installation. This is a native platform created by our team to make installation easier, without previous configurations. However, you can disable it in the installation files.
To install Charles it will be necessary an environment with the following requisites:
- Kubernetes.
- ****Istio ****(version<= 1.4 and enabled sidecar injection ****on the deploy namespace of your application).
- ****Prometheus, in case you want to use ****metrics.
- ****Ingress****
{% hint style="warning" %} What is Ingress? It is an engine that exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. You can find out more about it here.
When you install Charles it comes with a default ingress, however if you want to use your own, follow the steps to enable it. {% endhint %}
The minimum resources considering only the installation of Charles are:
- Microk8s: 2GB of RAM;
- Minikube: 4GB of RAM.
- Cluster: 2GB of RAM
On this section, you saw components, requirements and resources to install Charles. To continue the installation, see:
{% page-ref page="installing-via-single-file.md" %}
{% page-ref page="installing-via-helm.md" %}
{% page-ref page="your-first-charles-access.md" %}