Configuring the spiuser password for Commerce+ Kubernetes Deployment
The spiuser password is used for API communication between the different servers in your Commerce+ setup (e.g., Store server, Search server, Transaction server). This password needs to be set the same way on all servers to ensure they can communicate properly. It must be the same on the Store, Search, and Customization servers, and also in the database for the Transaction server.
Setting the spiuser Password in Docker Images
During Commerce+ Kubernetes deployment, all containers must use the spiuser for inter-component communication, and there is no alternative user for this purpose.
The spiuser password is needed for:
- API calls between servers, such as:
- Store server → Search server
- Customization server → Transaction server
- Transaction server → Customization server
- Search server → Transaction and Customization servers
If the password is not set correctly or is mismatched, the servers will not be able to make the required API calls and won’t function together properly.
- Use a secure password.
- The password must be at least 45 characters long.
Procedure to Set the spiuser Password
- Log on to the dedicated server that is hosting the Utility server Docker container.
- Enter the Utility server Docker container. For
example,
docker exec -it utility_container_name bash - Navigate to the /opt/CommerceUtilities/bin/
directory.For
example,
cd /opt/CommerceUtilities/bin/ - Encrypt the spiuser password: Run the following command to encrypt the spiuser password.
./wcs_encrypt.sh plain_text_spiuser_passwordSave the plain text password in a text file because you'll need it later.
- Get the salt value for the spiuser password from the
database:
select salt from userreg where logonid='spiuser';If the result is NULL, set the salt with:update userreg set salt='salt' where logonid='spiuser';Salt should be a random string of 12 alphanumeric characters.
For example, m83u229zjsrv.
- Encrypt the salted password with the merchant key: Run the following
command:
./wcs_password.sh plain_text_spiuser_password salt unencrypted_merchantKey_valueIf needed, you can use the -k option to encrypt the password without needing the merchant key.
- Store the encrypted password in the database: Update the encrypted
password through the command line based on the database solution that you are using.
- For
DB2:
update userreg set logonpassword=x'encrypted_hexadecimal_output' where logonid = 'spiuser'; - For
Oracle:
update userreg set logonpassword=x'encrypted_hexadecimal_output' where logonid = 'spiuser'; - For Postgres:
update userreg set logonpassword=x'encrypted_hexadecimal_output' where logonid = 'spiuser';
- For
DB2:
- Exit the Docker container.
- Share the plain text spiuser password with your development team, as they will need it to load the Commerce+ database schema.
What to Do Next
- Set the spiuser username (optional) and the spiuser password (mandatory) during deployment of the Commerce+ services.
- These values can be stored in Vault.