IdP V4 Installer

Etienne Dysli Metref etienne.dysli-metref at switch.ch
Thu Dec 19 06:21:39 EST 2019


On 17/10/2019 14.46, Rod Widdowson wrote:
> As always there is an element of time pressure.  I hope to be code 
> frozen by the end of this month, but I'm expecting to be able to 
> accept suggestions for extensions up to the start of December...
A bit late, but I took the v4 installer for a ride. I don't plan on
programmatically embedding it, but only providing properties as input to
skip all prompts.

With a simple run (`./bin/install.sh`), here's what I can say.

# Positive things #

- All familiar directories are there so I assume an IdP has been
completely installed. Job's done! :)


# Confusing things #

- Prompts don't look like prompts.
  There is (still) no question mark in prompts where human input is
expected. This was already confusing in the v3 installer. Please add a
question mark to prompts.

- Passwords end up in idp.properties (and in the output).
  > Creating /home/user/Downloads/test_idp4/conf/idp.properties from
/home/user/Downloads/test_idp4/dist/conf/idp.properties and
{idp.entityID=https://mymachine.switch.ch/idp/shibboleth,
idp.sealer.keyPassword=mypassword, idp.sealer.storePassword=mypassword,
idp.scope=switch.ch}
  This one is more dangerous than confusing. Can we avoid mixing secret
bits and configuration by putting all passwords in a separate properties
file?

- "Version null"??
  > Rebuilding /home/user/Downloads/test_idp4/war/idp.war, Version null
  Probably harmless, but still raises an eyebrow.


# Unnecessary things #

- Backup directories created on fresh install.
  The installer noticed it's a clean install, but still went ahead and
created a backup (of nothing):
  > No relying-party.xml file detetected. Inferring a clean install
  > Created directory /home/user/Downloads/test_idp4/old-2019-12-19-11-23-15
  This is a fresh install so I don't need any backups. Having it lying
around uselessly pollutes the IdP's "space" and with such a name
"old-<date>" it is unlikely to be deleted by a human ("oh that must be
important"), so please skip backups on clean installs.

- Windows batch files installed even on Linux.
  I don't need `bin/*.bat`, they shouldn't be installed on non-Windows
systems. The same goes in the other direction, Windows users probably
don't need `bin/*.sh`.

The installer's output (redacted) is also attached.

  Etienne
-------------- next part --------------
$ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 ./bin/install.sh 
Buildfile: /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/bin/build.xml

install:
11:21:12,154 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
11:21:12,154 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
11:21:12,154 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/bin/lib/idp-installer-4.0.0-SNAPSHOT.jar!/logback.xml]
11:21:12,155 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs multiple times on the classpath.
11:21:12,155 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/bin/lib/idp-installer-4.0.0-SNAPSHOT.jar!/logback.xml]
11:21:12,155 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/webapp/WEB-INF/lib/idp-core-4.0.0-SNAPSHOT.jar!/logback.xml]
11:21:12,166 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList at 14d3bc22 - URL [jar:file:/home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/bin/lib/idp-installer-4.0.0-SNAPSHOT.jar!/logback.xml] is not of type file
11:21:12,179 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
11:21:12,179 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
11:21:12,182 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
11:21:12,195 |-INFO in ch.qos.logback.classic.joran.action.LevelAction - ROOT level set to DEBUG
11:21:12,195 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
11:21:12,196 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
11:21:12,196 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator at 12d4bf7e - Registering current configuration as safe fallback point

DEBUG [net.shibboleth.idp.installer.InstallerProperties:212] - base dir /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT
Source (Distribution) Directory (press <enter> to accept default): [/home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT]

