8.3. Cartridge Event Example
The MySQL cartridge lists a publish-mysql-connection-info
event in the Publishes
section of its mysql/metadata/manifest.yml
file:
Publishes: publish-mysql-connection-info: Type: "NET_TCP:db:mysql"
mysql/hooks/publish-mysql-connection-info
.
The PHP cartridge lists a set-mysql-connection-info
event in the Subscribes
section of its php/metadata/manifest.yml
file:
Subscribes: set-mysql-connection-info: Type: "NET_TCP:db:mysql"
php/hooks/set-mysql-connection-info
.
OpenShift Enterprise matches the event Type
in the PHP cartridge's Subscribes
list to the event Type
in the MySQL cartridge's Publishes
list. In this example, the event Type
is "NET_TCP:db:mysql"
.
publish-mysql-connection-info
script outputs the username, host, port, URL, and password required to connect to the MySQL instance:
OPENSHIFT_MYSQL_DB_USERNAME=username; OPENSHIFT_MYSQL_DB_PASSWORD=password; OPENSHIFT_MYSQL_DB_HOST=hostname; OPENSHIFT_MYSQL_DB_PORT=port; OPENSHIFT_MYSQL_DB_URL=url;
publish-mysql-connection-info
to the PHP cartridge's set-mysql-connection-info
script using the following format:
hooks/publish-mysql-connection-info gear_name namespace gear_uuid 'OPENSHIFT_MYSQL_DB_USERNAME=username;OPENSHIFT_MYSQL_DB_PASSWORD=password;OPENSHIFT_MYSQL_DB_HOST=hostname;OPENSHIFT_MYSQL_DB_PORT=port;OPENSHIFT_MYSQL_DB_URL=url;'