// Copyright 2017 The LUCI Authors. All rights reserved.
// Use of this source code is governed under the Apache License, Version 2.0
// that can be found in the LICENSE file.

// Service-level configuration for luci-notify.

syntax = "proto3";

package notify;

option go_package = "config";

// Settings is the top-level configuration message.
message Settings {
  // MiloHost is the hostname of the Milo instance luci-notify queries for
  // additional build information.
  //
  // Required.
  string milo_host = 1;
}
