  constructor({ log, port }: { log: LogEntry; port?: number }) {
    this.log = log
    this.debugLog = this.log.placeholder({ level: LogLevel.debug, childEntriesInheritLevel: true })
    this.garden = undefined
    this.port = port
    this.authKey = randomString(64)
    this.incomingEvents = new EventBus()
    this.activePersistentRequests = {}

    this.serversUpdatedListener = ({ servers }) => {
      // Update status log line with new `garden dashboard` server, if any
      for (const { host, command } of servers) {
        if (command === "dashboard") {
          this.showUrl(host)
          return
        }
      }

      // No active explicit dashboard processes, show own URL instead
      this.showUrl(this.getUrl())
    }
  }
The software does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.