DEBUG [net.shibboleth.idp.installer.InstallerProperties:249] - Source directory /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT
Installation Directory: [/opt/shibboleth-idp]
/home/user/Downloads/test_idp4    
DEBUG [net.shibboleth.idp.installer.impl.CurrentInstallStateImpl:78] - No relying-party.xml file detetected.  Inferring a clean install
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/old-2019-12-19-11-23-15
DEBUG [net.shibboleth.idp.installer.CopyDistribution:89] - Backing up from /home/user/Downloads/test_idp4/edit-webapp to /home/user/Downloads/test_idp4/old-2019-12-19-11-23-15/edit-webapp
DEBUG [net.shibboleth.idp.installer.CopyDistribution:89] - Backing up from /home/user/Downloads/test_idp4/doc to /home/user/Downloads/test_idp4/old-2019-12-19-11-23-15/doc
DEBUG [net.shibboleth.idp.installer.CopyDistribution:89] - Backing up from /home/user/Downloads/test_idp4/system to /home/user/Downloads/test_idp4/old-2019-12-19-11-23-15/system
DEBUG [net.shibboleth.idp.installer.CopyDistribution:100] - /home/user/Downloads/test_idp4/bin/lib doesn't exist, nothing to delete
DEBUG [net.shibboleth.idp.installer.CopyDistribution:100] - /home/user/Downloads/test_idp4/dist doesn't exist, nothing to delete
DEBUG [net.shibboleth.idp.installer.CopyDistribution:100] - /home/user/Downloads/test_idp4/doc doesn't exist, nothing to delete
DEBUG [net.shibboleth.idp.installer.CopyDistribution:100] - /home/user/Downloads/test_idp4/system doesn't exist, nothing to delete
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/dist
DEBUG [net.shibboleth.idp.installer.CopyDistribution:135] - Copying distribution from /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/conf to /home/user/Downloads/test_idp4/dist/conf
DEBUG [net.shibboleth.idp.installer.CopyDistribution:135] - Copying distribution from /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/flows to /home/user/Downloads/test_idp4/dist/flows
DEBUG [net.shibboleth.idp.installer.CopyDistribution:135] - Copying distribution from /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/messages to /home/user/Downloads/test_idp4/dist/messages
DEBUG [net.shibboleth.idp.installer.CopyDistribution:135] - Copying distribution from /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/views to /home/user/Downloads/test_idp4/dist/views
DEBUG [net.shibboleth.idp.installer.CopyDistribution:135] - Copying distribution from /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/webapp to /home/user/Downloads/test_idp4/dist/webapp
DEBUG [net.shibboleth.idp.installer.CopyDistribution:135] - Copying distribution from /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/bin to /home/user/Downloads/test_idp4/bin
DEBUG [net.shibboleth.idp.installer.CopyDistribution:135] - Copying distribution from /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/doc to /home/user/Downloads/test_idp4/doc
DEBUG [net.shibboleth.idp.installer.CopyDistribution:135] - Copying distribution from /home/user/Downloads/shibboleth-identity-provider-4.0.0-SNAPSHOT/system to /home/user/Downloads/test_idp4/system
INFO [net.shibboleth.idp.installer.V4Install:147] - New Install.  Version: 4.0.0-SNAPSHOT
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/conf
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/credentials
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/flows
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/logs
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/messages
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/metadata
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/views
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/war
Host Name: [mymachine.switch.ch]

