Hello Amelia,
I don’t have the values.yml file, we installed it 2 years ago I think at that time there was no helm support. What I can share are K8 definition files:
backoffice-backend
apiVersion: v1
kind: Service
metadata:
name: backoffice-backend-service
namespace: backoffice
labels:
app: backoffice-backend-service
spec:
selector:
app: backoffice-internal-server
type: NodePort
ports:
- port: 8080
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: backoffice-internal-server
name: backoffice-internal-server
namespace: backoffice
spec:
replicas: 1
selector:
matchLabels:
app: backoffice-internal-server
template:
metadata:
labels:
app: backoffice-internal-server
spec:
containers:
- envFrom:
- configMapRef:
name: backoffice-config
- configMapRef:
name: backoffice-encryption-config
image: appsmith/appsmith-server:latest
name: backoffice-internal-server
resources:
limits:
cpu: 300m
memory: 600M
requests:
cpu: 100m
memory: 300M
ports:
- containerPort: 8080
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: app-type
operator: In
values:
- system
backoffice-ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: backoffice-ingress
namespace: backoffice
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
backend:
serviceName: "backoffice-editor"
servicePort: 80
rules:
- host:
http:
paths:
- path: /api
pathType: Prefix
backend:
serviceName: backoffice-backend-service
servicePort: 8080
- path: /api
pathType: Prefix
backend:
serviceName: backoffice-backend-service
servicePort: 8080
- path: /oauth2
pathType: Prefix
backend:
serviceName: backoffice-backend-service
servicePort: 8080
- path: /login
pathType: Prefix
backend:
serviceName: backoffice-backend-service
servicePort: 8080
- path: /static
pathType: Prefix
backend:
serviceName: backoffice-editor
servicePort: 80
- path: /
pathType: Prefix
backend:
serviceName: backoffice-editor
servicePort: 80
backoffice-mongo.yaml
apiVersion: v1
kind: Service
metadata:
name: backoffice-mongo-service
namespace: backoffice
labels:
name: mongo
spec:
type: NodePort
ports:
- port: 27017
targetPort: 27017
protocol: TCP
selector:
role: mongo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: backoffice-mongo-statefulset
namespace: backoffice
spec:
selector:
matchLabels:
role: mongo
serviceName: "backoffice-mongo-service"
replicas: 1
template:
metadata:
labels:
role: mongo
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mongo
image: mongo:4.4.6
ports:
- containerPort: 27017
volumeMounts:
- name: mongo-persistent-storage
mountPath: /data/db
envFrom:
- configMapRef:
name: backoffice-mongo-config
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: app-type
operator: In
values:
- system
volumeClaimTemplates:
- metadata:
name: mongo-persistent-storage
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 10Gi
backoffice-redis.yaml
apiVersion: v1
kind: Service
metadata:
name: backoffice-redis-service
namespace: backoffice
labels:
name: redis
spec:
type: NodePort
ports:
- port: 6379
targetPort: 6379
selector:
role: redis
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: backoffice-redis-statefulset
namespace: backoffice
spec:
selector:
matchLabels:
role: redis
serviceName: "backoffice-redis-service"
replicas: 1
template:
metadata:
labels:
role: redis
spec:
terminationGracePeriodSeconds: 10
containers:
- name: redis
image: redis
ports:
- containerPort: 6379
volumeMounts:
- name: redis-persistent-storage
mountPath: /data
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: app-type
operator: In
values:
- system
volumeClaimTemplates:
- metadata:
name: redis-persistent-storage
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 5Gi
frontend.yaml
apiVersion: v1
kind: Service
metadata:
name: backoffice-editor
namespace: backoffice
spec:
selector:
app: backoffice-editor
ports:
- port: 80
targetPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: backoffice-editor
namespace: backoffice
spec:
selector:
matchLabels:
app: backoffice-editor
replicas: 1
template:
metadata:
labels:
app: backoffice-editor
spec:
containers:
- name: nginx
image: appsmith/appsmith-editor
ports:
- containerPort: 80
envFrom:
- configMapRef:
name: backoffice-config
volumeMounts:
- name: backoffice-nginx-config-template
mountPath: /nginx.conf.template
subPath: nginx.conf.template
resources:
limits:
cpu: 50m
memory: 80M
requests:
cpu: 30m
memory: 30M
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: app-type
operator: In
values:
- system
volumes:
- name: backoffice-nginx-config-template
configMap:
name: backoffice-nginx-config-template
backoffice-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: backoffice-config
namespace: backoffice
data:
APPSMITH_MAIL_ENABLED: "false"
# APPSMITH_MAIL_FROM: ""
# APPSMITH_REPLY_TO: ""
# APPSMITH_MAIL_HOST: ""
# APPSMITH_MAIL_PORT: ""
# APPSMITH_MAIL_SMTP_TLS_ENABLED: ""
# APPSMITH_MAIL_USERNAME: ""
# APPSMITH_MAIL_PASSWORD: ""
# APPSMITH_MAIL_SMTP_AUTH: ""
# APPSMITH_OAUTH2_GOOGLE_CLIENT_ID: ""
# APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET: ""
# APPSMITH_OAUTH2_GITHUB_CLIENT_ID: ""
# APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET: ""
APPSMITH_GOOGLE_MAPS_API_KEY: ""
APPSMITH_REDIS_URL: redis://backoffice-redis-service:6379
APPSMITH_MONGODB_URI: mongodb://backoffice-admin:backoffice-password@backoffice-mongo-service:27017/backoffice?retryWrites=true&authSource=admin
APPSMITH_DISABLE_TELEMETRY: "true"
APPSMITH_RECAPTCHA_SITE_KEY: ""
APPSMITH_RECAPTCHA_SECRET_KEY: ""
APPSMITH_RECAPTCHA_ENABLED: "false"
backoffice-encryption-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: backoffice-encryption-config
namespace: backoffice
data:
APPSMITH_ENCRYPTION_PASSWORD: somevalue
APPSMITH_ENCRYPTION_SALT: somevaluee
backoffice-mongo-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: backoffice-mongo-config
namespace: backoffice
data:
MONGO_INITDB_DATABASE: backoffice
MONGO_INITDB_ROOT_USERNAME: backoffice-admin
MONGO_INITDB_ROOT_PASSWORD: backoffice-password
backoffice-nginx-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: backoffice-nginx-config-template
namespace: backoffice
data:
nginx.conf.template: "
server {
listen 80;
client_max_body_size 100m;
gzip on;
root /var/www/appsmith;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
location / {
try_files $uri /index.html =404;
alias /var/www/appsmith/;
sub_filter __APPSMITH_SENTRY_DSN__ '${APPSMITH_SENTRY_DSN}';
sub_filter __APPSMITH_SMART_LOOK_ID__ '${APPSMITH_SMART_LOOK_ID}';
sub_filter __APPSMITH_OAUTH2_GOOGLE_CLIENT_ID__ '${APPSMITH_OAUTH2_GOOGLE_CLIENT_ID}';
sub_filter __APPSMITH_OAUTH2_GITHUB_CLIENT_ID__ '${APPSMITH_OAUTH2_GITHUB_CLIENT_ID}';
sub_filter __APPSMITH_MARKETPLACE_ENABLED__ '${APPSMITH_MARKETPLACE_ENABLED}';
sub_filter __APPSMITH_SEGMENT_KEY__ '${APPSMITH_SEGMENT_KEY}';
sub_filter __APPSMITH_OPTIMIZELY_KEY__ '${APPSMITH_OPTIMIZELY_KEY}';
sub_filter __APPSMITH_ALGOLIA_API_ID__ '${APPSMITH_ALGOLIA_API_ID}';
sub_filter __APPSMITH_ALGOLIA_SEARCH_INDEX_NAME__ '${APPSMITH_ALGOLIA_SEARCH_INDEX_NAME}';
sub_filter __APPSMITH_ALGOLIA_API_KEY__ '${APPSMITH_ALGOLIA_API_KEY}';
sub_filter __APPSMITH_CLIENT_LOG_LEVEL__ '${APPSMITH_CLIENT_LOG_LEVEL}';
sub_filter __APPSMITH_GOOGLE_MAPS_API_KEY__ '${APPSMITH_GOOGLE_MAPS_API_KEY}';
sub_filter __APPSMITH_TNC_PP__ '${APPSMITH_TNC_PP}';
sub_filter __APPSMITH_VERSION_ID__ '${APPSMITH_VERSION_ID}';
sub_filter __APPSMITH_VERSION_RELEASE_DATE__ '${APPSMITH_VERSION_RELEASE_DATE}';
sub_filter __APPSMITH_INTERCOM_APP_ID__ '${APPSMITH_INTERCOM_APP_ID}';
sub_filter __APPSMITH_MAIL_ENABLED__ '${APPSMITH_MAIL_ENABLED}';
sub_filter __APPSMITH_DISABLE_TELEMETRY__ '${APPSMITH_DISABLE_TELEMETRY}';
sub_filter __APPSMITH_CLOUD_SERVICES_BASE_URL__ '${APPSMITH_CLOUD_SERVICES_BASE_URL}';
sub_filter __APPSMITH_RECAPTCHA_SITE_KEY__ '${APPSMITH_RECAPTCHA_SITE_KEY}';
sub_filter __APPSMITH_RECAPTCHA_SECRET_KEY__ '${APPSMITH_RECAPTCHA_SECRET_KEY}';
sub_filter __APPSMITH_RECAPTCHA_ENABLED__ '${APPSMITH_RECAPTCHA_ENABLED}';
}
location /f {
proxy_pass https://cdn.optimizely.com/;
}
}"