first commit

This commit is contained in:
2025-04-24 13:11:28 +08:00
commit ff9c54d5e4
5960 changed files with 834111 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
{
"databaseUrl": "HISTORY_CONNECTION_STRING",
"databaseUrlReadOnly": "HISTORY_FOLLOWER_CONNECTION_STRING",
"herokuDatabaseUrl": "DATABASE_URL",
"databasePoolMin": "DATABASE_POOL_MIN",
"databasePoolMax": "DATABASE_POOL_MAX",
"persistor": {
"backend": "PERSISTOR_BACKEND",
"s3": {
"key": "AWS_ACCESS_KEY_ID",
"secret": "AWS_SECRET_ACCESS_KEY",
"endpoint": "AWS_S3_ENDPOINT",
"pathStyle": "AWS_S3_PATH_STYLE",
"maxRetries": "S3_MAX_RETRIES",
"httpOptions": {
"timeout": "S3_TIMEOUT"
}
},
"gcs": {
"deletedBucketSuffix": "GCS_DELETED_BUCKET_SUFFIX",
"unlockBeforeDelete": "GCS_UNLOCK_BEFORE_DELETE",
"endpoint": {
"apiEndpoint": "GCS_API_ENDPOINT",
"projectId": "GCS_PROJECT_ID"
},
"retryOptions": {
"maxRetries": "GCS_MAX_RETRIES",
"idempotencyStrategy": "GCS_IDEMPOTENCY_STRATEGY"
}
},
"fallback": {
"backend": "PERSISTOR_FALLBACK_BACKEND",
"buckets": "PERSISTOR_BUCKET_MAPPING"
}
},
"backupPersistor": {
"keyEncryptionKeys": "BACKUP_KEY_ENCRYPTION_KEYS",
"s3SSEC": {
"key": "AWS_ACCESS_KEY_ID",
"secret": "AWS_SECRET_ACCESS_KEY",
"endpoint": "AWS_S3_ENDPOINT",
"pathStyle": "AWS_S3_PATH_STYLE",
"maxRetries": "BACKUP_S3_MAX_RETRIES",
"httpOptions": {
"timeout": "BACKUP_S3_TIMEOUT"
}
}
},
"blobStore": {
"globalBucket": "OVERLEAF_EDITOR_BLOBS_BUCKET",
"projectBucket": "OVERLEAF_EDITOR_PROJECT_BLOBS_BUCKET"
},
"chunkStore": {
"historyStoreConcurrency": "HISTORY_STORE_CONCURRENCY",
"bucket": "OVERLEAF_EDITOR_CHUNKS_BUCKET"
},
"zipStore": {
"bucket": "OVERLEAF_EDITOR_ZIPS_BUCKET",
"zipTimeoutMs": "ZIP_STORE_ZIP_TIMEOUT_MS"
},
"backupStore": {
"chunksBucket":"BACKUP_OVERLEAF_EDITOR_CHUNKS_BUCKET",
"deksBucket":"BACKUP_OVERLEAF_EDITOR_DEKS_BUCKET",
"globalBlobsBucket":"BACKUP_OVERLEAF_EDITOR_GLOBAL_BLOBS_BUCKET",
"projectBlobsBucket":"BACKUP_OVERLEAF_EDITOR_PROJECT_BLOBS_BUCKET"
},
"healthCheckBlobs": "HEALTH_CHECK_BLOBS",
"healthCheckProjects": "HEALTH_CHECK_PROJECTS",
"backupRPOInMS": "BACKUP_RPO_IN_MS",
"minSoftDeletionPeriodDays": "MIN_SOFT_DELETION_PERIOD_DAYS",
"mongo": {
"uri": "MONGO_CONNECTION_STRING"
},
"basicHttpAuth": {
"password": "STAGING_PASSWORD",
"oldPassword": "BASIC_HTTP_AUTH_OLD_PASSWORD"
},
"jwtAuth": {
"key": "OT_JWT_AUTH_KEY",
"oldKey": "OT_JWT_AUTH_OLD_KEY",
"algorithm": "OT_JWT_AUTH_ALG"
},
"clusterWorkers": "CLUSTER_WORKERS",
"maxFileUploadSize": "MAX_FILE_UPLOAD_SIZE",
"httpsOnly": "HTTPS_ONLY",
"httpRequestTimeout": "HTTP_REQUEST_TIMEOUT",
"redis": {
"queue": {
"host": "QUEUES_REDIS_HOST",
"password": "QUEUES_REDIS_PASSWORD",
"port": "QUEUES_REDIS_PORT"
},
"history": {
"host": "HISTORY_REDIS_HOST",
"password": "HISTORY_REDIS_PASSWORD",
"port": "HISTORY_REDIS_PORT"
},
"lock": {
"host": "REDIS_HOST",
"password": "REDIS_PASSWORD",
"port": "REDIS_PORT"
}
}
}

