Aller au contenu principal

Moteurs de services

Catalogue complet du module services managés. Lancez loch services engines pour voir ce que votre serveur propose en ce moment.

Moteurs​

MoteurIDMenuTopologiePortVersions intégréesPlus ancienne prise en charge
PostgreSQLpostgresBases de donnéespartagée543218, 17, 16, 1515
MariaDBmariadbBases de donnéespartagée330611.8, 11.4, 10.1110.11
MySQLmysqlBases de donnéespartagée33068.45.6 (proposée seulement si épinglée)
MongoDBmongodbBases de donnéespartagée270178.0, 7.0, 6.06.0
RabbitMQrabbitmqMessageriepartagée56724.2, 4.1, 4.04.0
RedisredisCachedédiée63798.4, 8.2, 7.47.2
ValkeyvalkeyCachedédiée63799.0, 8.1, 7.27.2
NATSnatsMessageriedédiée42222.12, 2.11, 2.102.10
ElasticMQ (compatible SQS)elasticmqFiles d'attentedédiée93241.71.7
Eclipse Mosquitto (MQTT)mosquittoFiles d'attentedédiée18832.02.0
Loch S3 (compatible S3)s3Stockagedédiée80801.41.4
  • Partagée : une instance par version ; une ressource est une base et son utilisateur (un hôte virtuel et son utilisateur pour RabbitMQ).
  • Dédiée : un conteneur par ressource, nommé et dimensionné à la création.
  • Les versions intégrées servent jusqu'à la première découverte de versions réussie. Ensuite, la création propose la dernière version supportée de chacune des 3 dernières versions majeures, plus les versions épinglées avec SERVICES_<ENGINE>_PINNED_VERSIONS.
  • Les instances existantes restent gérées quelle que soit leur version, à partir de la plus ancienne prise en charge.

Images et sources des versions​

MoteurTags listés surTéléchargée depuisDates de support
PostgreSQLdocker.io/library/postgres (17)mirror.gcr.ioendoflife.date
MariaDBdocker.io/library/mariadb (11.4)mirror.gcr.ioendoflife.date
MySQLdocker.io/library/mysql (8.4)mirror.gcr.ioendoflife.date
MongoDBdocker.io/library/mongo (8.0)mirror.gcr.ioendoflife.date
RabbitMQdocker.io/library/rabbitmq (4.2)mirror.gcr.ioendoflife.date
Redisdocker.io/library/redis (8.4-alpine)mirror.gcr.ioendoflife.date
Valkeydocker.io/valkey/valkey (9.0-alpine)mirror.gcr.ioendoflife.date
NATSdocker.io/library/nats (2.12-alpine)mirror.gcr.ioaucune : publiée signifie supportée
ElasticMQdocker.io/softwaremill/elasticmq-native (1.7.1)mirror.gcr.ioaucune
Mosquittodocker.io/library/eclipse-mosquitto (2.0.22)mirror.gcr.ioaucune
Loch S3ghcr.io/loch-sh/s3 (1.4.0)ghcr.ioaucune

ElasticMQ, Mosquitto et Loch S3 utilisent des tags de correctif exacts : une version exécute son tag de correctif le plus élevé.

Options des moteurs dédiés​

Passez-les avec --option clé=valeur dans la CLI. « Modifiable » signifie modifiable ensuite (bouton Modifier, loch services update) ; les autres sont fixées à la création.

MoteurOptionValeurs autoriséesDéfautModifiable
Redis, Valkeymemory (Mo du conteneur ; les données en ont la moitié)128, 256, 512, 1024, 2048, 4096256oui
policy (quand la mémoire est pleine)noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, volatile-ttlnoevictionoui
persistenceaof, rdb, noneaofnon
scripting (Lua)on, offonoui
Redis seulmodules (JSON, recherche, séries temporelles… ; Redis 8 et suivants)off, onoffoui
NATSmemory (Mo du conteneur ; les flux en mémoire en ont un quart)128, 256, 512, 1024256oui
storage (disque JetStream, Mo)1024, 5120, 10240, 512001024oui
payload (plus gros message, Mo)1, 8, 641oui
ElasticMQmemory (Mo du conteneur)128, 256, 512, 1024256oui
limits (strict : limites d'Amazon SQS ; relaxed : messages plus gros, délais plus longs)strict, relaxedstrictoui
Mosquittomemory (Mo du conteneur)64, 128, 256, 512128oui
persistence (messages retenus, sessions persistantes)on, offonoui
message-size (plus gros message, Mo)1, 10, 1001oui
queued (messages conservés par client hors ligne ou lent)1000, 10000, 1000001000oui
Loch S3memory (Mo du conteneur)128, 256, 512, 1024256oui
quota (Mo)1024, 5120, 10240, 51200, 102400, 51200010240oui
encryption (SSE-S3 sur chaque objet ; Loch S3 1.4 et suivants)off, onoffnon

Tailles personnalisées​

En plus des valeurs listées, ces options acceptent tout multiple du pas dans la plage (carte Personnalisé en Go, --option memory=3G dans la CLI) :

MoteurOptionPlagePas
Redis, Valkeymemory128 Mo à 64 Go128 Mo
NATSmemory128 Mo à 16 Go128 Mo
storage1 Go à 1 To1 Go
ElasticMQmemory128 Mo à 8 Go128 Mo
Mosquittomemory64 Mo à 4 Go64 Mo
Loch S3memory128 Mo à 8 Go128 Mo
quota1 Go à 10 To1 Go

Moteurs partagés​

Les moteurs partagés n'ont pas d'options. Un réglage se choisit par base :

RéglageMoteursEffet
Authentification legacy (--legacy-auth)MySQL 8.4 à 8.x, PostgreSQLmysql_native_password (MySQL) ou md5 (PostgreSQL) pour les anciens clients. Fixé à la création

Noms et limites​

ÉlémentRègle
Nom d'une ressource partagée[a-z][a-z0-9_], 32 caractères au plus (16 sur MySQL 5.6)
Nom d'une instance dédiée[a-z][a-z0-9], 24 caractères au plus (il devient un nom d'hôte)
Noms réservés (tous moteurs)admin, all, default, healthcheck, loch, none, root, test, user, et le préfixe loch_
Ressources par instance partagéeSERVICES_MAX_RESOURCES_PER_INSTANCE (50 par défaut)
Instances dédiées par moteurSERVICES_MAX_DEDICATED_INSTANCES (20 par défaut)

Remarques par moteur​

MoteurRemarque
ElasticMQAucune authentification. Refusé sur le réseau services, publication limitée au loopback
MySQL 5.6, MongoDB 6.0Hors support : publication limitée au loopback
MongoDBNe peut pas exiger TLS : publication limitée au loopback tant que SERVICES_TLS=auto
Loch S3URL de type chemin uniquement ; pas de TLS (publier sur une adresse publique exige SERVICES_TLS=off). SERVICES_S3_ADMIN_API_KEY (mode partagé) n'est pas encore disponible et désactive le moteur
MosquittoUn seul utilisateur MQTT, pas d'accès anonyme