Domino on Linux/Unix, Troubleshooting, Best Practices, Tips and more ...

Complete Domino V12 server setup leveraging On Touch

Daniel Nashed  21 May 2021 06:03:27

As you might now we are working on our Domino on Docker community project for quite some time.
The concept behind some of the features available in our GitHub project made it into Domino V12.
HCL combined the simple setup functionality we had based on the Java Domino configuration with the config.json file which used Notes Java code to configure the server.
The Domino Docker Community project was adopting this functionality from the first code drops on.
And for Domino V12 you can use our image for complete auto configuration.
The old functionality is still available for earlier versions. But for Domino V12 on Docker we recommend the new functionality!

Once Domino V12 ships we update the software repository file in the project (software.txt), remove the beta and make Domino V12 the default version to deploy.

The new One Touch config comes in two flavors.
  • A very simple environment variable based setup, which is mainly intended for Docker to get your server up and running
  • And a very powerful JSON file based approach combining the functionality we build for our Docker container
This functionality is now part of core Domino and works cross platform.
We had very early on access to One Touch setup and had chance to provide direct feedback.
As a tribute to the team who built it and for our Docker image, I prepared a JSON file for a complete server setup.

The file can be used on Docker or also on a stand-alone Domino server on Linux.
With some minor tweaking for the settings you can also use it on Windows.

Example and configuration for K8s

In addition to the setup we worked on providing a complete example how you can pass this configuration to Kubernetes to create your own pods.
The key feature here is a config map in which you wrap the configuration as posted earlier.

We updated the configuration again to make sure you have complete examples how to pass this to K8s.
And we are also looking into wrapping it into a Helm chart to allow parameter replacement in the config map.
The config map was the first step into this direction.

There have been some issues with creating Vault policies and also issues with setting the ciphers.
We are keeping the examples up to date with new findings. And update it over time with more settings.
I posted the example itself earlier. It provides the following:

Domino auto configuration example

The full script is referenced below for you to check-out and use..
  • Domino setup
  • ID Vault setup
  • Set the LocalDomainAdmins group in server.doc
  • Create a config doc with the most important settings
  • Enable Internet password lockout
  • Create domcfg.nsf and the iNotes redirect database
  • Enable DAOS and Translog --> needs currently a manual restart
  • Enable NIFNSF, move out the FT index to a different directory
  • Enable CertMgr and get a Let's Encrypt certificate


Restarting the server after configuration

Leveraging the configuration in an automatic deployment had one challenge.
When you add the settings for Translog and DAOS you have to restart the server.

So I added logic to our container scripts to allow a restart of Domino server after configuration.
The additional configuration in our Docker container image allows to specify two new parameters.
One is a simple wait time until the server is restarted.
And there is also a string to wait for to restart the server earlier than this timeout.


Here is an example for the new environment variables available:
- name: DominoConfigRestartWaitTime
  value: "30"

- name: DominoConfigRestartWaitString
  value: "Server started on physical node"



Details / Refereces

Link to the example JSON file:
https://github.com/IBM/domino-docker/blob/develop/lab/kubernetes/domino/auto_config_domino12.json

Link to the directory for the full lab environment including a config map for K8s
https://github.com/IBM/domino-docker/blob/develop/lab/kubernetes/domino

Link to Domino V12 One Touch documentation
https://help.hcltechsw.com/domino/12.0.0/admin/inst_onetouch_preparing_json.html


Links

    Archives


    • [IBM Lotus Domino]
    • [Domino on Linux]
    • [Nash!Com]
    • [Daniel Nashed]