You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 18, 2024. It is now read-only.
Kubic is a cutting edge, ready for production and multi cloud provider Kubernetes infrastructure as code. It integates an ingress controller, a certificate manager, a monitoring stack, a GitOps tool with complete secret management and a backup tool.
4
17
5
18
This Terraform aims at creating a managed k8s cluster setup with :
6
19
7
20
- NGINX Ingress Controller
8
21
- Cert-manager
9
-
- ArgoCD
10
22
- Prometheus / Grafana
11
-
-Velero for backuping the cluster
23
+
-ArgoCD
12
24
- Hashicorp Vault if needed
25
+
- ArgoCD Vault Plugin if Vault is deployed
26
+
- Velero for backuping the cluster
13
27
14
28
The cluster can be deployed either on OVHCloud or on Scaleway. New provider can be added by creating a new folder in the root of the repository, and by following the same architecture as the existing providers.
15
29
@@ -26,23 +40,25 @@ The cluster can be deployed either on OVHCloud or on Scaleway. New provider can
26
40
├── examples # Folder containing examples of applications to deploy with ArgoCD
27
41
├── .gitignore
28
42
├── LICENSE
29
-
└── README.md
43
+
└── README.md
30
44
```
31
45
32
46
All files contained in the folder `common` are symbolicaly linked in the folders `ovh` and `scaleway` to avoid code duplication.
Currently, only OVH and Scaleway are supported as providers. Here are the guidelines to add a new provider:
61
+
46
62
- Create a new folder in the root of the repository, with the name of the provider;
47
63
- Create a symlink for all files in `common` to your new folder;
48
64
- Create a `terraform.tf` file containing:
@@ -52,6 +68,7 @@ Currently, only OVH and Scaleway are supported as providers. Here are the guidel
52
68
- A `ingress-nginx.tf` file, deploying the [ingress-nginx ingress controller](https://kubernetes.github.io/ingress-nginx) and configuring it with an external IP (you may need to create a load balancer on your provider). The ingress IP should be a Terraform output named `ingress_ip`;
53
69
- This must also create a `null_resource` named `ingress-nginx` that will `depends_on` on the node pool of your cluster (this is to get a consistent dependency chain for Terraform)
54
70
- The controller must have at least the following configuration:
71
+
55
72
```yaml
56
73
controller:
57
74
metrics:
@@ -65,4 +82,5 @@ controller:
65
82
admissionWebhooks:
66
83
timeoutSeconds: 30
67
84
```
68
-
- Edit the `docker-compose.yaml` and create a service (adapt merely the code) for your provider.
85
+
86
+
- Edit the `docker-compose.yaml` and create a service (adapt merely the code) for your provider.
0 commit comments