global: siteUrl: "loop.example.com" # REQUIRED SETTING, PLEASE UPDATE: "https://loop.example.com" # Use an existing secret for License credential (see secret-loop-license.yaml for required fields) existingLicenseSecret: {} # name: "" # key: "" # REQUIRED SETTING, if no existing secret is provided. loopLicense: "" # Settings for configuration of LOOP # For more details: https://docs.loop.ru/administration/config-settings siteName: "" enableTeamCreation: true enableUserCreation: true enableOpenServer: true enableLinkPreviews: true enableCustomEmoji: true # Settings to enable email notifications sendEmailNotifications: false requireEmailVerification: false feedbackName: "" feedbackEmail: "" feedbackOrganization: "" smtpUsername: "" smtpPassword: "" smtpServer: "" smtpPort: "" connectionSecurity: "" # empty, TLS, or STARTTLS features: database: external: driver: "postgres" dataSource: "loopuser:loop-password@loop-database:5432/loop-db?sslmode=disable" # :@@loop-database..svc.cluster.local:5432/?connect_timeout=10&sslmode=disable dataSourceReplicas: "" existingDatabaseSecret: {} jobserver: name: jobserver enabled: true replicaCount: 1 strategy: type: Recreate rollingUpdate: null revisionHistoryLimit: 2 service: name: loop-app-jobserver type: ClusterIP nodeSelector: {} affinity: {} tolerations: [] extraEnv: {} notifications: # Push proxy must be configured or useHPNS must be true for push noticiations to work. push: enabled: true # Hosted push notification service. Requires an enterprise license. # More details at https://docs.loop.ru/mobile/mobile-hpns. useHPNS: true initContainerImage: repository: appropriate/curl tag: latest imagePullPolicy: IfNotPresent # LOOP deployment section. # Use to configure the deploymento the LOOP servers. loop-enterprise-edition: loopApp: replicaCount: 1 image: repository: registry.loop.ru/loop/server tag: 2025-03-03-1 pullPolicy: IfNotPresent strategy: type: RollingUpdate rollingUpdate: maxSurge: 0 maxUnavailable: 1 revisionHistoryLimit: 2 service: name: loop-app type: ClusterIP externalPort: 8065 internalPort: 8065 metricsPort: 8067 clusterPort: 8075 gossipPort: 8074 metricsName: loop-app-metrics ingress: # Used to create Ingress record (should be used with service.type: ClusterIP). enabled: true hosts: - loop.example.com tls: # Secrets must be manually created in the namespace. # - secretName: chart-example-tls # hosts: # - loop.example.com annotations: {} ingressClassName: nginx autoscaling: enabled: false minReplicas: 1 maxReplicas: 1 targetMemoryUtilizationPercentage: 50 targetCPUUtilizationPercentage: 50 nodeSelector: {} affinity: {} tolerations: [] resources: {} # limits: # cpu: 100m # memory: 300Mi # requests: # cpu: 100m # memory: 300Mi extraInitContainers: [] # Add additional volumes and mounts, for example to add SAML keys in the app or other files the app server may need to access extraVolumes: [] # - hostPath: # path: /var/log # name: varlog extraVolumeMounts: [] # - name: varlog # mountPath: /host/var/log # readOnly: true ## Allows the specification of additional environment variables for LOOP extraEnv: - name: MM_ELASTICSEARCHSETTINGS_USERNAME value: "" # Username Elasticsearch - name: MM_ELASTICSEARCHSETTINGS_PASSWORD value: "" # Password Elasticsearch - name: MM_ELASTICSEARCHSETTINGS_CONNECTIONURL value: "" # Elasticsearch URL - name: MM_ELASTICSEARCHSETTINGS_ENABLEINDEXING value: "false" # Use Elasticsearch indexing - name: MM_ELASTICSEARCHSETTINGS_ENABLESEARCHING value: "false" # Use Elasticsearch for searching - name: MM_FILESETTINGS_AMAZONS3SSE value: "false" #Env indicates whether SSL (Server-Side Encryption) is enabled for S3 - name: MM_FILESETTINGS_AMAZONS3SSL value: "false" #Env indicates whether the connection to Amazon S3 should take place over SSL - name: MM_FILESETTINGS_DRIVERNAME value: "amazons3" #The name of the driver for working with files - name: MM_FILESETTINGS_AMAZONS3ACCESSKEYID value: "accesskey-minio" # S3 access key - name: MM_FILESETTINGS_AMAZONS3SECRETACCESSKEY value: "secretkey-minio" # S3 secretaccess key - name: MM_FILESETTINGS_AMAZONS3BUCKET value: "loop-bucket" # S3 bucket name - name: MM_FILESETTINGS_AMAZONS3ENDPOINT value: "loop-minio:9000" # S3 endpoint url - name: MM_FILESETTINGS_MAXFILESIZE value: "1048576000" #The maximum file size to download, specified in bytes. - name: MM_LOGSETTINGS_CONSOLEJSON value: "false" #The flag indicates whether the output to the console should be in JSON format - name: MM_LOGSETTINGS_CONSOLELEVEL value: "DEBUG" #Logging level for console output - name: MM_LOGSETTINGS_FILELEVEL value: "DEBUG" #The logging level for writing to a file - name: MM_PLUGINSETTINGS_AUTOMATICPREPACKAGEDPLUGINS value: "true" #The flag indicates whether automatic loading of pre-packaged plugins is allowed - name: MM_PLUGINSETTINGS_ENABLEUPLOADS value: "true" #The flag indicates whether plugin downloads are allowed - name: MM_SERVICEENVIRONMENT value: "production" #The environment in which the application is running (for example, "production") - name: MM_SERVICESETTINGS_ENABLEBOTACCOUNTCREATION value: "true" #The flag indicates whether the creation of bot accounts is allowed - name: MM_SERVICESETTINGS_ENABLEOAUTHSERVICEPROVIDER value: "true" #It is used to determine whether the use of third-party OAuth service providers is allowed - name: MM_SERVICESETTINGS_ENABLETESTING value: "true" #The flag indicates whether testing is allowed - name: MM_SERVICESETTINGS_ENABLEUSERACCESSTOKENS value: "true" #The flag indicates whether user access tokens are allowed - name: MM_SERVICESETTINGS_GIPHYSDKKEY value: "" #Giphy SDK key for integration with Giphy ## The following environment variables are required to run loop in clustered mode. # - name: MM_CLUSTERSETTINGS_ENABLE # value: "true" # - name: MM_CLUSTERSETTINGS_CLUSTERNAME # value: "loop-example-cluster" # - name: MM_CLUSTERSETTINGS_ENABLEEXPERIMENTALGOSSIPENCRYPTION # value: "true" # - name: MM_CLUSTERSETTINGS_ENABLEGOSSIPCOMPRESSION # value: "false" # - name: MM_CLUSTERSETTINGS_READONLYCONFIG # value: "false" ## Additional pod annotations extraPodAnnotations: {} # Postgresql Section. Use this to configure postgresql. # If you want to use an external database, disable this. postgresql: enabled: true global: postgresql: auth: database: "loop-db" username: "loopuser" password: "loop-password" name: loop-database fullnameOverride: loop-database nameOverride: loop-database primary: persistence: size: 500Mi resources: limits: cpu: 500m memory: 1Gi requests: cpu: 250m memory: 256Mi # Minio Section. Use this to configure Minio storage. # If you want to use external storage, disable this. loop-minio: enabled: true accessKey: "accesskey-minio" secretKey: "secretkey-minio" name: loop-minio fullnameOverride: loop-minio nameOverride: loop-minio persistence: enabled: true storageClass: "" accessMode: ReadWriteOnce size: 10Gi resources: requests: memory: 256Mi cpu: 250m defaultBuckets: "loop-bucket" provisioning: enabled: true users: - username: accesskey-minio password: secretkey-minio disabled: false policies: - readwrite serviceAccount: create: false name: annotations: {}