ventusforge / neos-index-manager
Index Manager for ElasticSearch/OpenSearch in Neos
Package info
github.com/VentusForge/VentusForge.IndexManager
Type:neos-application
pkg:composer/ventusforge/neos-index-manager
0.0.1
2026-04-17 09:34 UTC
Requires
- php: >=8.3
- neos/neos: >=8.3
This package is auto-updated.
Last update: 2026-04-21 15:03:42 UTC
README
Client to manage indices.
How To Use
Define the authentication
# Settings.yaml VentusForge: IndexManager: clients: default: host: 'opensearch' port: 9200 scheme: 'https' # username: dev_foo_bar # optional # password: dev_foo_bar # optional sslCaInfo: '/client-certs/opensearch/root-ca.pem' sslKey: '/client-certs/dev_foo_bar-key.pem' sslCert: '/client-certs/dev_foo_bar.pem'
Select between username & password or a certification file.
Note: you can create an own IndexClientFactory and use the authentication from another settings (i.e. Flowpack.ElasticSearch.clients)
Inject the client
# Objects.yaml 'Foo.Bar:DefaultClient': className: VentusForge\IndexManager\IndexClient scope: singleton factoryObjectName: VentusForge\IndexManager\IndexClientFactoryInterface factoryMethodName: create arguments: 1: value: default
and add the following to your service/controller.
<?php namespace Foo\Bar\Service; use VentusForge\IndexManager\IndexClient; class SomeService { /** * @Flow\Inject(name="Foo.Bar:DefaultClient") * @var IndexClient */ protected $indexClient; }
Testing
Run the functional tests to check if the client is working. This requires a user with the credentials: unittest_user:unittest_user and access to the index dev_unittest_user_*.
FLOW_CONTEXT=Testing bin/phpunit -c Packages/Application/VentusForge.IndexManager/Tests/FunctionalTests.xml