INFO [net.shibboleth.idp.installer.V4Install:481] - Creating idp-signing, CN = mymachine.switch.ch URI = https://mymachine.switch.ch/idp/shibboleth, keySize=3072
DEBUG [net.shibboleth.idp.installer.V4Install:490] - ... Done
INFO [net.shibboleth.idp.installer.V4Install:481] - Creating idp-encryption, CN = mymachine.switch.ch URI = https://mymachine.switch.ch/idp/shibboleth, keySize=3072
DEBUG [net.shibboleth.idp.installer.V4Install:490] - ... Done
Backchannel PKCS12 Password:
Re-enter password: 
INFO [net.shibboleth.idp.installer.V4Install:522] - Creating backchannel keystore, CN = mymachine.switch.ch URI = https://mymachine.switch.ch/idp/shibboleth, keySize=3072
Cookie Encryption Key Password:
Re-enter password: 
INFO [net.shibboleth.idp.installer.V4Install:561] - Creating backchannel keystore, CN = mymachine.switch.ch URI = https://mymachine.switch.ch/idp/shibboleth, keySize=3072
INFO [net.shibboleth.utilities.java.support.security.BasicKeystoreKeyStrategyTool:166] - No existing versioning property, initializing...
SAML EntityID: [https://mymachine.switch.ch/idp/shibboleth]

Attribute Scope: [switch.ch]

DEBUG [net.shibboleth.idp.installer.V4Install:234] - Creating /home/user/Downloads/test_idp4/conf/idp.properties from /home/user/Downloads/test_idp4/dist/conf/idp.properties and {idp.entityID=https://mymachine.switch.ch/idp/shibboleth, idp.sealer.keyPassword=mypassword, idp.sealer.storePassword=mypassword, idp.scope=switch.ch}
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/edit-webapp
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/edit-webapp/css
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/edit-webapp/images
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/edit-webapp/WEB-INF
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/edit-webapp/WEB-INF/lib
DEBUG [net.shibboleth.idp.installer.InstallerSupport:67] - Created directory /home/user/Downloads/test_idp4/edit-webapp/WEB-INF/classes
DEBUG [net.shibboleth.idp.installer.InstallerSupport:123] - Copied not-previously-existing files from /home/user/Downloads/test_idp4/dist/conf to /home/user/Downloads/test_idp4/conf
DEBUG [net.shibboleth.idp.installer.InstallerSupport:123] - Copied not-previously-existing files from /home/user/Downloads/test_idp4/dist/flows to /home/user/Downloads/test_idp4/flows
DEBUG [net.shibboleth.idp.installer.InstallerSupport:123] - Copied not-previously-existing files from /home/user/Downloads/test_idp4/dist/views to /home/user/Downloads/test_idp4/views
DEBUG [net.shibboleth.idp.installer.InstallerSupport:123] - Copied not-previously-existing files from /home/user/Downloads/test_idp4/dist/messages to /home/user/Downloads/test_idp4/messages
DEBUG [net.shibboleth.idp.installer.InstallerSupport:195] - Not windows. Not [re]setting readonly bit
DEBUG [net.shibboleth.idp.installer.InstallerSupport:195] - Not windows. Not [re]setting readonly bit
DEBUG [net.shibboleth.idp.installer.InstallerSupport:213] - Performing chmod 755 on /home/user/Downloads/test_idp4/bin including **/*.sh
DEBUG [net.shibboleth.idp.installer.InstallerSupport:213] - Performing chmod 444 on /home/user/Downloads/test_idp4/system including **/*
DEBUG [net.shibboleth.idp.installer.InstallerSupport:213] - Performing chmod 600 on /home/user/Downloads/test_idp4/credentials including **/*.key
DEBUG [net.shibboleth.idp.installer.InstallerSupport:213] - Performing chmod 600 on /home/user/Downloads/test_idp4/conf including **/*
INFO [net.shibboleth.idp.installer.BuildWar:71] - Rebuilding /home/user/Downloads/test_idp4/war/idp.war, Version null
DEBUG [net.shibboleth.idp.installer.InstallerSupport:257] - Directory /home/user/Downloads/test_idp4/webpapp does not exist. Skipping delete.
DEBUG [net.shibboleth.idp.installer.InstallerSupport:257] - Directory /home/user/Downloads/test_idp4/webpapp.tmp does not exist. Skipping delete.
INFO [net.shibboleth.idp.installer.BuildWar:80] - Initial populate from /home/user/Downloads/test_idp4/dist/webapp to /home/user/Downloads/test_idp4/webpapp.tmp
INFO [net.shibboleth.idp.installer.BuildWar:89] - Overlay from /home/user/Downloads/test_idp4/edit-webapp to /home/user/Downloads/test_idp4/webpapp.tmp
INFO [net.shibboleth.idp.installer.BuildWar:94] - Creating war file /home/user/Downloads/test_idp4/war/idp.war
DEBUG [net.shibboleth.idp.installer.InstallerSupport:264] - Deleting tree /home/user/Downloads/test_idp4/webpapp.tmp

BUILD SUCCESSFUL
Total time: 3 minutes 32 seconds
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://shibboleth.net/pipermail/dev/attachments/20191219/eba309ec/attachment-0001.sig>


More information about the dev mailing list