@@ -52,7 +52,7 @@ class ServiceFactory
5252 /**
5353 * @var array
5454 */
55- private static $ config = [
55+ private static array $ config = [
5656 ServiceInterface::SERVICE_PHP_CLI => [
5757 'image ' => 'magento/magento-cloud-docker-php ' ,
5858 'pattern ' => '%s:%s-cli-%s ' ,
@@ -153,6 +153,21 @@ class ServiceFactory
153153 'image ' => 'rabbitmq ' ,
154154 'pattern ' => self ::PATTERN_STD ,
155155 ],
156+ ServiceInterface::SERVICE_ACTIVEMQ_ARTEMIS => [
157+ 'image ' => 'apache/activemq-artemis ' ,
158+ 'pattern ' => self ::PATTERN_STD ,
159+ 'config ' => [
160+ 'ports ' => [61616 , 61613 , 8161 ],
161+ 'environment ' => [
162+ 'ARTEMIS_USER ' => 'admin ' ,
163+ 'ARTEMIS_PASSWORD ' => 'admin ' ,
164+ ],
165+ 'volumes ' => [
166+ '/var/lib/artemis/data ' ,
167+ '/var/log/artemis ' ,
168+ ]
169+ ],
170+ ],
156171 ServiceInterface::SERVICE_NODE => [
157172 'image ' => 'node ' ,
158173 'pattern ' => self ::PATTERN_STD
@@ -192,7 +207,7 @@ class ServiceFactory
192207 /**
193208 * @var FileList
194209 */
195- private $ fileList ;
210+ private FileList $ fileList ;
196211
197212 /**
198213 * @var string
@@ -208,12 +223,12 @@ public function __construct(FileList $fileList)
208223 }
209224
210225 /**
211- * @param string $name
212- * @param string $version
213- * @param array $config
214- * @param string|null $image
215- * @param string|null $customRegistry
216- * @param string|null $imagePattern
226+ * @param string $name
227+ * @param string $version
228+ * @param array $config
229+ * @param string|null $image
230+ * @param string|null $customRegistry
231+ * @param string|null $imagePattern
217232 * @return array
218233 * @throws ConfigurationMismatchException
219234 */
@@ -226,10 +241,12 @@ public function create(
226241 ?string $ imagePattern = null
227242 ): array {
228243 if (!array_key_exists ($ name , self ::$ config )) {
229- throw new ConfigurationMismatchException (sprintf (
230- 'Service "%s" is not supported ' ,
231- $ name
232- ));
244+ throw new ConfigurationMismatchException (
245+ sprintf (
246+ 'Service "%s" is not supported ' ,
247+ $ name
248+ )
249+ );
233250 }
234251
235252 $ metaConfig = self ::$ config [$ name ];
@@ -246,7 +263,7 @@ public function create(
246263 }
247264
248265 /**
249- * @param string $name
266+ * @param string $name
250267 * @return string
251268 * @throws ConfigurationMismatchException
252269 */
@@ -256,14 +273,16 @@ public function getDefaultImage(string $name): string
256273 return self ::$ config [$ name ]['image ' ];
257274 }
258275
259- throw new ConfigurationMismatchException (sprintf (
260- 'Default image for %s cannot be resolved ' ,
261- $ name
262- ));
276+ throw new ConfigurationMismatchException (
277+ sprintf (
278+ 'Default image for %s cannot be resolved ' ,
279+ $ name
280+ )
281+ );
263282 }
264283
265284 /**
266- * @param string $name
285+ * @param string $name
267286 * @return string
268287 * @throws ConfigurationMismatchException
269288 */
@@ -273,10 +292,12 @@ public function getDefaultVersion(string $name): string
273292 return self ::$ config [$ name ]['version ' ];
274293 }
275294
276- throw new ConfigurationMismatchException (sprintf (
277- 'Default version for %s cannot be resolved ' ,
278- $ name
279- ));
295+ throw new ConfigurationMismatchException (
296+ sprintf (
297+ 'Default version for %s cannot be resolved ' ,
298+ $ name
299+ )
300+ );
280301 }
281302
282303 /**
0 commit comments