Example: JSON for first server setup and a full configuration

This example shows most of the possible JSON input parameters for first server configuration.

It performs server setup, ID vault setup, user registration, directory assistance configuration for LDAP, TLS certificates from a micro CA, and application configuration including modifying the new server document in the Domino directory to enable transactional logging. It also creates a new discussion database, modifies the database ACL, adds several documents, enables an agent, and signs all design elements with the server ID.

{
	"autoConfigPreferences": {
		"deleteInputFileAfterProcessing": false,
		"startServerAfterConfiguration": true,
		"consoleLogOutput": {
			"show": "all",
			"pauseOnErrorSeconds": 30
		}
	},

	"serverSetup": {
		"server": {
			"type": "first",
			"name": "adminserver",
			"domainName": "ACME",
			"title": "ACME Administration Server",
			"password": null,
			"minPasswordLength": 8,
			"useExistingServerID": false,
			"additionalServerTasks": "http"
		},
		"network": {
			"hostName": "adminserver.acme.com",
			"enablePortEncryption": true,
			"enablePortCompression": true
		},
		"org": {
			"orgName": "sherlock",
			"useExistingCertifierID": false,
			"certifierPassword": "@Prompt:Org Certifier password",
			"orgUnitName": "GBR",
			"useExistingOrgUnitID": false,
			"orgUnitPassword": "passw0rd"
		},
		"admin": {
			"firstName": "Sherlock",
			"middleName": "Scott",
			"lastName": "Holmes",
			"useExistingAdminID": false,
			"password": "@File:/local/notesdata/pw.txt",
			"IDFilePath": "/local/notesdata/admin.id"
		},
		"notesINI": {
			"LOG_REPLICATION": "1",
			"LOG_SESSIONS": "1"
		},
		"security": {
			"ACL": {
				"prohibitAnonymousAccess": true,
				"addLocalDomainAdmins": true
			},
			"TLSSetup": {
				"method": "dominoMicroCA",
				"CADisplayName": "Demo CA",
				"CAOrgName": "Spacely",
				"CAKeyType": "ECDSA",
				"CAExpirationDays": 1096,
				"orgName": "Sprockets",
				"TLSKeyType": "RSA2048",
				"certExpirationDays": 120
			}
		},
		"directoryAssistance": {
			"databasePath": "da.nsf",
			"domainName": "Sprockets",
			"companyName": "Acme",
			"LDAP": {
				"hostName": "adserver.sprockets.acme.com",
				"vendor": "activeDirectory",
				"userDN": "CN=Admin,CN=Users,DC=sprockets,DC=com",
				"password": "Pa88w0rd",
				"baseSearchDN": "CN=Users,DC=sprockets,DC=com",
				"channelEncryption": "none",
				"port": 389,
				"acceptExpiredCertificates": true,
				"verifyRemoteServerCertificate": false,
				"timeout": 120,
				"maximumEntriesReturned": 200
			}
		},
		"autoRegister": {
			"count": 7,
			"IDPath": "/local/notesdata",
			"pattern": "baskerville#"
		},
		"registerUsers": {
			"defaults": {
				"saveIDToPersonDocument": true,
				"mailTemplatePath": "mail11.ntf",
				"enableFullTextIndex": true,
				"certificateExpirationMonths": 13
			},
			"users": [
				{
					"firstName": "Moe",
					"lastName": "Howard",
					"IDFilePath": "moe.id",
					"password": "passw1rd",
					"mailFilePath": "mail/moe.nsf"
				},
				{
					"firstName": "Larry",
					"lastName": "Fine",
					"IDFilePath": "larry.id",
					"password": "passw2rd",
					"saveIDToPersonDocument": false,
					"mailFilePath": "mail/larry.nsf",
					"mailTemplatePath": "mail12.ntf",
					"enableFullTextIndex": false,
					"certificateExpirationMonths": 24
				},
				{
					"firstName": "Curly",
					"lastName": "Howard",
					"IDFilePath": "curly.id",
					"password": "passw3rd",
					"saveIDToPersonDocument": true,
					"mailFilePath": "mail/curly.nsf",
					"mailTemplatePath": "mail11.ntf",
					"enableFullTextIndex": true,
					"certificateExpirationMonths": 120
				}
			]
		}
	},

	"IDVault": {
		"name": "O=VikingVault",
		"description": "Viking Vault",
		"IDFile": "VikingVault.id",
		"IDPassword": "@Env:ID_VAULT_PASSWORD",
		"path": "IBM_ID_VAULT/VikingVault.nsf",
		"passwordReset": {
			"helpText": "Call so and so for help resetting password"
		},
		"securitySettingsPolicy": {
			"name": "Viking Vault Security Settings Policy",
			"description": "Viking Vault Security Settings"
		},
		"masterPolicy": {
			"description": "Viking Vault Master Policy Description"
		}
	},

	"appConfiguration": {
		"databases": [
			{
				"action": "create",
				"filePath": "demodisc.nsf",
				"title": "Demo Discussion Database",
				"templatePath": "discussion12.ntf",
				"signUsingAdminp": true,

				"ACL": {
					"roles": [ "GrandPoobah", "WorkerBee", "Peon" ],
					"ACLEntries": [
						{
							"name": "Nancy Noaccess",
							"level": "noAccess",
							"type": "unspecified",
							"isPublicReader": true,
							"isPublicWriter": true
						},
						{
							"name": "Ronnie Reader",
							"level": "reader",
							"type": "serverGroup",
							"canCreatePersonalAgent": true,
							"canCreatePersonalFolder": true,
							"canCreateLSOrJavaAgent": true,
							"canReplicateOrCopyDocuments": true
						},
						{
							"name": "Annie Author",
							"level": "author",
							"canCreateDocuments": true,
							"canDeleteDocuments": true,
							"type": "mixedGroup"
						},
						{
							"name": "Ed Itor",
							"level": "editor",
							"type": "server",
							"canCreateSharedFolder": true
						},
						{
							"name": "Wolfpack",
							"level": "designer",
							"type": "personGroup"
						},
						{
							"name": "Sherlock Holmes/GBR/sherlock",
							"level": "manager",
							"type": "person",
							"canCreateDocuments": true,
							"canCreateLSOrJavaAgent": true,
							"canCreatePersonalAgent": true,
							"canCreatePersonalFolder": true,
							"canCreateSharedFolder": true,
							"canDeleteDocuments": true,
							"canReplicateOrCopyDocuments": true,
							"isPublicReader": true,
							"isPublicWriter": true,
							"roles": [ "GrandPoobah", "WorkerBee" ]
						}
					]
				},

				"documents": [
					{
						"action": "create",
						"items": {
							"Form": "Main Topic",
							"From": "CN=Sherlock Holmes/O=sherlock",
							"Subject": "This is a main topic"
						}
					},

					{
						"action": "create",
						"items": {
							"Form": "Main Topic",
							"From": "CN=Sherlock Holmes/O=sherlock",
							"Subject": "One of each supported item type, specified in simple format",
							"TestText": "Yellow",
							"TestTextList": [ "Red", "Green", "Blue" ],
							"TestNumber": 42,
							"TestNumberList": [ 20.21, 20.22, 20.23, 20.24 ]
						}
					},

					{
						"action": "create",
						"items": {
							"Form": "Main Topic",
							"From": "CN=Sherlock Holmes/O=sherlock",
							"Subject": "One of each supported item type, specified in canonical format",
							"TestText": {
								"type": "text",
								"value": "Red Sox"
							},
							"TestTextList": {
								"type": "text",
								"value": [ "Carl Yastrzemski/RedSox", "Pedro Martinez/RedSox", "David Ortiz/RedSox", "Sherlock Scott Holmes/sherlock" ],
								"names": true,
								"readers": true,
								"authors": true,
								"protected": true,
								"sign": true,
								"encrypt": true,
								"nonSummary": false
							},
							"TestNumber": {
								"type": "number",
								"value": 20.04
							},
							"TestNumberList": {
								"type": "number",
								"value": [ 2007, 2013, 2018 ],
								"names": false,
								"readers": false,
								"authors": false,
								"protected": false,
								"sign": false,
								"encrypt": false,
								"nonSummary": true
							},
							"TestDatetime": {
								"type": "datetime",
								"value": "20210728T162308,50-04"
							},
							"TestDatetimeList": {
								"type": "datetime",
								"value": [ "20210728T162308,50-04", "20210728T162308,50-0330", "20210728", "T162308,50" ]
							}
						}
					}
				],

				"agents": [
					{
						"name": "Send Newsletters",
						"action": [ "enable", "sign" ]
					}
				]
			},

			{
				"filePath": "names.nsf",
				"action": "update",
				"documents": [
					{
						"action": "update",
						"findDocument": {
							"Type": "Server",
							"ServerName": "CN=adminserver/OU=GBR/O=sherlock"
						},
						"computeWithForm": true,
						"items": {
							"TRANSLOG_AutoFixup": "",
							"TRANSLOG_MaxSize": 1000,
							"TRANSLOG_Path": "logdir",
							"TRANSLOG_Performance": "2",
							"TRANSLOG_Status": "1",
							"TRANSLOG_Style": "0",
							"TRANSLOG_UseAll": "0"
						}
					}
				]
			}
		]
	}
}