Majordodo broker-to-broker and worker-to-broker communication can be secured by TLS.
With broker.ssl set to true a self signed certificate will be generated at every boot. You may change this behaviour using the properties in the config file:

  • **broker.ssl**: use TLS
  • **broker.ssl.certificatefile**: PKCS8 private key file (PEM)
  • **broker.ssl.certificatechainfile**: X.509 certificate chain file (PEM)
  • **broker.ssl.certificatefilepassword**: the password for PKCS8 file

As default the system will ignore that a certificate is self signed and/or wrong.

Brokers/Workers authentication

Majordodo implement basic authentication between brokers and workers based on a shared secret. The shared secret is also used as password for bookeeper.

You may want to change it in production systems.

  • **sharedSecred**: unique value (default to "dodo")

Clients authentication

Client authentication is applied only for the submission of new tasks. GET methods are not authenticated, POST methods (such as submitTask and submitTasks ) need authentication.

Client authentication is based on user permissions. There are only two type of users:

  •  **Administrators** that can submit task for every user
  •  **Simple Users** that can submit task only for themself

For stand alone usage only one authenticator is implemented, with administrator permissions.
You may want to change the default values in the config file:

  •  admin.username=admin
  •  admin.password=password

Users of Embedded Mode can implement an AuthenticationManager that implements their own directory of users.