Issue
I wanted to know if Appsmith, a platform I am using, uses persistent storage in Kubernetes and what is stored in it. I also wanted to know if it can use a database instead of using the filesystem for MongoDB data.
Resolution
Appsmith uses persistent storage in Kubernetes to store MongoDB data and repos for git-connected applications. The MongoDB data includes users, workspaces, and applications. Appsmith can use a custom MongoDB as well. However, for git-repos, it needs access to the filesystem.
Here is an example of how Appsmith uses the persistent storage in Kubernetes to store MongoDB data:
apiVersion: apps/v1kind: Deploymentmetadata: name: appsmith-mongodbspec: selector: matchLabels: app: appsmith-mongodb replicas: 1 strategy: type: Recreate template: metadata: labels: app: appsmith-mongodb spec: volumes: - name: mongo-data persistentVolumeClaim: claimName: mongo-data containers: - name: appsmith-mongodb image: mongo:4 volumeMounts: - name: mongo-data mountPath: /data/db
As you can see from the example, a persistent volume claim is created for the MongoDB data. The deployment specifies that the MongoDB container mounts the persistent volume claim and uses it to store its data.
Overall, Appsmith uses persistent storage in Kubernetes to store important data that needs to persist between container restarts. This ensures that the application data is not lost and can be accessed by the application whenever needed.