Managed FerretDB Service
FerretDB is an open source MongoDB alternative.
It translates MongoDB wire protocol queries to SQL and can be used as a direct replacement for MongoDB 5.0+.
Internally, FerretDB service is backed by Postgres.
Parameters
Common parameters
| Name |
Description |
Type |
Value |
replicas |
Number of replicas |
int |
2 |
resources |
Explicit CPU and memory configuration for each FerretDB replica. When left empty, the preset defined in resourcesPreset is applied. |
*object |
{} |
resources.cpu |
CPU available to each replica |
*quantity |
null |
resources.memory |
Memory (RAM) available to each replica |
*quantity |
null |
resourcesPreset |
Default sizing preset used when resources is omitted. Allowed values: nano, micro, small, medium, large, xlarge, 2xlarge. |
string |
micro |
size |
Persistent Volume Claim size, available for application data |
quantity |
10Gi |
storageClass |
StorageClass used to store the data |
string |
"" |
external |
Enable external access from outside the cluster |
bool |
false |
Application-specific parameters
| Name |
Description |
Type |
Value |
quorum |
Configuration for the quorum-based synchronous replication |
object |
{} |
quorum.minSyncReplicas |
Minimum number of synchronous replicas that must acknowledge a transaction before it is considered committed |
int |
0 |
quorum.maxSyncReplicas |
Maximum number of synchronous replicas that can acknowledge a transaction (must be lower than the total number of replicas) |
int |
0 |
users |
Users configuration |
map[string]object |
{...} |
users[name].password |
Password for the user |
*string |
null |
Backup parameters
| Name |
Description |
Type |
Value |
backup |
Backup configuration |
object |
{} |
backup.enabled |
Enable regular backups, default is false. |
bool |
false |
backup.schedule |
Cron schedule for automated backups |
string |
0 2 * * * * |
backup.retentionPolicy |
Retention policy |
string |
30d |
backup.endpointURL |
S3 Endpoint used to upload data to the cloud |
string |
http://minio-gateway-service:9000 |
backup.destinationPath |
Path to store the backup (i.e. s3://bucket/path/to/folder) |
string |
s3://bucket/path/to/folder/ |
backup.s3AccessKey |
Access key for S3, used for authentication |
string |
<your-access-key> |
backup.s3SecretKey |
Secret key for S3, used for authentication |
string |
<your-secret-key> |
Bootstrap (recovery) parameters
| Name |
Description |
Type |
Value |
bootstrap |
Bootstrap (recovery) configuration |
object |
{} |
bootstrap.enabled |
Restore database cluster from a backup |
*bool |
false |
bootstrap.recoveryTime |
Timestamp (PITR) up to which recovery will proceed, expressed in RFC 3339 format. If left empty, will restore latest. |
*string |
"" |
bootstrap.oldName |
Name of database cluster before deleting |
*string |
"" |
Parameter examples and reference
resources and resourcesPreset
resources sets explicit CPU and memory configurations for each replica.
When left empty, the preset defined in resourcesPreset is applied.
resources:
cpu: 4000m
memory: 4Gi
resourcesPreset sets named CPU and memory configurations for each replica.
This setting is ignored if the corresponding resources value is set.
| Preset name |
CPU |
memory |
nano |
250m |
128Mi |
micro |
500m |
256Mi |
small |
1 |
512Mi |
medium |
1 |
1Gi |
large |
2 |
2Gi |
xlarge |
4 |
4Gi |
2xlarge |
8 |
8Gi |