View File

@@ -0,0 +1,43 @@
{
"persistor": {
"backend": "s3",
"s3": {
"signedUrlExpiryInMs": "1800000",
"maxRetries": "1",
"httpOptions": {
"timeout": "8000"
}
},
"gcs": {
"signedUrlExpiryInMs": "1800000",
"deleteConcurrency": "50"
}
},
"backupPersistor": {
"backend": "s3SSEC",
"s3SSEC": {
"maxRetries": "1",
"pathStyle": false,
"httpOptions": {
"timeout": "120000"
}
}
},
"backupRPOInMS": "3600000",
"chunkStore": {
"historyStoreConcurrency": "4"
},
"zipStore": {
"zipTimeoutMs": "360000"
},
"hasProjectsWithoutHistory": false,
"minSoftDeletionPeriodDays": "90",
"maxDeleteKeys": "1000",
"useDeleteObjects": "true",
"clusterWorkers": "1",
"maxFileUploadSize": "52428800",
"databasePoolMin": "2",
"databasePoolMax": "10",
"httpsOnly": "false",
"httpRequestTimeout": "300000"
}

View File

@@ -0,0 +1,49 @@
{
"databaseUrl": "postgres://postgres:postgres@postgres/write_latex_dev",
"persistor": {
"s3": {
"endpoint": "http://s3:8080",
"pathStyle": "true"
},
"gcs": {
"unsignedUrls": "true",
"endpoint": {
"apiEndpoint": "http://fake-gcs:9090",
"projectId": "fake"
}
}
},
"blobStore": {
"globalBucket": "overleaf-development-blobs",
"projectBucket": "overleaf-development-project-blobs"
},
"chunkStore": {
"bucket": "overleaf-development-chunks"
},
"zipStore": {
"bucket": "overleaf-development-zips"
},
"backupStore": {
"chunksBucket":"overleaf-development-history-chunks",
"deksBucket":"overleaf-development-history-deks",
"globalBlobsBucket":"overleaf-development-history-global-blobs",
"projectBlobsBucket":"overleaf-development-history-project-blobs"
},
"backupPersistor": {
"keyEncryptionKeys": "[{\"key\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"salt\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"}]",
"s3SSEC": {
"ca": "[\"/certs/public.crt\"]"
}
},
"useDeleteObjects": "false",
"mongo": {
"uri": "mongodb://mongo:27017/sharelatex"
},
"basicHttpAuth": {
"password": "password"
},
"jwtAuth": {
"key": "secureKey",
"algorithm": "HS256"
}
}

View File

@@ -0,0 +1,5 @@
{
"backupPersistor": {
"tieringStorageClass": "INTELLIGENT_TIERING"
}
}

View File

@@ -0,0 +1,53 @@
{
"databaseUrl": "postgres://overleaf:overleaf@postgres/overleaf-history-v1-test",
"databaseUrlReadOnly": "postgres://read_only:password@postgres/overleaf-history-v1-test",
"persistor": {
"backend": "gcs",
"gcs": {
"unsignedUrls": "true",
"endpoint": {
"apiEndpoint": "http://gcs:9090",
"projectId": "fake"
}
}
},
"blobStore": {
"globalBucket": "overleaf-test-blobs",
"projectBucket": "overleaf-test-project-blobs"
},
"chunkStore": {
"bucket": "overleaf-test-chunks"
},
"zipStore": {
"bucket": "overleaf-test-zips"
},
"backupStore": {
"chunksBucket":"overleaf-test-history-chunks",
"deksBucket":"overleaf-test-history-deks",
"globalBlobsBucket":"overleaf-test-history-global-blobs",
"projectBlobsBucket":"overleaf-test-history-project-blobs"
},
"backupPersistor": {
"keyEncryptionKeys": "[{\"key\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"salt\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"}]",
"s3SSEC": {
"ca": "[\"/certs/public.crt\"]"
},
"tieringStorageClass": "REDUCED_REDUNDANCY"
},
"healthCheckBlobs": "[\"42/f70d7bba4ae1f07682e0358bd7a2068094fc023b\",\"000000000000000000000042/98d5521fe746bc2d11761edab5d0829bee286009\"]",
"healthCheckProjects": "[\"42\",\"000000000000000000000042\"]",
"backupRPOInMS": "360000",
"maxDeleteKeys": "3",
"useDeleteObjects": "false",
"mongo": {
"uri": "mongodb://mongo:27017/sharelatex"
},
"basicHttpAuth": {
"password": "test"
},
"jwtAuth": {
"key": "testtest",
"algorithm": "HS256"
},
"maxFileUploadSize": "524288"
}