blob: cd608b2adaeeda14a7f38de9bb5ef11363f1706f [file] [log] [blame]
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Protobuf definitions for the instance configuration sent by an update manager
// to COS Policy Manager. It will translate the instance configuration to device
// policy that can help us to determine the state of other services.
syntax = "proto2";
package protos;
// option go_package = "policy_manager/protos";
// HealthMonitorConfig contains all the necessary fields for policy manager to store any
// information related to the configuration of HealthMonitor logging/monitoring.
message HealthMonitorConfig {
// enforced is set to true if policy manager should enforce the HealthMonitoring logging and
// monitoring to the instance.
optional bool enforced = 1;
// logging_enabled is set to true if the instance should report logs
// to google cloud logging backend.
optional bool logging_enabled = 2;
// monitoring_enabled is set to true if the instance should report
// monitoring statistics to google cloud monitoring backend.
optional bool monitoring_enabled = 3;
}
// InstanceConfig contains the details necessary for configuring the instance.
// This proto is used in following places:
// (1) In user specified GCE Metadata - User can specify JSON formatted
// InstanceConfig in GCE metadata which is fetched and parsed by COS Policy
// Manager.
// (2) From Policy Manager to API Server - Policy Manager sends this InstanceConfig
// as 'user_config' argument to the GetInstanceConfig() call.
// (3) From API Server to COS Policy Manager client - in response to GetInstanceConfig()
// call, the server sends the actual InstanceConfig to be applied on the
// COS instance.
message InstanceConfig {
// update_strategy specified configuration about update engine selected. The values can be
// "update_disabled" or ""(default; will enable the update engine to run).
optional string update_strategy = 1;
// metrics_enabled specified configuration about metrics component used in crash reporter
// service.
optional bool metrics_enabled = 2;
// health_monitor_config specifies configuration about health logging/monitoring.
optional HealthMonitorConfig health_monitor_config = 3;
// Next number: 4
}