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
Make sure you set the value of `diffgramEdition` in the `values.yaml` to either `opencore`
8
-
or `enterprise`.
5
+
Full Tutorial on Azure: https://medium.com/diffgram/tutorial-installing-diffgram-on-azure-aks-b9447685e271
9
6
10
-
If you set the `diffgramEdition` to `enterprise` you will have to provide the GCR credentials
11
-
Key (Provided by the Diffgram Team). And set the value on `imagePullCredentials.gcrCredentials` value inside the `values.yaml` file.
12
-
### Setting Up the Docker Registry Key (Enterprise Only):
7
+
# How to Install:
13
8
14
-
To install the helm chart with the Enterprise Edition of Diffgram you will need to receive a GCR key with the permissions from
15
-
the Diffgram team to fetch our images.
9
+
## A. Pre-requisites
16
10
17
-
Please Contact us if you want to get one here: https://diffgram.com/contact
11
+
### Ingress Controller
12
+
If you are using minikube make sure you've done:
18
13
19
-
Once you have your GCR Key please set it in the `values.yaml` file, specifically inside the
20
-
key `imagePullCredentials.gcrCredentials`.
14
+
`minikube addons enable ingress`
21
15
16
+
To have the ingress enabled, otherwise you won't be able to acess your diffgram services from outside the cluster.
22
17
18
+
If you are not on minikube, you can use the Nginx K8s Ingress Controller. Check how to install on your cloud provider here: https://kubernetes.github.io/ingress-nginx/deploy/
Finally Modify your `values.yaml` so that helm chart can grab the secret using cert-manager
51
+
issuers. Set `tlsIssuer` to `issuer-local` and `localCaSecretName` to the name you have to the secret created above:
52
+
53
+
```angular2html
54
+
tlsIssuer: issuer-local # One of: "issuer-local", "letsencrypt-staging", or "letsencrypt-prod"
55
+
localCaSecretName: my-local-ca-key-pair
56
+
57
+
```
58
+
59
+
60
+
#### Using cert-manager & Public Domains
61
+
62
+
##### Caution
63
+
This guide assumes you will be using a regular domain name like `diffgram.com`. If you are using an auto generated domain name it may require different configuration.
64
+
SSL is up to you/your IT team. For debugging the config tools like [SSL Labs](https://www.ssllabs.com/ssltest/analyze.html) may be useful.
65
+
66
+
##### Guide
32
67
1. If you want to have TLS connections, please make sure you have a domain available and access to the name servers so you can modify the records to point to the IP addresses of the ingress.
2. Now edit the values.yaml of Diffgram’s helm chart and change the following keys:
39
74
-**diffgramDomain:** set it to the domain you own.
40
75
-**useCertManager:** set this to true. This will allow the certificate issue to be created so you can automatically get a TLS certificate for your domain with let’s encrypt.
41
-
76
+
-**tlsIssuer** set this to `letsencrypt-prod` so that TLS is validated by Let's Encrypt.
If you don't change anything on `values.yaml`. You will have the namespace `default` created on your cluster
93
+
94
+
Note: if on Minikube: run `echo "$(minikube ip) example.com" | sudo tee -a /etc/hosts`
95
+
96
+
To point minikube to domain example.com (or whatever domain you have set in the `diffgramDomain` inside `values.yaml`
97
+
98
+
### Values to Change in `values.yaml`
99
+
Check section D. to see required values.
52
100
53
-
You can substitute `./diffgram` with whatever the path to this repo is on your local machine. Also feel free to install on any other namespace.
101
+
102
+
103
+
You can substitute `./diffgram-helm` with whatever the path to this repo is on your local machine. Also feel free to install on any other namespace.
54
104
55
105
Future versions will provide a repo to download the chart without cloning from github.
56
106
57
-
# Main Structure
107
+
## C. Main Structure
58
108
When deploying this chart there are 5 main components to be aware of:
59
109
60
110
**1. default-service:** This is the service in charge for most of the API calls and data management. Both for the SDK and for the Frontend UI.
@@ -68,7 +118,7 @@ When deploying this chart there are 5 main components to be aware of:
68
118
**5. ingress:** A Nginx ingress controller for accessing all the services. This is the entry point and router to all the above services.
69
119
70
120
71
-
# Configurations:
121
+
## D. Configurations:
72
122
The following are some of the most important configurations of the values.yaml in the helm chart. Please feel free to contact us if you have any questions on any of the configurations.
73
123
## 4.1 Database Settings
74
124
**1. dbSettings.dbProvider:** Set this to “rds”, "azure", or "local" depending on your DB managed service.
@@ -84,6 +134,7 @@ The following are some of the most important configurations of the values.yaml i
84
134
**6. dbSettings.dbPassword:** Set this to RDS instance’s password
85
135
86
136
## 4.2 Diffgram Configuration Settings
137
+
**1. diffgramSecrets.DIFFGRAM_STATIC_STORAGE_PROVIDER:** Set this to “aws”, "azure", or "gcp" depending on your DB managed service. Default is `aws`
87
138
**1. diffgramSecrets.DIFFGRAM_AWS_ACCESS_KEY_ID:** Set this to your AWS credentials access key. Make sure the account has permissions to the S3 bucket you’ll use as static storage.
88
139
89
140
**2. diffgramSecrets.DIFFGRAM_AWS_ACCESS_KEY_SECRET:** Set this to your AWS credentials secret. Make sure the account has permissions to the S3 bucket you’ll use as static storage.
@@ -92,5 +143,18 @@ The following are some of the most important configurations of the values.yaml i
92
143
93
144
**4. diffgramSettings.ML__DIFFGRAM_S3_BUCKET_NAME:** Set this to your S3’s bucket name for static file storage.
94
145
146
+
## E. Common Issues:
147
+
148
+
### 1. My Helm Chart gets stuck during install and the timesout with
149
+
150
+
Try doing `kubectl get pods` and find a pod named `diffgram-pre-install-{SOME-ID}`.
151
+
152
+
Now do `kubectl logs diffgram-pre-install-{SOME-ID} -c pre-upgrade-alembic-hook`
153
+
154
+
This will show the logs of the POD to further debug the issue. Most common causes for this error are:
155
+
156
+
- Missing Blob Storage Provider Credentials (Either AWS Access Keys, GCP Service Account or Azure Conn String)
95
157
158
+
### 2. `directory_id` header is not present on my SDK requests.
159
+
Your ingress might not have the `allow-underscores-in-headers` config. Please enable it by looking at this config: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#enable-underscores-in-headers
0 commit comments