Skip to content

Commit ca68fef

Browse files
committed
Merge remote-tracking branch 'origin/main' into main
2 parents 848eaee + a631519 commit ca68fef

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,67 @@
11
# diffgram-helm
22
Helm Chart for DIffgram
3+
4+
# Pre-requisites
5+
6+
### TLS Ceritificates
7+
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.
8+
9+
`helm repo add jetstack https://charts.jetstack.io`
10+
11+
`helm install cert-manager --namespace default jetstack/cert-manager --set installCRDs=true`
12+
13+
2. Now edit the values.yaml of Diffgram’s helm chart and change the following keys:
14+
- **diffgramDomain:** set it to the domain you own.
15+
- **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.
16+
17+
3. Reinstall the helm chart
18+
19+
20+
`helm upgrade diffgram -f diffgram/new_updated_values_from_above_step.yaml`
21+
22+
4. After a few minutes you should be able to see the issuer and the certificate generated. You can confirm this by running:
23+
`kubectl describe issuer letsencrypt-prod`
24+
25+
# Installation
26+
`helm install diffgram ./diffgram`
27+
28+
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.
29+
30+
Future versions will provide a repo to download the chart without cloning from github.
31+
32+
# Main Structure
33+
When deploying this chart there are 5 main components to be aware of:
34+
35+
**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.
36+
**2. walrus-service:** This is a long running service for CPU intensive processing. Things like video, splitting, huge files copying and other maintainance tasks are performed on this service
37+
**3. frontend-service:** Static VueJS frontend for accessing Diffgram.
38+
**4. db-service:** A PostgresSQL database, we usually recommend linking an external managed cloud service like AWS RDS, GCP SQL Service, or Azure Managed SQL Service.
39+
**5. ingress:** A Nginx ingress controller for accessing all the services. This is the entry point and router to all the above services.
40+
41+
42+
# Configurations:
43+
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.
44+
## 4.1 Database Settings
45+
**1. dbSettings.dbProvider:** Set this to “rds”
46+
47+
**2. dbSettings.rdsEndpoint:** Set this to your RDS instance endpoint, so diffgram can use it as the database.
48+
49+
**3. dbSettings.dbProvider:** Set this to “rds”
50+
51+
**4, dbSettings.dbUser:** Set this to the postgres user you want to use with Diffgram.
52+
53+
**5. dbSettings.dbName:** Set this to Postgres Database name you want to create the tables on
54+
55+
**6. dbSettings.dbPassword:** Set this to RDS instance’s password
56+
57+
## 4.2 Diffgram Configuration Settings
58+
**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.
59+
60+
**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.
61+
62+
**3. diffgramSettings.DIFFGRAM_S3_BUCKET_NAME:** Set this to your S3’s bucket name for static file storage.
63+
64+
**4. diffgramSettings.ML__DIFFGRAM_S3_BUCKET_NAME:** Set this to your S3’s bucket name for static file storage.
65+
66+
67+

0 commit comments

Comments
 (0)