 let passphrase = Option("passphrase", "", flag: "p", description: "Passphrase to decrypt the key file")
 let keyID = Option("key-id", "", flag: "i", description: "The APNS token key ID as prescribed by Apple")
 let teamID = Option("team-id", "", flag: "t", description: "The team ID for which the APNS token key was generated")
-let updateToken = Option("updateToken", "", flag: "u", description: "The authentication token to require for uploading or updating passes")
+let updateToken = Option("update-token", "", flag: "u", description: "The authentication token to require for uploading or updating passes")
 let port = Option("port", 8080, flag: "p", description: "The port on which to run the server")
 
 enum PasscardsError: Error {

        throw PasscardsError.badDatabaseCredentials
    }

    let passcardsServer = PasscardsServer(database: server[database], shoveClient: shoveClient, updateToken: updateToken)

    HeliumLogger.use()

}

let main = command(databaseOption, keyPath, passphrase, keyID, teamID, updateToken, port) { databaseURI, keyPath, passphrase, keyID, teamID, updateToken, port in
    guard let urlComponents = URLComponents(string: databaseURI) else {
        throw PasscardsError.invalidDatabaseURI
    }

    let authentication: (String, String, String)?
    if let user = urlComponents.user, let password = urlComponents.password {
        authentication = (user, password, "admin")
    } else {
        authentication = nil
    }

    let server = try Server(at: urlComponents.host!, port: UInt16(urlComponents.port ?? 27017), using: authentication, automatically: false)

    let cwd = URL(fileURLWithPath: FileManager.default.currentDirectoryPath)
    guard let keyURL = URL(string: keyPath, relativeTo: cwd) else {
