From 344b99b2c8d543409b758e462fd6bd5aa5bc6fec Mon Sep 17 00:00:00 2001 From: Devin Wong Date: Wed, 10 Apr 2024 10:17:10 -0700 Subject: [PATCH 1/6] polishing contract --- pkg/parser/utilities.go | 2 +- pkg/proto/nbcontract/v1/apiserverconfig.pb.go | 4 +- pkg/proto/nbcontract/v1/apiserverconfig.proto | 3 + pkg/proto/nbcontract/v1/authconfig.pb.go | 21 +- pkg/proto/nbcontract/v1/authconfig.proto | 23 +- pkg/proto/nbcontract/v1/clusterconfig.pb.go | 47 +- pkg/proto/nbcontract/v1/clusterconfig.proto | 40 +- pkg/proto/nbcontract/v1/config.pb.go | 515 +++++++++--------- pkg/proto/nbcontract/v1/config.proto | 178 +++--- .../nbcontract/v1/containerdconfig.pb.go | 7 +- .../nbcontract/v1/containerdconfig.proto | 6 + .../nbcontract/v1/customcloudconfig.pb.go | 6 +- .../nbcontract/v1/customcloudconfig.proto | 2 + pkg/proto/nbcontract/v1/gpuconfig.pb.go | 6 +- pkg/proto/nbcontract/v1/gpuconfig.proto | 6 +- pkg/proto/nbcontract/v1/httpproxyconfig.pb.go | 8 +- pkg/proto/nbcontract/v1/httpproxyconfig.proto | 8 +- .../nbcontract/v1/kubebinaryconfig.pb.go | 9 +- .../nbcontract/v1/kubebinaryconfig.proto | 12 +- pkg/proto/nbcontract/v1/kubeletconfig.pb.go | 20 +- pkg/proto/nbcontract/v1/kubeletconfig.proto | 17 +- pkg/proto/nbcontract/v1/networkconfig.pb.go | 12 +- pkg/proto/nbcontract/v1/networkconfig.proto | 7 +- pkg/proto/nbcontract/v1/runcconfig.pb.go | 4 +- pkg/proto/nbcontract/v1/runcconfig.proto | 4 + pkg/proto/nbcontract/v1/teleportconfig.pb.go | 4 +- pkg/proto/nbcontract/v1/teleportconfig.proto | 4 + .../nbcontract/v1/tlsbootstrapconfig.pb.go | 190 +++++++ .../nbcontract/v1/tlsbootstrapconfig.proto | 13 + .../v1/tlsbootstrappingconfig.pb.go | 188 ------- .../v1/tlsbootstrappingconfig.proto | 8 - 31 files changed, 762 insertions(+), 612 deletions(-) create mode 100644 pkg/proto/nbcontract/v1/tlsbootstrapconfig.pb.go create mode 100644 pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto delete mode 100644 pkg/proto/nbcontract/v1/tlsbootstrappingconfig.pb.go delete mode 100644 pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto diff --git a/pkg/parser/utilities.go b/pkg/parser/utilities.go index 44f2e5347b2..ef3ac95c65d 100644 --- a/pkg/parser/utilities.go +++ b/pkg/parser/utilities.go @@ -16,7 +16,7 @@ func getBaseTemplate() *nbcontractv1.Configuration { CustomKubeBinaryUrl: "https://acs-mirror.azureedge.net/kubernetes/v1.26.0/binaries/kubernetes-node-linux-amd64.tar.gz", PrivateKubeBinaryUrl: "", }, - KubeproxyUrl: "", + KubeProxyUrl: "", EnableSsh: true, } } diff --git a/pkg/proto/nbcontract/v1/apiserverconfig.pb.go b/pkg/proto/nbcontract/v1/apiserverconfig.pb.go index c6c6f5f016d..4a6f8e45c83 100644 --- a/pkg/proto/nbcontract/v1/apiserverconfig.pb.go +++ b/pkg/proto/nbcontract/v1/apiserverconfig.pb.go @@ -25,8 +25,10 @@ type ApiServerConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The certificate public key of the API server. ApiServerPublicKey string `protobuf:"bytes,1,opt,name=api_server_public_key,json=apiServerPublicKey,proto3" json:"api_server_public_key,omitempty"` - ApiServerName string `protobuf:"bytes,2,opt,name=api_server_name,json=apiServerName,proto3" json:"api_server_name,omitempty"` + // The name or endpoint URI of the API server. + ApiServerName string `protobuf:"bytes,2,opt,name=api_server_name,json=apiServerName,proto3" json:"api_server_name,omitempty"` } func (x *ApiServerConfig) Reset() { diff --git a/pkg/proto/nbcontract/v1/apiserverconfig.proto b/pkg/proto/nbcontract/v1/apiserverconfig.proto index 32400c776c0..e2d3f90748d 100644 --- a/pkg/proto/nbcontract/v1/apiserverconfig.proto +++ b/pkg/proto/nbcontract/v1/apiserverconfig.proto @@ -2,6 +2,9 @@ syntax = "proto3"; package nbcontract.v1; message ApiServerConfig { + // The certificate public key of the API server. string api_server_public_key = 1; + + // The name or endpoint URI of the API server. string api_server_name = 2; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/authconfig.pb.go b/pkg/proto/nbcontract/v1/authconfig.pb.go index c0ee011a18f..e0d39cfe823 100644 --- a/pkg/proto/nbcontract/v1/authconfig.pb.go +++ b/pkg/proto/nbcontract/v1/authconfig.pb.go @@ -26,13 +26,20 @@ type AuthConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TargetCloud string `protobuf:"bytes,1,opt,name=target_cloud,json=targetCloud,proto3" json:"target_cloud,omitempty"` // set to cloud, default to AzurePublicCloud - TenantId string `protobuf:"bytes,2,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` - SubscriptionId string `protobuf:"bytes,3,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` - ServicePrincipalId string `protobuf:"bytes,4,opt,name=service_principal_id,json=servicePrincipalId,proto3" json:"service_principal_id,omitempty"` // set to aadClientId - ServicePrincipalSecret string `protobuf:"bytes,5,opt,name=service_principal_secret,json=servicePrincipalSecret,proto3" json:"service_principal_secret,omitempty"` // set to aadClientSecret - AssignedIdentityId string `protobuf:"bytes,6,opt,name=assigned_identity_id,json=assignedIdentityId,proto3" json:"assigned_identity_id,omitempty"` //could be user or system assigned, depending on the type - UseManagedIdentityExtension bool `protobuf:"varint,7,opt,name=use_managed_identity_extension,json=useManagedIdentityExtension,proto3" json:"use_managed_identity_extension,omitempty"` // default to false + // Target cloud. Set to cloud. Default to AzurePublicCloud + TargetCloud string `protobuf:"bytes,1,opt,name=target_cloud,json=targetCloud,proto3" json:"target_cloud,omitempty"` + // Tenant ID + TenantId string `protobuf:"bytes,2,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + // Subscription ID + SubscriptionId string `protobuf:"bytes,3,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + // Service Principal ID. set to aadClientId + ServicePrincipalId string `protobuf:"bytes,4,opt,name=service_principal_id,json=servicePrincipalId,proto3" json:"service_principal_id,omitempty"` + // Service Principal Secret. set to aadClientSecret + ServicePrincipalSecret string `protobuf:"bytes,5,opt,name=service_principal_secret,json=servicePrincipalSecret,proto3" json:"service_principal_secret,omitempty"` + // Assigned identity id, could be user or system assigned, depending on the type. + AssignedIdentityId string `protobuf:"bytes,6,opt,name=assigned_identity_id,json=assignedIdentityId,proto3" json:"assigned_identity_id,omitempty"` + // Specify if use managed identity extension, default to false + UseManagedIdentityExtension bool `protobuf:"varint,7,opt,name=use_managed_identity_extension,json=useManagedIdentityExtension,proto3" json:"use_managed_identity_extension,omitempty"` } func (x *AuthConfig) Reset() { diff --git a/pkg/proto/nbcontract/v1/authconfig.proto b/pkg/proto/nbcontract/v1/authconfig.proto index 82310d5e831..059abc3b16d 100644 --- a/pkg/proto/nbcontract/v1/authconfig.proto +++ b/pkg/proto/nbcontract/v1/authconfig.proto @@ -3,11 +3,24 @@ package nbcontract.v1; // Auth Config fields stored in azure.json used by cloud-provider-azure message AuthConfig { - string target_cloud = 1; // set to cloud, default to AzurePublicCloud + // Target cloud. Set to cloud. Default to AzurePublicCloud + string target_cloud = 1; + + // Tenant ID string tenant_id = 2; + + // Subscription ID string subscription_id = 3; - string service_principal_id = 4; // set to aadClientId - string service_principal_secret = 5; // set to aadClientSecret - string assigned_identity_id = 6; //could be user or system assigned, depending on the type - bool use_managed_identity_extension = 7; // default to false + + // Service Principal ID. set to aadClientId + string service_principal_id = 4; + + // Service Principal Secret. set to aadClientSecret + string service_principal_secret = 5; + + // Assigned identity id, could be user or system assigned, depending on the type. + string assigned_identity_id = 6; + + // Specify if use managed identity extension, default to false + bool use_managed_identity_extension = 7; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/clusterconfig.pb.go b/pkg/proto/nbcontract/v1/clusterconfig.pb.go index 224b83d4759..438ae620893 100644 --- a/pkg/proto/nbcontract/v1/clusterconfig.pb.go +++ b/pkg/proto/nbcontract/v1/clusterconfig.pb.go @@ -124,14 +124,22 @@ type ClusterConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ResourceGroup string `protobuf:"bytes,1,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` - Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` - VmType ClusterConfig_VM `protobuf:"varint,3,opt,name=vm_type,json=vmType,proto3,enum=nbcontract.v1.ClusterConfig_VM" json:"vm_type,omitempty"` // default to standard for v1.27 and below versions and vmss for v1.28+ versions - PrimaryAvailabilitySet string `protobuf:"bytes,4,opt,name=primary_availability_set,json=primaryAvailabilitySet,proto3" json:"primary_availability_set,omitempty"` - PrimaryScaleSet string `protobuf:"bytes,5,opt,name=primary_scale_set,json=primaryScaleSet,proto3" json:"primary_scale_set,omitempty"` - VirtualNetworkConfig *ClusterNetworkConfig `protobuf:"bytes,6,opt,name=virtual_network_config,json=virtualNetworkConfig,proto3" json:"virtual_network_config,omitempty"` - UseInstanceMetadata bool `protobuf:"varint,7,opt,name=use_instance_metadata,json=useInstanceMetadata,proto3" json:"use_instance_metadata,omitempty"` // default to false - LoadBalancerConfig *LoadBalancerConfig `protobuf:"bytes,8,opt,name=load_balancer_config,json=loadBalancerConfig,proto3" json:"load_balancer_config,omitempty"` + // Rescource group name + ResourceGroup string `protobuf:"bytes,1,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` + // Location + Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` + // VM type + VmType ClusterConfig_VM `protobuf:"varint,3,opt,name=vm_type,json=vmType,proto3,enum=nbcontract.v1.ClusterConfig_VM" json:"vm_type,omitempty"` // default to standard for v1.27 and below versions and vmss for v1.28+ versions + // Primary availability set name + PrimaryAvailabilitySet string `protobuf:"bytes,4,opt,name=primary_availability_set,json=primaryAvailabilitySet,proto3" json:"primary_availability_set,omitempty"` + // Primary scale set name + PrimaryScaleSet string `protobuf:"bytes,5,opt,name=primary_scale_set,json=primaryScaleSet,proto3" json:"primary_scale_set,omitempty"` + // Cluster network config + VirtualNetworkConfig *ClusterNetworkConfig `protobuf:"bytes,6,opt,name=virtual_network_config,json=virtualNetworkConfig,proto3" json:"virtual_network_config,omitempty"` + // Specifiy if it uses instance metadata + UseInstanceMetadata bool `protobuf:"varint,7,opt,name=use_instance_metadata,json=useInstanceMetadata,proto3" json:"use_instance_metadata,omitempty"` // default to false + // Load balancer config + LoadBalancerConfig *LoadBalancerConfig `protobuf:"bytes,8,opt,name=load_balancer_config,json=loadBalancerConfig,proto3" json:"load_balancer_config,omitempty"` } func (x *ClusterConfig) Reset() { @@ -227,11 +235,16 @@ type ClusterNetworkConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - VnetName string `protobuf:"bytes,1,opt,name=vnet_name,json=vnetName,proto3" json:"vnet_name,omitempty"` + // Virtual network name + VnetName string `protobuf:"bytes,1,opt,name=vnet_name,json=vnetName,proto3" json:"vnet_name,omitempty"` + // Virtual network resource group VnetResourceGroup string `protobuf:"bytes,2,opt,name=vnet_resource_group,json=vnetResourceGroup,proto3" json:"vnet_resource_group,omitempty"` - Subnet string `protobuf:"bytes,3,opt,name=subnet,proto3" json:"subnet,omitempty"` + // Subnet name + Subnet string `protobuf:"bytes,3,opt,name=subnet,proto3" json:"subnet,omitempty"` + // Network security group name SecurityGroupName string `protobuf:"bytes,4,opt,name=security_group_name,json=securityGroupName,proto3" json:"security_group_name,omitempty"` - RouteTable string `protobuf:"bytes,5,opt,name=route_table,json=routeTable,proto3" json:"route_table,omitempty"` + // Route table name + RouteTable string `protobuf:"bytes,5,opt,name=route_table,json=routeTable,proto3" json:"route_table,omitempty"` } func (x *ClusterNetworkConfig) Reset() { @@ -306,10 +319,14 @@ type LoadBalancerConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LoadBalancerSku LoadBalancerConfig_LoadBalancerSku `protobuf:"varint,1,opt,name=load_balancer_sku,json=loadBalancerSku,proto3,enum=nbcontract.v1.LoadBalancerConfig_LoadBalancerSku" json:"load_balancer_sku,omitempty"` // default to basic - ExcludeMasterFromStandardLoadBalancer *bool `protobuf:"varint,2,opt,name=exclude_master_from_standard_load_balancer,json=excludeMasterFromStandardLoadBalancer,proto3,oneof" json:"exclude_master_from_standard_load_balancer,omitempty"` // default to true - MaxLoadBalancerRuleCount *int32 `protobuf:"varint,3,opt,name=max_load_balancer_rule_count,json=maxLoadBalancerRuleCount,proto3,oneof" json:"max_load_balancer_rule_count,omitempty"` // default to 148 - DisableOutboundSnat *bool `protobuf:"varint,4,opt,name=disable_outbound_snat,json=disableOutboundSnat,proto3,oneof" json:"disable_outbound_snat,omitempty"` // default to false + // Load balancer sku, default to basic + LoadBalancerSku LoadBalancerConfig_LoadBalancerSku `protobuf:"varint,1,opt,name=load_balancer_sku,json=loadBalancerSku,proto3,enum=nbcontract.v1.LoadBalancerConfig_LoadBalancerSku" json:"load_balancer_sku,omitempty"` + // Specify if master node should be excluded from standard load balancer, default to true + ExcludeMasterFromStandardLoadBalancer *bool `protobuf:"varint,2,opt,name=exclude_master_from_standard_load_balancer,json=excludeMasterFromStandardLoadBalancer,proto3,oneof" json:"exclude_master_from_standard_load_balancer,omitempty"` + // Maximum number of load balancer rules, default to 148 + MaxLoadBalancerRuleCount *int32 `protobuf:"varint,3,opt,name=max_load_balancer_rule_count,json=maxLoadBalancerRuleCount,proto3,oneof" json:"max_load_balancer_rule_count,omitempty"` + // Disable outbound SNAT (Source Network Address Translation) for load balancer, default to false + DisableOutboundSnat *bool `protobuf:"varint,4,opt,name=disable_outbound_snat,json=disableOutboundSnat,proto3,oneof" json:"disable_outbound_snat,omitempty"` } func (x *LoadBalancerConfig) Reset() { diff --git a/pkg/proto/nbcontract/v1/clusterconfig.proto b/pkg/proto/nbcontract/v1/clusterconfig.proto index 4c24478ba4d..245207ddcdc 100644 --- a/pkg/proto/nbcontract/v1/clusterconfig.proto +++ b/pkg/proto/nbcontract/v1/clusterconfig.proto @@ -3,13 +3,29 @@ package nbcontract.v1; // Cluster Config fields stored in azure.json used by cloud-provider-azure message ClusterConfig { + + // Rescource group name string resource_group = 1; + + // Location string location = 2; + + // VM type VM vm_type = 3; // default to standard for v1.27 and below versions and vmss for v1.28+ versions + + // Primary availability set name string primary_availability_set = 4; + + // Primary scale set name string primary_scale_set = 5; + + // Cluster network config ClusterNetworkConfig virtual_network_config = 6; + + // Specifiy if it uses instance metadata bool use_instance_metadata = 7; // default to false + + // Load balancer config LoadBalancerConfig load_balancer_config = 8; enum VM { @@ -20,18 +36,34 @@ message ClusterConfig { } message ClusterNetworkConfig { + // Virtual network name string vnet_name = 1; + + // Virtual network resource group string vnet_resource_group = 2; + + // Subnet name string subnet = 3; + + // Network security group name string security_group_name = 4; + + // Route table name string route_table = 5; } message LoadBalancerConfig { - LoadBalancerSku load_balancer_sku = 1; // default to basic - optional bool exclude_master_from_standard_load_balancer = 2; // default to true - optional int32 max_load_balancer_rule_count = 3; // default to 148 - optional bool disable_outbound_snat = 4; // default to false + // Load balancer sku, default to basic + LoadBalancerSku load_balancer_sku = 1; + + // Specify if master node should be excluded from standard load balancer, default to true + optional bool exclude_master_from_standard_load_balancer = 2; + + // Maximum number of load balancer rules, default to 148 + optional int32 max_load_balancer_rule_count = 3; + + // Disable outbound SNAT (Source Network Address Translation) for load balancer, default to false + optional bool disable_outbound_snat = 4; enum LoadBalancerSku { UNSPECIFIED = 0; diff --git a/pkg/proto/nbcontract/v1/config.pb.go b/pkg/proto/nbcontract/v1/config.pb.go index 6ecf87545d6..1b83c71416b 100644 --- a/pkg/proto/nbcontract/v1/config.pb.go +++ b/pkg/proto/nbcontract/v1/config.pb.go @@ -69,71 +69,86 @@ func (WorkloadRuntime) EnumDescriptor() ([]byte, []int) { return file_pkg_proto_nbcontract_v1_config_proto_rawDescGZIP(), []int{0} } -// illustrative division only type Configuration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // System Configuration - ClusterCertificateAuthority string `protobuf:"bytes,1,opt,name=cluster_certificate_authority,json=clusterCertificateAuthority,proto3" json:"cluster_certificate_authority,omitempty"` - TlsBootstrappingConfig *TLSBootstrappingConfig `protobuf:"bytes,2,opt,name=tls_bootstrapping_config,json=tlsBootstrappingConfig,proto3" json:"tls_bootstrapping_config,omitempty"` - // cluster/user config - KubernetesVersion string `protobuf:"bytes,3,opt,name=kubernetes_version,json=kubernetesVersion,proto3" json:"kubernetes_version,omitempty"` // Q: can this be auto-detected? Or is this part of specifying the desired node version? - KubeBinaryConfig *KubeBinaryConfig `protobuf:"bytes,4,opt,name=kube_binary_config,json=kubeBinaryConfig,proto3" json:"kube_binary_config,omitempty"` - CustomCloudConfig *CustomCloudConfig `protobuf:"bytes,5,opt,name=custom_cloud_config,json=customCloudConfig,proto3,oneof" json:"custom_cloud_config,omitempty"` - KubeproxyUrl string `protobuf:"bytes,6,opt,name=kubeproxy_url,json=kubeproxyUrl,proto3" json:"kubeproxy_url,omitempty"` - ApiserverConfig *ApiServerConfig `protobuf:"bytes,7,opt,name=apiserver_config,json=apiserverConfig,proto3" json:"apiserver_config,omitempty"` - ClusterConfig *ClusterConfig `protobuf:"bytes,14,opt,name=cluster_config,json=clusterConfig,proto3" json:"cluster_config,omitempty"` - AuthConfig *AuthConfig `protobuf:"bytes,15,opt,name=auth_config,json=authConfig,proto3" json:"auth_config,omitempty"` - RuncConfig *RuncConfig `protobuf:"bytes,16,opt,name=runc_config,json=runcConfig,proto3" json:"runc_config,omitempty"` - VmSize string `protobuf:"bytes,17,opt,name=vm_size,json=vmSize,proto3" json:"vm_size,omitempty"` - // ... and a bunch of user-specified config - LinuxAdminUsername string `protobuf:"bytes,18,opt,name=linux_admin_username,json=linuxAdminUsername,proto3" json:"linux_admin_username,omitempty"` - ContainerdConfig *ContainerdConfig `protobuf:"bytes,22,opt,name=containerd_config,json=containerdConfig,proto3" json:"containerd_config,omitempty"` - IsVhd bool `protobuf:"varint,23,opt,name=is_vhd,json=isVhd,proto3" json:"is_vhd,omitempty"` - NetworkConfig *NetworkConfig `protobuf:"bytes,24,opt,name=network_config,json=networkConfig,proto3" json:"network_config,omitempty"` - TeleportConfig *TeleportConfig `protobuf:"bytes,26,opt,name=teleport_config,json=teleportConfig,proto3" json:"teleport_config,omitempty"` - // enable_ssh specifies whether SSH is enabled or disabled on the VM node - EnableSsh bool `protobuf:"varint,27,opt,name=enable_ssh,json=enableSsh,proto3" json:"enable_ssh,omitempty"` - // enable_unattended_upgrade specifies whether unattended upgrade is enabled or disabled on the VM node - EnableUnattendedUpgrade bool `protobuf:"varint,28,opt,name=enable_unattended_upgrade,json=enableUnattendedUpgrade,proto3" json:"enable_unattended_upgrade,omitempty"` - // message_of_the_day specifies the message of the day that is displayed on the VM node when a user logs in - MessageOfTheDay string `protobuf:"bytes,29,opt,name=message_of_the_day,json=messageOfTheDay,proto3" json:"message_of_the_day,omitempty"` - // kubelet_config specifies the kubelet configuration - KubeletConfig *KubeletConfig `protobuf:"bytes,31,opt,name=kubelet_config,json=kubeletConfig,proto3" json:"kubelet_config,omitempty"` - // enable_hosts_config_agent specifies whether the hosts config agent is enabled or disabled on the VM node - EnableHostsConfigAgent bool `protobuf:"varint,32,opt,name=enable_hosts_config_agent,json=enableHostsConfigAgent,proto3" json:"enable_hosts_config_agent,omitempty"` - // custom_ca_certs specifies the custom CA certificates - CustomCaCerts []string `protobuf:"bytes,33,rep,name=custom_ca_certs,json=customCaCerts,proto3" json:"custom_ca_certs,omitempty"` - // provision_output specifies where cluster provision cse output should be stored at - ProvisionOutput string `protobuf:"bytes,34,opt,name=provision_output,json=provisionOutput,proto3" json:"provision_output,omitempty"` - // workload_runtime describes the workload runtime, e.g., either "OCIContainer" or "WasmWasi", currently. - WorkloadRuntime WorkloadRuntime `protobuf:"varint,40,opt,name=workload_runtime,json=workloadRuntime,proto3,enum=nbcontract.v1.WorkloadRuntime" json:"workload_runtime,omitempty"` - // ipv6_dual_stack_enabled specifies whether IPv6 dual stack is enabled or disabled on the VM node - Ipv6DualStackEnabled bool `protobuf:"varint,42,opt,name=ipv6_dual_stack_enabled,json=ipv6DualStackEnabled,proto3" json:"ipv6_dual_stack_enabled,omitempty"` - // outbound_command specifies the command to use for outbound traffic - OutboundCommand string `protobuf:"bytes,43,opt,name=outbound_command,json=outboundCommand,proto3" json:"outbound_command,omitempty"` - // ensure_no_dupe_promiscuous_bridge specifies whether to ensure no duplicate promiscuous bridge - EnsureNoDupePromiscuousBridge bool `protobuf:"varint,45,opt,name=ensure_no_dupe_promiscuous_bridge,json=ensureNoDupePromiscuousBridge,proto3" json:"ensure_no_dupe_promiscuous_bridge,omitempty"` - // custom_search_domain specifies the custom search domain configurations - CustomSearchDomain *CustomSearchDomain `protobuf:"bytes,46,opt,name=custom_search_domain,json=customSearchDomain,proto3" json:"custom_search_domain,omitempty"` - // custom_linux_os_config specifies the custom Linux OS configurations including SwapFile, SysCtl configs, etc. - CustomLinuxOsConfig *CustomLinuxOSConfig `protobuf:"bytes,47,opt,name=custom_linux_os_config,json=customLinuxOsConfig,proto3" json:"custom_linux_os_config,omitempty"` - // azure_private_registry_server specifies the Azure private registry server - AzurePrivateRegistryServer string `protobuf:"bytes,56,opt,name=azure_private_registry_server,json=azurePrivateRegistryServer,proto3" json:"azure_private_registry_server,omitempty"` - // private_egress_proxy_address specifies the private egress proxy address - PrivateEgressProxyAddress string `protobuf:"bytes,57,opt,name=private_egress_proxy_address,json=privateEgressProxyAddress,proto3" json:"private_egress_proxy_address,omitempty"` - // enable_artifact_streaming specifies whether artifact streaming is enabled or disabled on the VM node - EnableArtifactStreaming bool `protobuf:"varint,58,opt,name=enable_artifact_streaming,json=enableArtifactStreaming,proto3" json:"enable_artifact_streaming,omitempty"` - // is_kata specifies whether the node is a Kata node - IsKata bool `protobuf:"varint,59,opt,name=is_kata,json=isKata,proto3" json:"is_kata,omitempty"` - // needs_cgroupv2 specifies whether the node needs cgroupv2 - // when we actually work on the go binary, we should be able to query from the system. By then we can remove this. - NeedsCgroupv2 bool `protobuf:"varint,60,opt,name=needs_cgroupv2,json=needsCgroupv2,proto3" json:"needs_cgroupv2,omitempty"` - // Here begins the final contract - HttpProxyConfig *HTTPProxyConfig `protobuf:"bytes,61,opt,name=http_proxy_config,json=httpProxyConfig,proto3,oneof" json:"http_proxy_config,omitempty"` - GpuConfig *GPUConfig `protobuf:"bytes,62,opt,name=gpu_config,json=gpuConfig,proto3,oneof" json:"gpu_config,omitempty"` + // Semantic version of this node bootstrap contract + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + // Kubernetes certificate authority certificate, required by the node to establish TLS with the API server + Kubernetes_CACert string `protobuf:"bytes,2,opt,name=kubernetes_CA_cert,json=kubernetesCACert,proto3" json:"kubernetes_CA_cert,omitempty"` + // TLS bootstrap config + TlsBootstrapConfig *TLSBootstrapConfig `protobuf:"bytes,3,opt,name=tls_bootstrap_config,json=tlsBootstrapConfig,proto3" json:"tls_bootstrap_config,omitempty"` + // Cluster/user config + KubernetesVersion string `protobuf:"bytes,4,opt,name=kubernetes_version,json=kubernetesVersion,proto3" json:"kubernetes_version,omitempty"` // Q: can this be auto-detected? Or is this part of specifying the desired node version? + // Kube binary URL config + KubeBinaryConfig *KubeBinaryConfig `protobuf:"bytes,5,opt,name=kube_binary_config,json=kubeBinaryConfig,proto3" json:"kube_binary_config,omitempty"` + // Custom cloud config + CustomCloudConfig *CustomCloudConfig `protobuf:"bytes,6,opt,name=custom_cloud_config,json=customCloudConfig,proto3" json:"custom_cloud_config,omitempty"` + // Kube proxy URL + KubeProxyUrl string `protobuf:"bytes,7,opt,name=kube_proxy_url,json=kubeProxyUrl,proto3" json:"kube_proxy_url,omitempty"` + // Kubernetes API server configuration + ApiServerConfig *ApiServerConfig `protobuf:"bytes,8,opt,name=api_server_config,json=apiServerConfig,proto3" json:"api_server_config,omitempty"` + // Various Kubernetes cluster level configuration + ClusterConfig *ClusterConfig `protobuf:"bytes,9,opt,name=cluster_config,json=clusterConfig,proto3" json:"cluster_config,omitempty"` + // Authentication configuration + AuthConfig *AuthConfig `protobuf:"bytes,10,opt,name=auth_config,json=authConfig,proto3" json:"auth_config,omitempty"` + // The CLI tool runc configuration + RuncConfig *RuncConfig `protobuf:"bytes,11,opt,name=runc_config,json=runcConfig,proto3" json:"runc_config,omitempty"` + // The VM size of the node + VmSize string `protobuf:"bytes,12,opt,name=vm_size,json=vmSize,proto3" json:"vm_size,omitempty"` + // Linux admin username. If not specified, the default value is "azureuser" + LinuxAdminUsername string `protobuf:"bytes,13,opt,name=linux_admin_username,json=linuxAdminUsername,proto3" json:"linux_admin_username,omitempty"` + // Containerd configuration + ContainerdConfig *ContainerdConfig `protobuf:"bytes,14,opt,name=containerd_config,json=containerdConfig,proto3" json:"containerd_config,omitempty"` + // Specifies whether the node is a VHD node. This is still needed for some customized scenarios. + IsVhd bool `protobuf:"varint,15,opt,name=is_vhd,json=isVhd,proto3" json:"is_vhd,omitempty"` + // Network configuration. We assumed network mode is always "transparent" now so it's removed from the contract. + NetworkConfig *NetworkConfig `protobuf:"bytes,16,opt,name=network_config,json=networkConfig,proto3" json:"network_config,omitempty"` + // Teleport configuration + TeleportConfig *TeleportConfig `protobuf:"bytes,17,opt,name=teleport_config,json=teleportConfig,proto3" json:"teleport_config,omitempty"` + // Specifies whether SSH is enabled or disabled on the VM node + EnableSsh bool `protobuf:"varint,18,opt,name=enable_ssh,json=enableSsh,proto3" json:"enable_ssh,omitempty"` + // Specifies whether unattended upgrade is enabled or disabled on the VM node + EnableUnattendedUpgrade bool `protobuf:"varint,19,opt,name=enable_unattended_upgrade,json=enableUnattendedUpgrade,proto3" json:"enable_unattended_upgrade,omitempty"` + // The message of the day that is displayed on the VM node when a user logs in + MessageOfTheDay string `protobuf:"bytes,20,opt,name=message_of_the_day,json=messageOfTheDay,proto3" json:"message_of_the_day,omitempty"` + // Kubelet configuration + KubeletConfig *KubeletConfig `protobuf:"bytes,21,opt,name=kubelet_config,json=kubeletConfig,proto3" json:"kubelet_config,omitempty"` + // Specifies whether the hosts config agent is enabled or disabled on the VM node + EnableHostsConfigAgent bool `protobuf:"varint,22,opt,name=enable_hosts_config_agent,json=enableHostsConfigAgent,proto3" json:"enable_hosts_config_agent,omitempty"` + // Custom CA certificates to be added to the system trust store + CustomCaCerts []string `protobuf:"bytes,23,rep,name=custom_ca_certs,json=customCaCerts,proto3" json:"custom_ca_certs,omitempty"` + // A local file path where cluster provision cse output should be stored + ProvisionOutput string `protobuf:"bytes,24,opt,name=provision_output,json=provisionOutput,proto3" json:"provision_output,omitempty"` + // Workload runtime, e.g., either "OCIContainer" or "WasmWasi", currently. + WorkloadRuntime WorkloadRuntime `protobuf:"varint,25,opt,name=workload_runtime,json=workloadRuntime,proto3,enum=nbcontract.v1.WorkloadRuntime" json:"workload_runtime,omitempty"` + // Specifies whether IPv6 dual stack is enabled or disabled on the VM node + Ipv6DualStackEnabled bool `protobuf:"varint,26,opt,name=ipv6_dual_stack_enabled,json=ipv6DualStackEnabled,proto3" json:"ipv6_dual_stack_enabled,omitempty"` + // Command to use for outbound traffic + OutboundCommand string `protobuf:"bytes,27,opt,name=outbound_command,json=outboundCommand,proto3" json:"outbound_command,omitempty"` + // specifies whether to ensure no duplicate promiscuous bridge + EnsureNoDupePromiscuousBridge bool `protobuf:"varint,28,opt,name=ensure_no_dupe_promiscuous_bridge,json=ensureNoDupePromiscuousBridge,proto3" json:"ensure_no_dupe_promiscuous_bridge,omitempty"` + // Custom search domain configurations + CustomSearchDomain *CustomSearchDomain `protobuf:"bytes,29,opt,name=custom_search_domain,json=customSearchDomain,proto3" json:"custom_search_domain,omitempty"` + // Custom Linux OS configurations including SwapFile, SysCtl configs, etc. + CustomLinuxOsConfig *CustomLinuxOSConfig `protobuf:"bytes,30,opt,name=custom_linux_os_config,json=customLinuxOsConfig,proto3" json:"custom_linux_os_config,omitempty"` + // Azure private registry server URI + AzurePrivateRegistryServer string `protobuf:"bytes,31,opt,name=azure_private_registry_server,json=azurePrivateRegistryServer,proto3" json:"azure_private_registry_server,omitempty"` + // Private egress proxy address + PrivateEgressProxyAddress string `protobuf:"bytes,32,opt,name=private_egress_proxy_address,json=privateEgressProxyAddress,proto3" json:"private_egress_proxy_address,omitempty"` + // Specifies whether artifact streaming is enabled or disabled on the VM node + EnableArtifactStreaming bool `protobuf:"varint,33,opt,name=enable_artifact_streaming,json=enableArtifactStreaming,proto3" json:"enable_artifact_streaming,omitempty"` + // Specifies whether the node is a Kata node + IsKata bool `protobuf:"varint,34,opt,name=is_kata,json=isKata,proto3" json:"is_kata,omitempty"` + // Specifies whether the node needs cgroupv2. + // When we actually work on the go binary, we should be able to query from the system. By then we can remove this. + NeedsCgroupv2 bool `protobuf:"varint,35,opt,name=needs_cgroupv2,json=needsCgroupv2,proto3" json:"needs_cgroupv2,omitempty"` + // HTTP/HTTPS proxy configuration for the node + HttpProxyConfig *HTTPProxyConfig `protobuf:"bytes,36,opt,name=http_proxy_config,json=httpProxyConfig,proto3" json:"http_proxy_config,omitempty"` + // GPU configuration for the node + GpuConfig *GPUConfig `protobuf:"bytes,37,opt,name=gpu_config,json=gpuConfig,proto3" json:"gpu_config,omitempty"` } func (x *Configuration) Reset() { @@ -168,16 +183,23 @@ func (*Configuration) Descriptor() ([]byte, []int) { return file_pkg_proto_nbcontract_v1_config_proto_rawDescGZIP(), []int{0} } -func (x *Configuration) GetClusterCertificateAuthority() string { +func (x *Configuration) GetVersion() string { if x != nil { - return x.ClusterCertificateAuthority + return x.Version } return "" } -func (x *Configuration) GetTlsBootstrappingConfig() *TLSBootstrappingConfig { +func (x *Configuration) GetKubernetes_CACert() string { if x != nil { - return x.TlsBootstrappingConfig + return x.Kubernetes_CACert + } + return "" +} + +func (x *Configuration) GetTlsBootstrapConfig() *TLSBootstrapConfig { + if x != nil { + return x.TlsBootstrapConfig } return nil } @@ -203,16 +225,16 @@ func (x *Configuration) GetCustomCloudConfig() *CustomCloudConfig { return nil } -func (x *Configuration) GetKubeproxyUrl() string { +func (x *Configuration) GetKubeProxyUrl() string { if x != nil { - return x.KubeproxyUrl + return x.KubeProxyUrl } return "" } -func (x *Configuration) GetApiserverConfig() *ApiServerConfig { +func (x *Configuration) GetApiServerConfig() *ApiServerConfig { if x != nil { - return x.ApiserverConfig + return x.ApiServerConfig } return nil } @@ -464,170 +486,164 @@ var file_pkg_proto_nbcontract_v1_config_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6c, - 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x11, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x1d, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x1b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x5f, 0x0a, - 0x18, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x4c, 0x53, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x74, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, - 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, - 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6b, 0x75, 0x62, 0x65, - 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, - 0x12, 0x6b, 0x75, 0x62, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6b, 0x75, 0x62, 0x65, - 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x13, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x75, 0x62, 0x65, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x75, 0x62, 0x65, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x49, 0x0a, 0x10, 0x61, 0x70, 0x69, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x0f, 0x61, 0x70, 0x69, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, 0x62, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, - 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x63, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x17, 0x0a, 0x07, 0x76, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x76, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x69, 0x6e, - 0x75, 0x78, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x11, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, - 0x76, 0x68, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x68, 0x64, - 0x12, 0x43, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x74, - 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, - 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x73, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x19, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x64, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x74, 0x68, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x1d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x66, 0x54, - 0x68, 0x65, 0x44, 0x61, 0x79, 0x12, 0x43, 0x0a, 0x0e, 0x6b, 0x75, 0x62, 0x65, 0x6c, 0x65, 0x74, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x10, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x2c, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x43, 0x41, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x75, 0x62, + 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x41, 0x43, 0x65, 0x72, 0x74, 0x12, 0x53, 0x0a, + 0x14, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x62, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x4c, 0x53, 0x42, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, + 0x74, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x4d, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, - 0x62, 0x65, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6b, 0x75, 0x62, - 0x65, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x29, 0x0a, - 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x64, 0x75, 0x61, 0x6c, - 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x2a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x70, 0x76, 0x36, 0x44, 0x75, 0x61, 0x6c, 0x53, 0x74, - 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x75, - 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x2b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x21, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x5f, - 0x6e, 0x6f, 0x5f, 0x64, 0x75, 0x70, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, - 0x6f, 0x75, 0x73, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x1d, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x44, 0x75, 0x70, 0x65, 0x50, 0x72, - 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, 0x73, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, - 0x53, 0x0a, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x62, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, + 0x6b, 0x75, 0x62, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x50, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6c, - 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x6f, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2f, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x4f, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, - 0x1d, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x38, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x3a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, - 0x07, 0x69, 0x73, 0x5f, 0x6b, 0x61, 0x74, 0x61, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x69, 0x73, 0x4b, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, - 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x32, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x6e, 0x65, 0x65, 0x64, 0x73, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x32, 0x12, 0x4f, 0x0a, - 0x11, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x3c, - 0x0a, 0x0a, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x3e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x50, 0x55, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x02, 0x52, 0x09, - 0x67, 0x70, 0x75, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, - 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, - 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2a, 0x47, 0x0a, 0x0f, 0x57, 0x6f, 0x72, - 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x0e, - 0x57, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x43, 0x49, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, - 0x52, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x57, 0x41, 0x53, 0x49, - 0x10, 0x02, 0x42, 0xb7, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, - 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, - 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x62, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, 0x58, 0x58, 0xaa, - 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x19, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4e, 0x62, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x6b, 0x75, 0x62, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x75, 0x62, 0x65, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x4a, 0x0a, 0x11, 0x61, 0x70, 0x69, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x0f, 0x61, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, + 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0b, 0x61, 0x75, 0x74, + 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x62, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x63, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x72, 0x75, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x76, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x69, + 0x6e, 0x75, 0x78, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x11, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, + 0x5f, 0x76, 0x68, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x68, + 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, 0x62, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, + 0x0a, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x73, 0x68, 0x12, 0x3a, 0x0a, + 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x6e, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x74, 0x68, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x66, + 0x54, 0x68, 0x65, 0x44, 0x61, 0x79, 0x12, 0x43, 0x0a, 0x0e, 0x6b, 0x75, 0x62, 0x65, 0x6c, 0x65, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4b, + 0x75, 0x62, 0x65, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6b, 0x75, + 0x62, 0x65, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x19, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x29, + 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x77, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x64, 0x75, 0x61, + 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x70, 0x76, 0x36, 0x44, 0x75, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6f, + 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x21, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, + 0x5f, 0x6e, 0x6f, 0x5f, 0x64, 0x75, 0x70, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, + 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1d, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x44, 0x75, 0x70, 0x65, 0x50, + 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, 0x73, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x12, 0x53, 0x0a, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x6f, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x4f, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, + 0x0a, 0x1d, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, + 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, + 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x17, + 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6b, 0x61, 0x74, 0x61, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x69, 0x73, 0x4b, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x65, 0x64, 0x73, + 0x5f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x32, 0x18, 0x23, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x32, 0x12, 0x4a, + 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x62, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0a, 0x67, 0x70, + 0x75, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x50, 0x55, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, 0x70, 0x75, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2a, 0x47, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x52, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x43, + 0x49, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0d, 0x0a, + 0x09, 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x57, 0x41, 0x53, 0x49, 0x10, 0x02, 0x42, 0xb7, 0x01, 0x0a, + 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x76, 0x31, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, + 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -645,29 +661,29 @@ func file_pkg_proto_nbcontract_v1_config_proto_rawDescGZIP() []byte { var file_pkg_proto_nbcontract_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_pkg_proto_nbcontract_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_pkg_proto_nbcontract_v1_config_proto_goTypes = []interface{}{ - (WorkloadRuntime)(0), // 0: nbcontract.v1.WorkloadRuntime - (*Configuration)(nil), // 1: nbcontract.v1.Configuration - (*TLSBootstrappingConfig)(nil), // 2: nbcontract.v1.TLSBootstrappingConfig - (*KubeBinaryConfig)(nil), // 3: nbcontract.v1.KubeBinaryConfig - (*CustomCloudConfig)(nil), // 4: nbcontract.v1.CustomCloudConfig - (*ApiServerConfig)(nil), // 5: nbcontract.v1.ApiServerConfig - (*ClusterConfig)(nil), // 6: nbcontract.v1.ClusterConfig - (*AuthConfig)(nil), // 7: nbcontract.v1.AuthConfig - (*RuncConfig)(nil), // 8: nbcontract.v1.RuncConfig - (*ContainerdConfig)(nil), // 9: nbcontract.v1.ContainerdConfig - (*NetworkConfig)(nil), // 10: nbcontract.v1.NetworkConfig - (*TeleportConfig)(nil), // 11: nbcontract.v1.TeleportConfig - (*KubeletConfig)(nil), // 12: nbcontract.v1.KubeletConfig - (*CustomSearchDomain)(nil), // 13: nbcontract.v1.CustomSearchDomain - (*CustomLinuxOSConfig)(nil), // 14: nbcontract.v1.CustomLinuxOSConfig - (*HTTPProxyConfig)(nil), // 15: nbcontract.v1.HTTPProxyConfig - (*GPUConfig)(nil), // 16: nbcontract.v1.GPUConfig + (WorkloadRuntime)(0), // 0: nbcontract.v1.WorkloadRuntime + (*Configuration)(nil), // 1: nbcontract.v1.Configuration + (*TLSBootstrapConfig)(nil), // 2: nbcontract.v1.TLSBootstrapConfig + (*KubeBinaryConfig)(nil), // 3: nbcontract.v1.KubeBinaryConfig + (*CustomCloudConfig)(nil), // 4: nbcontract.v1.CustomCloudConfig + (*ApiServerConfig)(nil), // 5: nbcontract.v1.ApiServerConfig + (*ClusterConfig)(nil), // 6: nbcontract.v1.ClusterConfig + (*AuthConfig)(nil), // 7: nbcontract.v1.AuthConfig + (*RuncConfig)(nil), // 8: nbcontract.v1.RuncConfig + (*ContainerdConfig)(nil), // 9: nbcontract.v1.ContainerdConfig + (*NetworkConfig)(nil), // 10: nbcontract.v1.NetworkConfig + (*TeleportConfig)(nil), // 11: nbcontract.v1.TeleportConfig + (*KubeletConfig)(nil), // 12: nbcontract.v1.KubeletConfig + (*CustomSearchDomain)(nil), // 13: nbcontract.v1.CustomSearchDomain + (*CustomLinuxOSConfig)(nil), // 14: nbcontract.v1.CustomLinuxOSConfig + (*HTTPProxyConfig)(nil), // 15: nbcontract.v1.HTTPProxyConfig + (*GPUConfig)(nil), // 16: nbcontract.v1.GPUConfig } var file_pkg_proto_nbcontract_v1_config_proto_depIdxs = []int32{ - 2, // 0: nbcontract.v1.Configuration.tls_bootstrapping_config:type_name -> nbcontract.v1.TLSBootstrappingConfig + 2, // 0: nbcontract.v1.Configuration.tls_bootstrap_config:type_name -> nbcontract.v1.TLSBootstrapConfig 3, // 1: nbcontract.v1.Configuration.kube_binary_config:type_name -> nbcontract.v1.KubeBinaryConfig 4, // 2: nbcontract.v1.Configuration.custom_cloud_config:type_name -> nbcontract.v1.CustomCloudConfig - 5, // 3: nbcontract.v1.Configuration.apiserver_config:type_name -> nbcontract.v1.ApiServerConfig + 5, // 3: nbcontract.v1.Configuration.api_server_config:type_name -> nbcontract.v1.ApiServerConfig 6, // 4: nbcontract.v1.Configuration.cluster_config:type_name -> nbcontract.v1.ClusterConfig 7, // 5: nbcontract.v1.Configuration.auth_config:type_name -> nbcontract.v1.AuthConfig 8, // 6: nbcontract.v1.Configuration.runc_config:type_name -> nbcontract.v1.RuncConfig @@ -705,7 +721,7 @@ func file_pkg_proto_nbcontract_v1_config_proto_init() { file_pkg_proto_nbcontract_v1_runcconfig_proto_init() file_pkg_proto_nbcontract_v1_customcloudconfig_proto_init() file_pkg_proto_nbcontract_v1_apiserverconfig_proto_init() - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_init() + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_init() file_pkg_proto_nbcontract_v1_clusterconfig_proto_init() if !protoimpl.UnsafeEnabled { file_pkg_proto_nbcontract_v1_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { @@ -721,7 +737,6 @@ func file_pkg_proto_nbcontract_v1_config_proto_init() { } } } - file_pkg_proto_nbcontract_v1_config_proto_msgTypes[0].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/pkg/proto/nbcontract/v1/config.proto b/pkg/proto/nbcontract/v1/config.proto index d8b58fba92d..526474b9179 100644 --- a/pkg/proto/nbcontract/v1/config.proto +++ b/pkg/proto/nbcontract/v1/config.proto @@ -15,7 +15,7 @@ import "pkg/proto/nbcontract/v1/teleportconfig.proto"; import "pkg/proto/nbcontract/v1/runcconfig.proto"; import "pkg/proto/nbcontract/v1/customcloudconfig.proto"; import "pkg/proto/nbcontract/v1/apiserverconfig.proto"; -import "pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto"; +import "pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto"; import "pkg/proto/nbcontract/v1/clusterconfig.proto"; enum WorkloadRuntime { @@ -24,121 +24,117 @@ enum WorkloadRuntime { WASM_WASI = 2; } -// illustrative division only message Configuration { - // System Configuration - string cluster_certificate_authority = 1; - TLSBootstrappingConfig tls_bootstrapping_config = 2; - - // cluster/user config - string kubernetes_version = 3; // Q: can this be auto-detected? Or is this part of specifying the desired node version? - KubeBinaryConfig kube_binary_config = 4; - optional CustomCloudConfig custom_cloud_config = 5; - string kubeproxy_url = 6; - ApiServerConfig apiserver_config = 7; - ClusterConfig cluster_config = 14; - AuthConfig auth_config = 15; - RuncConfig runc_config = 16; - string vm_size = 17; + // Semantic version of this node bootstrap contract + string version = 1; - // ... and a bunch of user-specified config - string linux_admin_username = 18; - ContainerdConfig containerd_config = 22; - bool is_vhd = 23; - NetworkConfig network_config = 24; - TeleportConfig teleport_config = 26; + // Kubernetes certificate authority certificate, required by the node to establish TLS with the API server + string kubernetes_CA_cert = 2; - // enable_ssh specifies whether SSH is enabled or disabled on the VM node - bool enable_ssh = 27; + // TLS bootstrap config + TLSBootstrapConfig tls_bootstrap_config = 3; - // enable_unattended_upgrade specifies whether unattended upgrade is enabled or disabled on the VM node - bool enable_unattended_upgrade = 28; + // Cluster/user config + string kubernetes_version = 4; // Q: can this be auto-detected? Or is this part of specifying the desired node version? - // message_of_the_day specifies the message of the day that is displayed on the VM node when a user logs in - string message_of_the_day = 29; + // Kube binary URL config + KubeBinaryConfig kube_binary_config = 5; - // kubelet_config specifies the kubelet configuration - KubeletConfig kubelet_config = 31; + // Custom cloud config + CustomCloudConfig custom_cloud_config = 6; - // enable_hosts_config_agent specifies whether the hosts config agent is enabled or disabled on the VM node - bool enable_hosts_config_agent = 32; + // Kube proxy URL + string kube_proxy_url = 7; - // custom_ca_certs specifies the custom CA certificates - repeated string custom_ca_certs = 33; + // Kubernetes API server configuration + ApiServerConfig api_server_config = 8; + + // Various Kubernetes cluster level configuration + ClusterConfig cluster_config = 9; - // provision_output specifies where cluster provision cse output should be stored at - string provision_output = 34; + // Authentication configuration + AuthConfig auth_config = 10; - // workload_runtime describes the workload runtime, e.g., either "OCIContainer" or "WasmWasi", currently. - WorkloadRuntime workload_runtime = 40; + // The CLI tool runc configuration + RuncConfig runc_config = 11; - // ipv6_dual_stack_enabled specifies whether IPv6 dual stack is enabled or disabled on the VM node - bool ipv6_dual_stack_enabled = 42; + // The VM size of the node + string vm_size = 12; - // outbound_command specifies the command to use for outbound traffic - string outbound_command = 43; + // Linux admin username. If not specified, the default value is "azureuser" + string linux_admin_username = 13; - // ensure_no_dupe_promiscuous_bridge specifies whether to ensure no duplicate promiscuous bridge - bool ensure_no_dupe_promiscuous_bridge = 45; + // Containerd configuration + ContainerdConfig containerd_config = 14; - // custom_search_domain specifies the custom search domain configurations - CustomSearchDomain custom_search_domain = 46; + // Specifies whether the node is a VHD node. This is still needed for some customized scenarios. + bool is_vhd = 15; - // custom_linux_os_config specifies the custom Linux OS configurations including SwapFile, SysCtl configs, etc. - CustomLinuxOSConfig custom_linux_os_config = 47; + // Network configuration. We assumed network mode is always "transparent" now so it's removed from the contract. + NetworkConfig network_config = 16; - // azure_private_registry_server specifies the Azure private registry server - string azure_private_registry_server = 56; + // Teleport configuration + TeleportConfig teleport_config = 17; - // private_egress_proxy_address specifies the private egress proxy address - string private_egress_proxy_address = 57; + // Specifies whether SSH is enabled or disabled on the VM node + bool enable_ssh = 18; - // enable_artifact_streaming specifies whether artifact streaming is enabled or disabled on the VM node - bool enable_artifact_streaming = 58; + // Specifies whether unattended upgrade is enabled or disabled on the VM node + bool enable_unattended_upgrade = 19; - // is_kata specifies whether the node is a Kata node - bool is_kata = 59; + // The message of the day that is displayed on the VM node when a user logs in + string message_of_the_day = 20; - // needs_cgroupv2 specifies whether the node needs cgroupv2 - // when we actually work on the go binary, we should be able to query from the system. By then we can remove this. - bool needs_cgroupv2 = 60; + // Kubelet configuration + KubeletConfig kubelet_config = 21; - // Here begins the final contract - optional HTTPProxyConfig http_proxy_config = 61; - optional GPUConfig gpu_config = 62; -} + // Specifies whether the hosts config agent is enabled or disabled on the VM node + bool enable_hosts_config_agent = 22; -// The following variables are removed from the contract -// Leaving them there for note. -// All of them need default values configured in the VHD, likely in the go binary. -// will remove this section before release -/* + // Custom CA certificates to be added to the system trust store + repeated string custom_ca_certs = 23; -message CloudProviderConfig { - CloudProviderBackoffConfig cloud_provider_backoff_config = 1; - CloudProviderRateLimitConfig cloud_provider_rate_limit_config = 2; - bool cloud_provider_disable_out_bound_snat = 3; -} + // A local file path where cluster provision cse output should be stored + string provision_output = 24; -message CloudProviderBackoffConfig { - FeatureState status = 1; - string mode = 2; - int32 retries = 3; - double exponent = 4; - int32 duration = 5; - double jitter = 6; -} + // Workload runtime, e.g., either "OCIContainer" or "WasmWasi", currently. + WorkloadRuntime workload_runtime = 25; -message CloudProviderRateLimitConfig { - FeatureState status = 1; - double qps = 2; - double qps_write = 3; - int32 bucket = 4; - int32 bucket_write = 5; -} + // Specifies whether IPv6 dual stack is enabled or disabled on the VM node + bool ipv6_dual_stack_enabled = 26; + + // Command to use for outbound traffic + string outbound_command = 27; + + // specifies whether to ensure no duplicate promiscuous bridge + bool ensure_no_dupe_promiscuous_bridge = 28; + + // Custom search domain configurations + CustomSearchDomain custom_search_domain = 29; + + // Custom Linux OS configurations including SwapFile, SysCtl configs, etc. + CustomLinuxOSConfig custom_linux_os_config = 30; + + // Azure private registry server URI + string azure_private_registry_server = 31; + + //Private egress proxy address + string private_egress_proxy_address = 32; + + // Specifies whether artifact streaming is enabled or disabled on the VM node + bool enable_artifact_streaming = 33; + + // Specifies whether the node is a Kata node + bool is_kata = 34; + + // Specifies whether the node needs cgroupv2. + // When we actually work on the go binary, we should be able to query from the system. By then we can remove this. + bool needs_cgroupv2 = 35; -CONTAINER_RUNTIME = "containerd" -CLI_TOOL = "ctr" + // HTTP/HTTPS proxy configuration for the node + HTTPProxyConfig http_proxy_config = 36; -*/ \ No newline at end of file + // GPU configuration for the node + GPUConfig gpu_config = 37; +} \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/containerdconfig.pb.go b/pkg/proto/nbcontract/v1/containerdconfig.pb.go index 4f3c564ee05..5aa9b7de852 100644 --- a/pkg/proto/nbcontract/v1/containerdconfig.pb.go +++ b/pkg/proto/nbcontract/v1/containerdconfig.pb.go @@ -25,9 +25,12 @@ type ContainerdConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The base URL for downloading containerd. ContainerdDownloadUrlBase string `protobuf:"bytes,1,opt,name=containerd_download_url_base,json=containerdDownloadUrlBase,proto3" json:"containerd_download_url_base,omitempty"` - ContainerdVersion string `protobuf:"bytes,2,opt,name=containerd_version,json=containerdVersion,proto3" json:"containerd_version,omitempty"` - ContainerdPackageUrl string `protobuf:"bytes,3,opt,name=containerd_package_url,json=containerdPackageUrl,proto3" json:"containerd_package_url,omitempty"` + // The version of containerd to download. + ContainerdVersion string `protobuf:"bytes,2,opt,name=containerd_version,json=containerdVersion,proto3" json:"containerd_version,omitempty"` + // The URL for downloading the containerd package. + ContainerdPackageUrl string `protobuf:"bytes,3,opt,name=containerd_package_url,json=containerdPackageUrl,proto3" json:"containerd_package_url,omitempty"` } func (x *ContainerdConfig) Reset() { diff --git a/pkg/proto/nbcontract/v1/containerdconfig.proto b/pkg/proto/nbcontract/v1/containerdconfig.proto index ca0e5ff6d88..05cc6be8da9 100644 --- a/pkg/proto/nbcontract/v1/containerdconfig.proto +++ b/pkg/proto/nbcontract/v1/containerdconfig.proto @@ -2,7 +2,13 @@ syntax = "proto3"; package nbcontract.v1; message ContainerdConfig { + + // The base URL for downloading containerd. string containerd_download_url_base = 1; + + // The version of containerd to download. string containerd_version = 2; + + // The URL for downloading the containerd package. string containerd_package_url = 3; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/customcloudconfig.pb.go b/pkg/proto/nbcontract/v1/customcloudconfig.pb.go index ce4e971dab6..9b30c0da775 100644 --- a/pkg/proto/nbcontract/v1/customcloudconfig.pb.go +++ b/pkg/proto/nbcontract/v1/customcloudconfig.pb.go @@ -30,8 +30,10 @@ type CustomCloudConfig struct { // InitFilePath is the path to the file that contains the init script InitFilePath string `protobuf:"bytes,2,opt,name=init_file_path,json=initFilePath,proto3" json:"init_file_path,omitempty"` // RepoDepotEndpoint is the endpoint of the repo depot - RepoDepotEndpoint string `protobuf:"bytes,3,opt,name=repo_depot_endpoint,json=repoDepotEndpoint,proto3" json:"repo_depot_endpoint,omitempty"` - TargetEnvironment string `protobuf:"bytes,4,opt,name=target_environment,json=targetEnvironment,proto3" json:"target_environment,omitempty"` + RepoDepotEndpoint string `protobuf:"bytes,3,opt,name=repo_depot_endpoint,json=repoDepotEndpoint,proto3" json:"repo_depot_endpoint,omitempty"` + // Specifies if target environment is a sovereign cloud, which has its own data compliance regulation, or standard public cloud. + TargetEnvironment string `protobuf:"bytes,4,opt,name=target_environment,json=targetEnvironment,proto3" json:"target_environment,omitempty"` + // Base64 encoded JSON string of custom cloud environment CustomEnvJsonContent string `protobuf:"bytes,5,opt,name=custom_env_json_content,json=customEnvJsonContent,proto3" json:"custom_env_json_content,omitempty"` } diff --git a/pkg/proto/nbcontract/v1/customcloudconfig.proto b/pkg/proto/nbcontract/v1/customcloudconfig.proto index 57258710c00..5ac4a4b370a 100644 --- a/pkg/proto/nbcontract/v1/customcloudconfig.proto +++ b/pkg/proto/nbcontract/v1/customcloudconfig.proto @@ -12,7 +12,9 @@ message CustomCloudConfig { // RepoDepotEndpoint is the endpoint of the repo depot string repo_depot_endpoint = 3; + // Specifies if target environment is a sovereign cloud, which has its own data compliance regulation, or standard public cloud. string target_environment = 4; + // Base64 encoded JSON string of custom cloud environment string custom_env_json_content = 5; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/gpuconfig.pb.go b/pkg/proto/nbcontract/v1/gpuconfig.pb.go index 3d8bea6cff9..92781ea89f0 100644 --- a/pkg/proto/nbcontract/v1/gpuconfig.pb.go +++ b/pkg/proto/nbcontract/v1/gpuconfig.pb.go @@ -25,11 +25,11 @@ type GPUConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // ConfigGpuDriver specifies whether bootstrap process should install and configure the GPU driver when necessary. Configuration includes appropriate set up of components like the fabric manager where applicable. + // Specifies whether bootstrap process should install and configure the GPU driver when necessary. Configuration includes appropriate set up of components like the fabric manager where applicable. ConfigGpuDriver bool `protobuf:"varint,1,opt,name=config_gpu_driver,json=configGpuDriver,proto3" json:"config_gpu_driver,omitempty"` - // GpuDevicePlugin specifies whether special config is needed for MIG GPUs that use GPU dedicated VHDs and enable the device plugin (for all GPU dedicated VHDs) + // Specifies whether special config is needed for MIG GPUs that use GPU dedicated VHDs and enable the device plugin (for all GPU dedicated VHDs) GpuDevicePlugin bool `protobuf:"varint,2,opt,name=gpu_device_plugin,json=gpuDevicePlugin,proto3" json:"gpu_device_plugin,omitempty"` - // GpuInstanceProfile represents the GPU instance profile. + // Represents the GPU instance profile. GpuInstanceProfile string `protobuf:"bytes,3,opt,name=gpu_instance_profile,json=gpuInstanceProfile,proto3" json:"gpu_instance_profile,omitempty"` } diff --git a/pkg/proto/nbcontract/v1/gpuconfig.proto b/pkg/proto/nbcontract/v1/gpuconfig.proto index e0456108171..bb89f9920a5 100644 --- a/pkg/proto/nbcontract/v1/gpuconfig.proto +++ b/pkg/proto/nbcontract/v1/gpuconfig.proto @@ -2,12 +2,12 @@ syntax = "proto3"; package nbcontract.v1; message GPUConfig { - // ConfigGpuDriver specifies whether bootstrap process should install and configure the GPU driver when necessary. Configuration includes appropriate set up of components like the fabric manager where applicable. + // Specifies whether bootstrap process should install and configure the GPU driver when necessary. Configuration includes appropriate set up of components like the fabric manager where applicable. bool config_gpu_driver = 1; - // GpuDevicePlugin specifies whether special config is needed for MIG GPUs that use GPU dedicated VHDs and enable the device plugin (for all GPU dedicated VHDs) + // Specifies whether special config is needed for MIG GPUs that use GPU dedicated VHDs and enable the device plugin (for all GPU dedicated VHDs) bool gpu_device_plugin = 2; - // GpuInstanceProfile represents the GPU instance profile. + // Represents the GPU instance profile. string gpu_instance_profile = 3; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/httpproxyconfig.pb.go b/pkg/proto/nbcontract/v1/httpproxyconfig.pb.go index 6230e1e4be1..e28aee7e2d2 100644 --- a/pkg/proto/nbcontract/v1/httpproxyconfig.pb.go +++ b/pkg/proto/nbcontract/v1/httpproxyconfig.pb.go @@ -25,13 +25,13 @@ type HTTPProxyConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // HTTPProxy represents the proxy endpoint/URL using HTTP, that the traffic should go through for making HTTP connections outside the cluster + // Proxy endpoint/URL using HTTP through which the traffic should be routed for making HTTP connections outside the cluster HttpProxy string `protobuf:"bytes,1,opt,name=http_proxy,json=httpProxy,proto3" json:"http_proxy,omitempty"` - // HTTPSProxy represents the proxy endpoint/URL using HTTPS, that the traffic should go through for making HTTPS connections outside the cluster + // Proxy endpoint/URL using HTTPS through which the traffic should be routed for making HTTPS connections outside the cluster HttpsProxy string `protobuf:"bytes,2,opt,name=https_proxy,json=httpsProxy,proto3" json:"https_proxy,omitempty"` - // NoProxy represents a list of entries including IPs, domains, or other network CIDRs that should not be accessed through the proxy + // A list of entries including IPs, domains, or other network CIDRs that should not be accessed through the proxy NoProxyEntries []string `protobuf:"bytes,3,rep,name=no_proxy_entries,json=noProxyEntries,proto3" json:"no_proxy_entries,omitempty"` - // TrustedCA repesents alternative CA certificate content + // Custom CA certificate that should be trusted by the proxy ProxyTrustedCa string `protobuf:"bytes,4,opt,name=proxy_trusted_ca,json=proxyTrustedCa,proto3" json:"proxy_trusted_ca,omitempty"` } diff --git a/pkg/proto/nbcontract/v1/httpproxyconfig.proto b/pkg/proto/nbcontract/v1/httpproxyconfig.proto index 8988b610b0d..28a8be004cf 100644 --- a/pkg/proto/nbcontract/v1/httpproxyconfig.proto +++ b/pkg/proto/nbcontract/v1/httpproxyconfig.proto @@ -2,15 +2,15 @@ syntax = "proto3"; package nbcontract.v1; message HTTPProxyConfig { - // HTTPProxy represents the proxy endpoint/URL using HTTP, that the traffic should go through for making HTTP connections outside the cluster + // Proxy endpoint/URL using HTTP through which the traffic should be routed for making HTTP connections outside the cluster string http_proxy = 1; - // HTTPSProxy represents the proxy endpoint/URL using HTTPS, that the traffic should go through for making HTTPS connections outside the cluster + // Proxy endpoint/URL using HTTPS through which the traffic should be routed for making HTTPS connections outside the cluster string https_proxy = 2; - // NoProxy represents a list of entries including IPs, domains, or other network CIDRs that should not be accessed through the proxy + // A list of entries including IPs, domains, or other network CIDRs that should not be accessed through the proxy repeated string no_proxy_entries = 3; - // TrustedCA repesents alternative CA certificate content + // Custom CA certificate that should be trusted by the proxy string proxy_trusted_ca = 4; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/kubebinaryconfig.pb.go b/pkg/proto/nbcontract/v1/kubebinaryconfig.pb.go index 53165650489..baea190acb5 100644 --- a/pkg/proto/nbcontract/v1/kubebinaryconfig.pb.go +++ b/pkg/proto/nbcontract/v1/kubebinaryconfig.pb.go @@ -26,9 +26,12 @@ type KubeBinaryConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - KubeBinaryUrl string `protobuf:"bytes,1,opt,name=kube_binary_url,json=kubeBinaryUrl,proto3" json:"kube_binary_url,omitempty"` //default kube binary url - CustomKubeBinaryUrl string `protobuf:"bytes,2,opt,name=custom_kube_binary_url,json=customKubeBinaryUrl,proto3" json:"custom_kube_binary_url,omitempty"` //user's custom kube binary url - PrivateKubeBinaryUrl string `protobuf:"bytes,3,opt,name=private_kube_binary_url,json=privateKubeBinaryUrl,proto3" json:"private_kube_binary_url,omitempty"` //privately cached kube binary url + // default kube binary url + KubeBinaryUrl string `protobuf:"bytes,1,opt,name=kube_binary_url,json=kubeBinaryUrl,proto3" json:"kube_binary_url,omitempty"` + // user's custom kube binary url + CustomKubeBinaryUrl string `protobuf:"bytes,2,opt,name=custom_kube_binary_url,json=customKubeBinaryUrl,proto3" json:"custom_kube_binary_url,omitempty"` + // privately cached kube binary url + PrivateKubeBinaryUrl string `protobuf:"bytes,3,opt,name=private_kube_binary_url,json=privateKubeBinaryUrl,proto3" json:"private_kube_binary_url,omitempty"` } func (x *KubeBinaryConfig) Reset() { diff --git a/pkg/proto/nbcontract/v1/kubebinaryconfig.proto b/pkg/proto/nbcontract/v1/kubebinaryconfig.proto index fa630e486f5..81d40ecbfb0 100644 --- a/pkg/proto/nbcontract/v1/kubebinaryconfig.proto +++ b/pkg/proto/nbcontract/v1/kubebinaryconfig.proto @@ -3,7 +3,13 @@ package nbcontract.v1; // Kube Binary Config message KubeBinaryConfig { - string kube_binary_url = 1; //default kube binary url - string custom_kube_binary_url = 2; //user's custom kube binary url - string private_kube_binary_url = 3; //privately cached kube binary url + + //default kube binary url + string kube_binary_url = 1; + + //user's custom kube binary url + string custom_kube_binary_url = 2; + + //privately cached kube binary url + string private_kube_binary_url = 3; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/kubeletconfig.pb.go b/pkg/proto/nbcontract/v1/kubeletconfig.pb.go index fdc9add27ee..8319ed24d4a 100644 --- a/pkg/proto/nbcontract/v1/kubeletconfig.pb.go +++ b/pkg/proto/nbcontract/v1/kubeletconfig.pb.go @@ -74,15 +74,21 @@ type KubeletConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // TODO(ace): remove these/make api defensible - KubeletFlags map[string]string `protobuf:"bytes,1,rep,name=kubelet_flags,json=kubeletFlags,proto3" json:"kubelet_flags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map of kubelet flags to their values. + KubeletFlags map[string]string `protobuf:"bytes,1,rep,name=kubelet_flags,json=kubeletFlags,proto3" json:"kubelet_flags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A map of node labels to their values. KubeletNodeLabels map[string]string `protobuf:"bytes,2,rep,name=kubelet_node_labels,json=kubeletNodeLabels,proto3" json:"kubelet_node_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Taints []*Taint `protobuf:"bytes,3,rep,name=taints,proto3" json:"taints,omitempty"` - StartupTaints []*Taint `protobuf:"bytes,4,rep,name=startup_taints,json=startupTaints,proto3" json:"startup_taints,omitempty"` - KubeletDiskType KubeletDisk `protobuf:"varint,5,opt,name=kubelet_disk_type,json=kubeletDiskType,proto3,enum=nbcontract.v1.KubeletDisk" json:"kubelet_disk_type,omitempty"` - // kubelet_config_file_content is the content of the kubelet config file. + // A list of taints to apply to the node. + Taints []*Taint `protobuf:"bytes,3,rep,name=taints,proto3" json:"taints,omitempty"` + // A list of taints to apply to the node at startup. + StartupTaints []*Taint `protobuf:"bytes,4,rep,name=startup_taints,json=startupTaints,proto3" json:"startup_taints,omitempty"` + // The type of disk to use for the kubelet. + KubeletDiskType KubeletDisk `protobuf:"varint,5,opt,name=kubelet_disk_type,json=kubeletDiskType,proto3,enum=nbcontract.v1.KubeletDisk" json:"kubelet_disk_type,omitempty"` + // Base64 encoded content of the kubelet config file. KubeletConfigFileContent string `protobuf:"bytes,6,opt,name=kubelet_config_file_content,json=kubeletConfigFileContent,proto3" json:"kubelet_config_file_content,omitempty"` - KubeletClientKey string `protobuf:"bytes,7,opt,name=kubelet_client_key,json=kubeletClientKey,proto3" json:"kubelet_client_key,omitempty"` + // Kubelet client private key + KubeletClientKey string `protobuf:"bytes,7,opt,name=kubelet_client_key,json=kubeletClientKey,proto3" json:"kubelet_client_key,omitempty"` + // The content of the kubelet client certificate file. KubeletClientCertContent string `protobuf:"bytes,8,opt,name=kubelet_client_cert_content,json=kubeletClientCertContent,proto3" json:"kubelet_client_cert_content,omitempty"` } diff --git a/pkg/proto/nbcontract/v1/kubeletconfig.proto b/pkg/proto/nbcontract/v1/kubeletconfig.proto index d4ab0619922..b4b8d8bbbf6 100644 --- a/pkg/proto/nbcontract/v1/kubeletconfig.proto +++ b/pkg/proto/nbcontract/v1/kubeletconfig.proto @@ -2,16 +2,29 @@ syntax = "proto3"; package nbcontract.v1; message KubeletConfig { - // TODO(ace): remove these/make api defensible + + // A map of kubelet flags to their values. map kubelet_flags = 1; + + // A map of node labels to their values. map kubelet_node_labels = 2; + + // A list of taints to apply to the node. repeated Taint taints = 3; + + // A list of taints to apply to the node at startup. repeated Taint startup_taints = 4; + + // The type of disk to use for the kubelet. KubeletDisk kubelet_disk_type = 5; - // kubelet_config_file_content is the content of the kubelet config file. + // Base64 encoded content of the kubelet config file. string kubelet_config_file_content = 6; + + // Kubelet client private key string kubelet_client_key = 7; + + // The content of the kubelet client certificate file. string kubelet_client_cert_content = 8; } diff --git a/pkg/proto/nbcontract/v1/networkconfig.pb.go b/pkg/proto/nbcontract/v1/networkconfig.pb.go index a4d898ef217..f1cb6383fdb 100644 --- a/pkg/proto/nbcontract/v1/networkconfig.pb.go +++ b/pkg/proto/nbcontract/v1/networkconfig.pb.go @@ -129,14 +129,16 @@ type NetworkConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // NetworkPlugin is the network plugin to be used by the cluster. Options are NONE, AZURE, KUBENET. + // Network plugin to be used by the cluster. Options are NONE, AZURE, KUBENET. NetworkPlugin NetworkPlugin `protobuf:"varint,1,opt,name=network_plugin,json=networkPlugin,proto3,enum=nbcontract.v1.NetworkPlugin" json:"network_plugin,omitempty"` - // NetworkPolicy is the network policy to be used by the cluster. + // Network policy to be used by the cluster. // This is still needed to compute ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE. // Other than that, it is not used by others. See the discussions here https://github.com/Azure/AgentBaker/pull/4241#discussion_r1554283228 - NetworkPolicy NetworkPolicy `protobuf:"varint,2,opt,name=network_policy,json=networkPolicy,proto3,enum=nbcontract.v1.NetworkPolicy" json:"network_policy,omitempty"` - VnetCniPluginsUrl string `protobuf:"bytes,3,opt,name=vnet_cni_plugins_url,json=vnetCniPluginsUrl,proto3" json:"vnet_cni_plugins_url,omitempty"` - CniPluginsUrl string `protobuf:"bytes,4,opt,name=cni_plugins_url,json=cniPluginsUrl,proto3" json:"cni_plugins_url,omitempty"` + NetworkPolicy NetworkPolicy `protobuf:"varint,2,opt,name=network_policy,json=networkPolicy,proto3,enum=nbcontract.v1.NetworkPolicy" json:"network_policy,omitempty"` + // URL to the vnet cni plugins tarball. + VnetCniPluginsUrl string `protobuf:"bytes,3,opt,name=vnet_cni_plugins_url,json=vnetCniPluginsUrl,proto3" json:"vnet_cni_plugins_url,omitempty"` + // URL to the cni plugins tarball. + CniPluginsUrl string `protobuf:"bytes,4,opt,name=cni_plugins_url,json=cniPluginsUrl,proto3" json:"cni_plugins_url,omitempty"` } func (x *NetworkConfig) Reset() { diff --git a/pkg/proto/nbcontract/v1/networkconfig.proto b/pkg/proto/nbcontract/v1/networkconfig.proto index 5b0a5cac5b3..e64c7917f75 100644 --- a/pkg/proto/nbcontract/v1/networkconfig.proto +++ b/pkg/proto/nbcontract/v1/networkconfig.proto @@ -3,15 +3,18 @@ package nbcontract.v1; message NetworkConfig { - // NetworkPlugin is the network plugin to be used by the cluster. Options are NONE, AZURE, KUBENET. + // Network plugin to be used by the cluster. Options are NONE, AZURE, KUBENET. NetworkPlugin network_plugin = 1; - // NetworkPolicy is the network policy to be used by the cluster. + // Network policy to be used by the cluster. // This is still needed to compute ENSURE_NO_DUPE_PROMISCUOUS_BRIDGE. // Other than that, it is not used by others. See the discussions here https://github.com/Azure/AgentBaker/pull/4241#discussion_r1554283228 NetworkPolicy network_policy = 2; + // URL to the vnet cni plugins tarball. string vnet_cni_plugins_url = 3; + + // URL to the cni plugins tarball. string cni_plugins_url = 4; } diff --git a/pkg/proto/nbcontract/v1/runcconfig.pb.go b/pkg/proto/nbcontract/v1/runcconfig.pb.go index aa3631768bf..f5042cb2aec 100644 --- a/pkg/proto/nbcontract/v1/runcconfig.pb.go +++ b/pkg/proto/nbcontract/v1/runcconfig.pb.go @@ -25,7 +25,9 @@ type RuncConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RuncVersion string `protobuf:"bytes,1,opt,name=runc_version,json=runcVersion,proto3" json:"runc_version,omitempty"` + // The version of runc to use. + RuncVersion string `protobuf:"bytes,1,opt,name=runc_version,json=runcVersion,proto3" json:"runc_version,omitempty"` + // The URL to download the runc package from. RuncPackageUrl string `protobuf:"bytes,2,opt,name=runc_package_url,json=runcPackageUrl,proto3" json:"runc_package_url,omitempty"` } diff --git a/pkg/proto/nbcontract/v1/runcconfig.proto b/pkg/proto/nbcontract/v1/runcconfig.proto index 5329b528b13..6871eb518cc 100644 --- a/pkg/proto/nbcontract/v1/runcconfig.proto +++ b/pkg/proto/nbcontract/v1/runcconfig.proto @@ -2,6 +2,10 @@ syntax = "proto3"; package nbcontract.v1; message RuncConfig { + + // The version of runc to use. string runc_version = 1; + + // The URL to download the runc package from. string runc_package_url = 2; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/teleportconfig.pb.go b/pkg/proto/nbcontract/v1/teleportconfig.pb.go index 8d4a6a2c332..f87a794ca94 100644 --- a/pkg/proto/nbcontract/v1/teleportconfig.pb.go +++ b/pkg/proto/nbcontract/v1/teleportconfig.pb.go @@ -25,7 +25,9 @@ type TeleportConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` + // The status of the teleportd plugin. If true, the plugin is enabled. + Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` + // The URL to download the teleportd plugin. TeleportdPluginDownloadUrl string `protobuf:"bytes,2,opt,name=teleportd_plugin_download_url,json=teleportdPluginDownloadUrl,proto3" json:"teleportd_plugin_download_url,omitempty"` } diff --git a/pkg/proto/nbcontract/v1/teleportconfig.proto b/pkg/proto/nbcontract/v1/teleportconfig.proto index 45bbdca673a..78bdc7166a7 100644 --- a/pkg/proto/nbcontract/v1/teleportconfig.proto +++ b/pkg/proto/nbcontract/v1/teleportconfig.proto @@ -2,6 +2,10 @@ syntax = "proto3"; package nbcontract.v1; message TeleportConfig { + + // The status of the teleportd plugin. If true, the plugin is enabled. bool status = 1; + + // The URL to download the teleportd plugin. string teleportd_plugin_download_url = 2; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/tlsbootstrapconfig.pb.go b/pkg/proto/nbcontract/v1/tlsbootstrapconfig.pb.go new file mode 100644 index 00000000000..e3379eedd98 --- /dev/null +++ b/pkg/proto/nbcontract/v1/tlsbootstrapconfig.pb.go @@ -0,0 +1,190 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc (unknown) +// source: pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto + +package nbcontractv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type TLSBootstrapConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enable secure TLS bootstrap for the node. + EnableSecureTlsBootstrap *bool `protobuf:"varint,1,opt,name=enable_secure_tls_bootstrap,json=enableSecureTlsBootstrap,proto3,oneof" json:"enable_secure_tls_bootstrap,omitempty"` + // Only required until Secure TLS bootstrap in place. Would use kubelet identity after that. + TlsBootstrapToken string `protobuf:"bytes,2,opt,name=tls_bootstrap_token,json=tlsBootstrapToken,proto3" json:"tls_bootstrap_token,omitempty"` + // Only used when secure TLS bootstrap is enabled. This is the appserver appid that the node will use to bootstrap + CustomSecureTlsBootstrapAppserverAppid string `protobuf:"bytes,3,opt,name=custom_secure_tls_bootstrap_appserver_appid,json=customSecureTlsBootstrapAppserverAppid,proto3" json:"custom_secure_tls_bootstrap_appserver_appid,omitempty"` +} + +func (x *TLSBootstrapConfig) Reset() { + *x = TLSBootstrapConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSBootstrapConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSBootstrapConfig) ProtoMessage() {} + +func (x *TLSBootstrapConfig) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSBootstrapConfig.ProtoReflect.Descriptor instead. +func (*TLSBootstrapConfig) Descriptor() ([]byte, []int) { + return file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescGZIP(), []int{0} +} + +func (x *TLSBootstrapConfig) GetEnableSecureTlsBootstrap() bool { + if x != nil && x.EnableSecureTlsBootstrap != nil { + return *x.EnableSecureTlsBootstrap + } + return false +} + +func (x *TLSBootstrapConfig) GetTlsBootstrapToken() string { + if x != nil { + return x.TlsBootstrapToken + } + return "" +} + +func (x *TLSBootstrapConfig) GetCustomSecureTlsBootstrapAppserverAppid() string { + if x != nil { + return x.CustomSecureTlsBootstrapAppserverAppid + } + return "" +} + +var File_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto protoreflect.FileDescriptor + +var file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6c, 0x73, 0x62, 0x6f, 0x6f, + 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x0d, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, + 0x31, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x54, 0x4c, 0x53, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x6c, 0x73, + 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x13, + 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x6c, 0x73, 0x42, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5b, 0x0a, 0x2b, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, + 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x61, 0x70, 0x70, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x26, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, + 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x70, 0x70, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x70, 0x69, 0x64, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, + 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0xc3, 0x01, 0x0a, 0x11, 0x63, 0x6f, + 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x42, + 0x17, 0x54, 0x6c, 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, + 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, + 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, + 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, + 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescOnce sync.Once + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescData = file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDesc +) + +func file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescGZIP() []byte { + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescOnce.Do(func() { + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescData) + }) + return file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescData +} + +var file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_goTypes = []interface{}{ + (*TLSBootstrapConfig)(nil), // 0: nbcontract.v1.TLSBootstrapConfig +} +var file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_init() } +func file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_init() { + if File_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSBootstrapConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes[0].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_goTypes, + DependencyIndexes: file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_depIdxs, + MessageInfos: file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes, + }.Build() + File_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto = out.File + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDesc = nil + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_goTypes = nil + file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_depIdxs = nil +} diff --git a/pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto b/pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto new file mode 100644 index 00000000000..b085a3370ae --- /dev/null +++ b/pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package nbcontract.v1; + +message TLSBootstrapConfig { + // Enable secure TLS bootstrap for the node. + optional bool enable_secure_tls_bootstrap = 1; + + // Only required until Secure TLS bootstrap in place. Would use kubelet identity after that. + string tls_bootstrap_token = 2; + + // Only used when secure TLS bootstrap is enabled. This is the appserver appid that the node will use to bootstrap + string custom_secure_tls_bootstrap_appserver_appid = 3; + } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.pb.go b/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.pb.go deleted file mode 100644 index 256394f7611..00000000000 --- a/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.pb.go +++ /dev/null @@ -1,188 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.33.0 -// protoc (unknown) -// source: pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto - -package nbcontractv1 - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type TLSBootstrappingConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EnableSecureTlsBootstrapping *bool `protobuf:"varint,1,opt,name=enable_secure_tls_bootstrapping,json=enableSecureTlsBootstrapping,proto3,oneof" json:"enable_secure_tls_bootstrapping,omitempty"` - TlsBootstrapToken string `protobuf:"bytes,2,opt,name=tls_bootstrap_token,json=tlsBootstrapToken,proto3" json:"tls_bootstrap_token,omitempty"` // Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that. - CustomSecureTlsBootstrapAppserverAppid string `protobuf:"bytes,3,opt,name=custom_secure_tls_bootstrap_appserver_appid,json=customSecureTlsBootstrapAppserverAppid,proto3" json:"custom_secure_tls_bootstrap_appserver_appid,omitempty"` // Only used when secure TLS bootstrapping is enabled -} - -func (x *TLSBootstrappingConfig) Reset() { - *x = TLSBootstrappingConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TLSBootstrappingConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TLSBootstrappingConfig) ProtoMessage() {} - -func (x *TLSBootstrappingConfig) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TLSBootstrappingConfig.ProtoReflect.Descriptor instead. -func (*TLSBootstrappingConfig) Descriptor() ([]byte, []int) { - return file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescGZIP(), []int{0} -} - -func (x *TLSBootstrappingConfig) GetEnableSecureTlsBootstrapping() bool { - if x != nil && x.EnableSecureTlsBootstrapping != nil { - return *x.EnableSecureTlsBootstrapping - } - return false -} - -func (x *TLSBootstrappingConfig) GetTlsBootstrapToken() string { - if x != nil { - return x.TlsBootstrapToken - } - return "" -} - -func (x *TLSBootstrappingConfig) GetCustomSecureTlsBootstrapAppserverAppid() string { - if x != nil { - return x.CustomSecureTlsBootstrapAppserverAppid - } - return "" -} - -var File_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto protoreflect.FileDescriptor - -var file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDesc = []byte{ - 0x0a, 0x34, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6c, 0x73, 0x62, 0x6f, 0x6f, - 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x2e, 0x76, 0x31, 0x22, 0x95, 0x02, 0x0a, 0x16, 0x54, 0x4c, 0x53, 0x42, 0x6f, 0x6f, - 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x4a, 0x0a, 0x1f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1c, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, - 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x13, - 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x6c, 0x73, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5b, 0x0a, 0x2b, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, - 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x61, 0x70, 0x70, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x26, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, - 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x70, 0x70, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x70, 0x69, 0x64, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, - 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0xc7, 0x01, - 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x2e, 0x76, 0x31, 0x42, 0x1b, 0x54, 0x6c, 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, - 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, - 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescOnce sync.Once - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescData = file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDesc -) - -func file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescGZIP() []byte { - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescOnce.Do(func() { - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescData) - }) - return file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescData -} - -var file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_goTypes = []interface{}{ - (*TLSBootstrappingConfig)(nil), // 0: nbcontract.v1.TLSBootstrappingConfig -} -var file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_init() } -func file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_init() { - if File_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLSBootstrappingConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes[0].OneofWrappers = []interface{}{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDesc, - NumEnums: 0, - NumMessages: 1, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_goTypes, - DependencyIndexes: file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_depIdxs, - MessageInfos: file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes, - }.Build() - File_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto = out.File - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDesc = nil - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_goTypes = nil - file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_depIdxs = nil -} diff --git a/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto b/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto deleted file mode 100644 index 60007eb8204..00000000000 --- a/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto3"; -package nbcontract.v1; - -message TLSBootstrappingConfig { - optional bool enable_secure_tls_bootstrapping = 1; - string tls_bootstrap_token = 2; // Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that. - string custom_secure_tls_bootstrap_appserver_appid = 3; // Only used when secure TLS bootstrapping is enabled - } \ No newline at end of file From 013a1a986499c29a8105abee40e65c051405b71d Mon Sep 17 00:00:00 2001 From: Devin Wong Date: Wed, 10 Apr 2024 10:26:45 -0700 Subject: [PATCH 2/6] minor update --- pkg/proto/nbcontract/v1/config.pb.go | 85 ++++---- pkg/proto/nbcontract/v1/config.proto | 8 +- .../nbcontract/v1/tlsbootstrapconfig.pb.go | 190 ----------------- .../nbcontract/v1/tlsbootstrapconfig.proto | 13 -- .../v1/tlsbootstrappingconfig.pb.go | 192 ++++++++++++++++++ .../v1/tlsbootstrappingconfig.proto | 13 ++ 6 files changed, 252 insertions(+), 249 deletions(-) delete mode 100644 pkg/proto/nbcontract/v1/tlsbootstrapconfig.pb.go delete mode 100644 pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto create mode 100644 pkg/proto/nbcontract/v1/tlsbootstrappingconfig.pb.go create mode 100644 pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto diff --git a/pkg/proto/nbcontract/v1/config.pb.go b/pkg/proto/nbcontract/v1/config.pb.go index 1b83c71416b..701437ec2b4 100644 --- a/pkg/proto/nbcontract/v1/config.pb.go +++ b/pkg/proto/nbcontract/v1/config.pb.go @@ -76,10 +76,10 @@ type Configuration struct { // Semantic version of this node bootstrap contract Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - // Kubernetes certificate authority certificate, required by the node to establish TLS with the API server - Kubernetes_CACert string `protobuf:"bytes,2,opt,name=kubernetes_CA_cert,json=kubernetesCACert,proto3" json:"kubernetes_CA_cert,omitempty"` + // Kubernetes certificate authority (CA) certificate, required by the node to establish TLS with the API server + KubernetesCaCert string `protobuf:"bytes,2,opt,name=kubernetes_ca_cert,json=kubernetesCaCert,proto3" json:"kubernetes_ca_cert,omitempty"` // TLS bootstrap config - TlsBootstrapConfig *TLSBootstrapConfig `protobuf:"bytes,3,opt,name=tls_bootstrap_config,json=tlsBootstrapConfig,proto3" json:"tls_bootstrap_config,omitempty"` + TlsBootstrappingConfig *TLSBootstrappingConfig `protobuf:"bytes,3,opt,name=tls_bootstrapping_config,json=tlsBootstrappingConfig,proto3" json:"tls_bootstrapping_config,omitempty"` // Cluster/user config KubernetesVersion string `protobuf:"bytes,4,opt,name=kubernetes_version,json=kubernetesVersion,proto3" json:"kubernetes_version,omitempty"` // Q: can this be auto-detected? Or is this part of specifying the desired node version? // Kube binary URL config @@ -190,16 +190,16 @@ func (x *Configuration) GetVersion() string { return "" } -func (x *Configuration) GetKubernetes_CACert() string { +func (x *Configuration) GetKubernetesCaCert() string { if x != nil { - return x.Kubernetes_CACert + return x.KubernetesCaCert } return "" } -func (x *Configuration) GetTlsBootstrapConfig() *TLSBootstrapConfig { +func (x *Configuration) GetTlsBootstrappingConfig() *TLSBootstrappingConfig { if x != nil { - return x.TlsBootstrapConfig + return x.TlsBootstrappingConfig } return nil } @@ -486,23 +486,24 @@ var file_pkg_proto_nbcontract_v1_config_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6c, - 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x10, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x2c, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x43, 0x41, - 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6b, 0x75, 0x62, - 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x41, 0x43, 0x65, 0x72, 0x74, 0x12, 0x53, 0x0a, - 0x14, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x62, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x4c, 0x53, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, - 0x74, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, + 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x10, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, + 0x73, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x61, 0x43, 0x65, 0x72, + 0x74, 0x12, 0x5f, 0x0a, 0x18, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x4c, 0x53, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x74, 0x6c, 0x73, 0x42, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, @@ -661,26 +662,26 @@ func file_pkg_proto_nbcontract_v1_config_proto_rawDescGZIP() []byte { var file_pkg_proto_nbcontract_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_pkg_proto_nbcontract_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_pkg_proto_nbcontract_v1_config_proto_goTypes = []interface{}{ - (WorkloadRuntime)(0), // 0: nbcontract.v1.WorkloadRuntime - (*Configuration)(nil), // 1: nbcontract.v1.Configuration - (*TLSBootstrapConfig)(nil), // 2: nbcontract.v1.TLSBootstrapConfig - (*KubeBinaryConfig)(nil), // 3: nbcontract.v1.KubeBinaryConfig - (*CustomCloudConfig)(nil), // 4: nbcontract.v1.CustomCloudConfig - (*ApiServerConfig)(nil), // 5: nbcontract.v1.ApiServerConfig - (*ClusterConfig)(nil), // 6: nbcontract.v1.ClusterConfig - (*AuthConfig)(nil), // 7: nbcontract.v1.AuthConfig - (*RuncConfig)(nil), // 8: nbcontract.v1.RuncConfig - (*ContainerdConfig)(nil), // 9: nbcontract.v1.ContainerdConfig - (*NetworkConfig)(nil), // 10: nbcontract.v1.NetworkConfig - (*TeleportConfig)(nil), // 11: nbcontract.v1.TeleportConfig - (*KubeletConfig)(nil), // 12: nbcontract.v1.KubeletConfig - (*CustomSearchDomain)(nil), // 13: nbcontract.v1.CustomSearchDomain - (*CustomLinuxOSConfig)(nil), // 14: nbcontract.v1.CustomLinuxOSConfig - (*HTTPProxyConfig)(nil), // 15: nbcontract.v1.HTTPProxyConfig - (*GPUConfig)(nil), // 16: nbcontract.v1.GPUConfig + (WorkloadRuntime)(0), // 0: nbcontract.v1.WorkloadRuntime + (*Configuration)(nil), // 1: nbcontract.v1.Configuration + (*TLSBootstrappingConfig)(nil), // 2: nbcontract.v1.TLSBootstrappingConfig + (*KubeBinaryConfig)(nil), // 3: nbcontract.v1.KubeBinaryConfig + (*CustomCloudConfig)(nil), // 4: nbcontract.v1.CustomCloudConfig + (*ApiServerConfig)(nil), // 5: nbcontract.v1.ApiServerConfig + (*ClusterConfig)(nil), // 6: nbcontract.v1.ClusterConfig + (*AuthConfig)(nil), // 7: nbcontract.v1.AuthConfig + (*RuncConfig)(nil), // 8: nbcontract.v1.RuncConfig + (*ContainerdConfig)(nil), // 9: nbcontract.v1.ContainerdConfig + (*NetworkConfig)(nil), // 10: nbcontract.v1.NetworkConfig + (*TeleportConfig)(nil), // 11: nbcontract.v1.TeleportConfig + (*KubeletConfig)(nil), // 12: nbcontract.v1.KubeletConfig + (*CustomSearchDomain)(nil), // 13: nbcontract.v1.CustomSearchDomain + (*CustomLinuxOSConfig)(nil), // 14: nbcontract.v1.CustomLinuxOSConfig + (*HTTPProxyConfig)(nil), // 15: nbcontract.v1.HTTPProxyConfig + (*GPUConfig)(nil), // 16: nbcontract.v1.GPUConfig } var file_pkg_proto_nbcontract_v1_config_proto_depIdxs = []int32{ - 2, // 0: nbcontract.v1.Configuration.tls_bootstrap_config:type_name -> nbcontract.v1.TLSBootstrapConfig + 2, // 0: nbcontract.v1.Configuration.tls_bootstrapping_config:type_name -> nbcontract.v1.TLSBootstrappingConfig 3, // 1: nbcontract.v1.Configuration.kube_binary_config:type_name -> nbcontract.v1.KubeBinaryConfig 4, // 2: nbcontract.v1.Configuration.custom_cloud_config:type_name -> nbcontract.v1.CustomCloudConfig 5, // 3: nbcontract.v1.Configuration.api_server_config:type_name -> nbcontract.v1.ApiServerConfig @@ -721,7 +722,7 @@ func file_pkg_proto_nbcontract_v1_config_proto_init() { file_pkg_proto_nbcontract_v1_runcconfig_proto_init() file_pkg_proto_nbcontract_v1_customcloudconfig_proto_init() file_pkg_proto_nbcontract_v1_apiserverconfig_proto_init() - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_init() + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_init() file_pkg_proto_nbcontract_v1_clusterconfig_proto_init() if !protoimpl.UnsafeEnabled { file_pkg_proto_nbcontract_v1_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { diff --git a/pkg/proto/nbcontract/v1/config.proto b/pkg/proto/nbcontract/v1/config.proto index 526474b9179..062920e02d5 100644 --- a/pkg/proto/nbcontract/v1/config.proto +++ b/pkg/proto/nbcontract/v1/config.proto @@ -15,7 +15,7 @@ import "pkg/proto/nbcontract/v1/teleportconfig.proto"; import "pkg/proto/nbcontract/v1/runcconfig.proto"; import "pkg/proto/nbcontract/v1/customcloudconfig.proto"; import "pkg/proto/nbcontract/v1/apiserverconfig.proto"; -import "pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto"; +import "pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto"; import "pkg/proto/nbcontract/v1/clusterconfig.proto"; enum WorkloadRuntime { @@ -29,11 +29,11 @@ message Configuration { // Semantic version of this node bootstrap contract string version = 1; - // Kubernetes certificate authority certificate, required by the node to establish TLS with the API server - string kubernetes_CA_cert = 2; + // Kubernetes certificate authority (CA) certificate, required by the node to establish TLS with the API server + string kubernetes_ca_cert = 2; // TLS bootstrap config - TLSBootstrapConfig tls_bootstrap_config = 3; + TLSBootstrappingConfig tls_bootstrapping_config = 3; // Cluster/user config string kubernetes_version = 4; // Q: can this be auto-detected? Or is this part of specifying the desired node version? diff --git a/pkg/proto/nbcontract/v1/tlsbootstrapconfig.pb.go b/pkg/proto/nbcontract/v1/tlsbootstrapconfig.pb.go deleted file mode 100644 index e3379eedd98..00000000000 --- a/pkg/proto/nbcontract/v1/tlsbootstrapconfig.pb.go +++ /dev/null @@ -1,190 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.33.0 -// protoc (unknown) -// source: pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto - -package nbcontractv1 - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type TLSBootstrapConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Enable secure TLS bootstrap for the node. - EnableSecureTlsBootstrap *bool `protobuf:"varint,1,opt,name=enable_secure_tls_bootstrap,json=enableSecureTlsBootstrap,proto3,oneof" json:"enable_secure_tls_bootstrap,omitempty"` - // Only required until Secure TLS bootstrap in place. Would use kubelet identity after that. - TlsBootstrapToken string `protobuf:"bytes,2,opt,name=tls_bootstrap_token,json=tlsBootstrapToken,proto3" json:"tls_bootstrap_token,omitempty"` - // Only used when secure TLS bootstrap is enabled. This is the appserver appid that the node will use to bootstrap - CustomSecureTlsBootstrapAppserverAppid string `protobuf:"bytes,3,opt,name=custom_secure_tls_bootstrap_appserver_appid,json=customSecureTlsBootstrapAppserverAppid,proto3" json:"custom_secure_tls_bootstrap_appserver_appid,omitempty"` -} - -func (x *TLSBootstrapConfig) Reset() { - *x = TLSBootstrapConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TLSBootstrapConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TLSBootstrapConfig) ProtoMessage() {} - -func (x *TLSBootstrapConfig) ProtoReflect() protoreflect.Message { - mi := &file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TLSBootstrapConfig.ProtoReflect.Descriptor instead. -func (*TLSBootstrapConfig) Descriptor() ([]byte, []int) { - return file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescGZIP(), []int{0} -} - -func (x *TLSBootstrapConfig) GetEnableSecureTlsBootstrap() bool { - if x != nil && x.EnableSecureTlsBootstrap != nil { - return *x.EnableSecureTlsBootstrap - } - return false -} - -func (x *TLSBootstrapConfig) GetTlsBootstrapToken() string { - if x != nil { - return x.TlsBootstrapToken - } - return "" -} - -func (x *TLSBootstrapConfig) GetCustomSecureTlsBootstrapAppserverAppid() string { - if x != nil { - return x.CustomSecureTlsBootstrapAppserverAppid - } - return "" -} - -var File_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto protoreflect.FileDescriptor - -var file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDesc = []byte{ - 0x0a, 0x30, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6c, 0x73, 0x62, 0x6f, 0x6f, - 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x0d, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, - 0x31, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x54, 0x4c, 0x53, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, - 0x61, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x6c, 0x73, - 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x13, - 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x6c, 0x73, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5b, 0x0a, 0x2b, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, - 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x61, 0x70, 0x70, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x26, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, - 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x70, 0x70, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x70, 0x69, 0x64, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, - 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0xc3, 0x01, 0x0a, 0x11, 0x63, 0x6f, - 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x42, - 0x17, 0x54, 0x6c, 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, - 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, - 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescOnce sync.Once - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescData = file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDesc -) - -func file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescGZIP() []byte { - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescOnce.Do(func() { - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescData) - }) - return file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDescData -} - -var file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_goTypes = []interface{}{ - (*TLSBootstrapConfig)(nil), // 0: nbcontract.v1.TLSBootstrapConfig -} -var file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_init() } -func file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_init() { - if File_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TLSBootstrapConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes[0].OneofWrappers = []interface{}{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDesc, - NumEnums: 0, - NumMessages: 1, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_goTypes, - DependencyIndexes: file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_depIdxs, - MessageInfos: file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_msgTypes, - }.Build() - File_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto = out.File - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_rawDesc = nil - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_goTypes = nil - file_pkg_proto_nbcontract_v1_tlsbootstrapconfig_proto_depIdxs = nil -} diff --git a/pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto b/pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto deleted file mode 100644 index b085a3370ae..00000000000 --- a/pkg/proto/nbcontract/v1/tlsbootstrapconfig.proto +++ /dev/null @@ -1,13 +0,0 @@ -syntax = "proto3"; -package nbcontract.v1; - -message TLSBootstrapConfig { - // Enable secure TLS bootstrap for the node. - optional bool enable_secure_tls_bootstrap = 1; - - // Only required until Secure TLS bootstrap in place. Would use kubelet identity after that. - string tls_bootstrap_token = 2; - - // Only used when secure TLS bootstrap is enabled. This is the appserver appid that the node will use to bootstrap - string custom_secure_tls_bootstrap_appserver_appid = 3; - } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.pb.go b/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.pb.go new file mode 100644 index 00000000000..295fce9d950 --- /dev/null +++ b/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.pb.go @@ -0,0 +1,192 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc (unknown) +// source: pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto + +package nbcontractv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type TLSBootstrappingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enable secure TLS bootstrapping for the node. + EnableSecureTlsBootstrapping *bool `protobuf:"varint,1,opt,name=enable_secure_tls_bootstrapping,json=enableSecureTlsBootstrapping,proto3,oneof" json:"enable_secure_tls_bootstrapping,omitempty"` + // Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that. + TlsBootstrappingToken string `protobuf:"bytes,2,opt,name=tls_bootstrapping_token,json=tlsBootstrappingToken,proto3" json:"tls_bootstrapping_token,omitempty"` + // Only used when secure TLS bootstrapping is enabled. This is the appserver appid that the node will use to bootstrap. + CustomSecureTlsBootstrappingAppserverAppid string `protobuf:"bytes,3,opt,name=custom_secure_tls_bootstrapping_appserver_appid,json=customSecureTlsBootstrappingAppserverAppid,proto3" json:"custom_secure_tls_bootstrapping_appserver_appid,omitempty"` +} + +func (x *TLSBootstrappingConfig) Reset() { + *x = TLSBootstrappingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TLSBootstrappingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSBootstrappingConfig) ProtoMessage() {} + +func (x *TLSBootstrappingConfig) ProtoReflect() protoreflect.Message { + mi := &file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSBootstrappingConfig.ProtoReflect.Descriptor instead. +func (*TLSBootstrappingConfig) Descriptor() ([]byte, []int) { + return file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescGZIP(), []int{0} +} + +func (x *TLSBootstrappingConfig) GetEnableSecureTlsBootstrapping() bool { + if x != nil && x.EnableSecureTlsBootstrapping != nil { + return *x.EnableSecureTlsBootstrapping + } + return false +} + +func (x *TLSBootstrappingConfig) GetTlsBootstrappingToken() string { + if x != nil { + return x.TlsBootstrappingToken + } + return "" +} + +func (x *TLSBootstrappingConfig) GetCustomSecureTlsBootstrappingAppserverAppid() string { + if x != nil { + return x.CustomSecureTlsBootstrappingAppserverAppid + } + return "" +} + +var File_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto protoreflect.FileDescriptor + +var file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDesc = []byte{ + 0x0a, 0x34, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6c, 0x73, 0x62, 0x6f, 0x6f, + 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x76, 0x31, 0x22, 0xa5, 0x02, 0x0a, 0x16, 0x54, 0x4c, 0x53, 0x42, 0x6f, 0x6f, + 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x4a, 0x0a, 0x1f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1c, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x17, + 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x74, + 0x6c, 0x73, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x63, 0x0a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, + 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x70, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x2a, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x6c, 0x73, 0x42, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x41, 0x70, 0x70, 0x69, 0x64, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x5f, + 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0xc7, 0x01, + 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x76, 0x31, 0x42, 0x1b, 0x54, 0x6c, 0x73, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescOnce sync.Once + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescData = file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDesc +) + +func file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescGZIP() []byte { + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescOnce.Do(func() { + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescData) + }) + return file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDescData +} + +var file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_goTypes = []interface{}{ + (*TLSBootstrappingConfig)(nil), // 0: nbcontract.v1.TLSBootstrappingConfig +} +var file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_init() } +func file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_init() { + if File_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TLSBootstrappingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes[0].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_goTypes, + DependencyIndexes: file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_depIdxs, + MessageInfos: file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_msgTypes, + }.Build() + File_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto = out.File + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_rawDesc = nil + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_goTypes = nil + file_pkg_proto_nbcontract_v1_tlsbootstrappingconfig_proto_depIdxs = nil +} diff --git a/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto b/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto new file mode 100644 index 00000000000..842a5e57b14 --- /dev/null +++ b/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package nbcontract.v1; + +message TLSBootstrappingConfig { + // Enable secure TLS bootstrapping for the node. + optional bool enable_secure_tls_bootstrapping = 1; + + // Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that. + string tls_bootstrapping_token = 2; + + // Only used when secure TLS bootstrapping is enabled. This is the appserver appid that the node will use to bootstrap. + string custom_secure_tls_bootstrapping_appserver_appid = 3; + } \ No newline at end of file From 3de3b8d28518b73f04815fb7e855facc64f1c51a Mon Sep 17 00:00:00 2001 From: Devin Wong Date: Wed, 10 Apr 2024 11:36:01 -0700 Subject: [PATCH 3/6] remove extra empty lines --- pkg/proto/nbcontract/v1/customcloudconfig.proto | 1 - pkg/proto/nbcontract/v1/customsearchdomainconfig.proto | 1 - pkg/proto/nbcontract/v1/kubebinaryconfig.proto | 1 - pkg/proto/nbcontract/v1/kubeletconfig.proto | 1 - pkg/proto/nbcontract/v1/networkconfig.proto | 1 - pkg/proto/nbcontract/v1/runcconfig.proto | 1 - pkg/proto/nbcontract/v1/teleportconfig.proto | 1 - 7 files changed, 7 deletions(-) diff --git a/pkg/proto/nbcontract/v1/customcloudconfig.proto b/pkg/proto/nbcontract/v1/customcloudconfig.proto index 5ac4a4b370a..6643c040221 100644 --- a/pkg/proto/nbcontract/v1/customcloudconfig.proto +++ b/pkg/proto/nbcontract/v1/customcloudconfig.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package nbcontract.v1; message CustomCloudConfig { - // IsAKSCustomCloud is a flag to indicate if it is AKS custom cloud bool is_aks_custom_cloud = 1; diff --git a/pkg/proto/nbcontract/v1/customsearchdomainconfig.proto b/pkg/proto/nbcontract/v1/customsearchdomainconfig.proto index eff026c3fcf..920ff4e9e4c 100644 --- a/pkg/proto/nbcontract/v1/customsearchdomainconfig.proto +++ b/pkg/proto/nbcontract/v1/customsearchdomainconfig.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package nbcontract.v1; message CustomSearchDomain { - // The name of the custom search domain. string custom_search_domain_name = 1; diff --git a/pkg/proto/nbcontract/v1/kubebinaryconfig.proto b/pkg/proto/nbcontract/v1/kubebinaryconfig.proto index 81d40ecbfb0..650fa523f66 100644 --- a/pkg/proto/nbcontract/v1/kubebinaryconfig.proto +++ b/pkg/proto/nbcontract/v1/kubebinaryconfig.proto @@ -3,7 +3,6 @@ package nbcontract.v1; // Kube Binary Config message KubeBinaryConfig { - //default kube binary url string kube_binary_url = 1; diff --git a/pkg/proto/nbcontract/v1/kubeletconfig.proto b/pkg/proto/nbcontract/v1/kubeletconfig.proto index b4b8d8bbbf6..aa1f65a26da 100644 --- a/pkg/proto/nbcontract/v1/kubeletconfig.proto +++ b/pkg/proto/nbcontract/v1/kubeletconfig.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package nbcontract.v1; message KubeletConfig { - // A map of kubelet flags to their values. map kubelet_flags = 1; diff --git a/pkg/proto/nbcontract/v1/networkconfig.proto b/pkg/proto/nbcontract/v1/networkconfig.proto index e64c7917f75..8cbb82222ec 100644 --- a/pkg/proto/nbcontract/v1/networkconfig.proto +++ b/pkg/proto/nbcontract/v1/networkconfig.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package nbcontract.v1; message NetworkConfig { - // Network plugin to be used by the cluster. Options are NONE, AZURE, KUBENET. NetworkPlugin network_plugin = 1; diff --git a/pkg/proto/nbcontract/v1/runcconfig.proto b/pkg/proto/nbcontract/v1/runcconfig.proto index 6871eb518cc..59bde5e3a65 100644 --- a/pkg/proto/nbcontract/v1/runcconfig.proto +++ b/pkg/proto/nbcontract/v1/runcconfig.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package nbcontract.v1; message RuncConfig { - // The version of runc to use. string runc_version = 1; diff --git a/pkg/proto/nbcontract/v1/teleportconfig.proto b/pkg/proto/nbcontract/v1/teleportconfig.proto index 78bdc7166a7..7f8d23a19fe 100644 --- a/pkg/proto/nbcontract/v1/teleportconfig.proto +++ b/pkg/proto/nbcontract/v1/teleportconfig.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package nbcontract.v1; message TeleportConfig { - // The status of the teleportd plugin. If true, the plugin is enabled. bool status = 1; From 584b4858363e125fa2eb00143c716e0a74ae4c01 Mon Sep 17 00:00:00 2001 From: Devin Wong Date: Wed, 10 Apr 2024 11:40:10 -0700 Subject: [PATCH 4/6] fix indents --- pkg/proto/nbcontract/v1/apiserverconfig.proto | 10 +++++----- pkg/proto/nbcontract/v1/clusterconfig.proto | 1 - pkg/proto/nbcontract/v1/config.proto | 1 - .../nbcontract/v1/containerdconfig.proto | 1 - .../nbcontract/v1/customcloudconfig.proto | 20 +++++++++---------- .../v1/tlsbootstrappingconfig.proto | 14 ++++++------- 6 files changed, 22 insertions(+), 25 deletions(-) diff --git a/pkg/proto/nbcontract/v1/apiserverconfig.proto b/pkg/proto/nbcontract/v1/apiserverconfig.proto index e2d3f90748d..f2fccb151db 100644 --- a/pkg/proto/nbcontract/v1/apiserverconfig.proto +++ b/pkg/proto/nbcontract/v1/apiserverconfig.proto @@ -2,9 +2,9 @@ syntax = "proto3"; package nbcontract.v1; message ApiServerConfig { - // The certificate public key of the API server. - string api_server_public_key = 1; + // The certificate public key of the API server. + string api_server_public_key = 1; - // The name or endpoint URI of the API server. - string api_server_name = 2; - } \ No newline at end of file + // The name or endpoint URI of the API server. + string api_server_name = 2; +} \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/clusterconfig.proto b/pkg/proto/nbcontract/v1/clusterconfig.proto index 245207ddcdc..80cb25d598a 100644 --- a/pkg/proto/nbcontract/v1/clusterconfig.proto +++ b/pkg/proto/nbcontract/v1/clusterconfig.proto @@ -3,7 +3,6 @@ package nbcontract.v1; // Cluster Config fields stored in azure.json used by cloud-provider-azure message ClusterConfig { - // Rescource group name string resource_group = 1; diff --git a/pkg/proto/nbcontract/v1/config.proto b/pkg/proto/nbcontract/v1/config.proto index 062920e02d5..a098b1c5449 100644 --- a/pkg/proto/nbcontract/v1/config.proto +++ b/pkg/proto/nbcontract/v1/config.proto @@ -25,7 +25,6 @@ enum WorkloadRuntime { } message Configuration { - // Semantic version of this node bootstrap contract string version = 1; diff --git a/pkg/proto/nbcontract/v1/containerdconfig.proto b/pkg/proto/nbcontract/v1/containerdconfig.proto index 05cc6be8da9..1936aa698c2 100644 --- a/pkg/proto/nbcontract/v1/containerdconfig.proto +++ b/pkg/proto/nbcontract/v1/containerdconfig.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package nbcontract.v1; message ContainerdConfig { - // The base URL for downloading containerd. string containerd_download_url_base = 1; diff --git a/pkg/proto/nbcontract/v1/customcloudconfig.proto b/pkg/proto/nbcontract/v1/customcloudconfig.proto index 6643c040221..be421c4cd6d 100644 --- a/pkg/proto/nbcontract/v1/customcloudconfig.proto +++ b/pkg/proto/nbcontract/v1/customcloudconfig.proto @@ -2,18 +2,18 @@ syntax = "proto3"; package nbcontract.v1; message CustomCloudConfig { - // IsAKSCustomCloud is a flag to indicate if it is AKS custom cloud - bool is_aks_custom_cloud = 1; + // IsAKSCustomCloud is a flag to indicate if it is AKS custom cloud + bool is_aks_custom_cloud = 1; - // InitFilePath is the path to the file that contains the init script - string init_file_path = 2; + // InitFilePath is the path to the file that contains the init script + string init_file_path = 2; - // RepoDepotEndpoint is the endpoint of the repo depot - string repo_depot_endpoint = 3; + // RepoDepotEndpoint is the endpoint of the repo depot + string repo_depot_endpoint = 3; - // Specifies if target environment is a sovereign cloud, which has its own data compliance regulation, or standard public cloud. - string target_environment = 4; + // Specifies if target environment is a sovereign cloud, which has its own data compliance regulation, or standard public cloud. + string target_environment = 4; - // Base64 encoded JSON string of custom cloud environment - string custom_env_json_content = 5; + // Base64 encoded JSON string of custom cloud environment + string custom_env_json_content = 5; } \ No newline at end of file diff --git a/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto b/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto index 842a5e57b14..da66098b10f 100644 --- a/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto +++ b/pkg/proto/nbcontract/v1/tlsbootstrappingconfig.proto @@ -2,12 +2,12 @@ syntax = "proto3"; package nbcontract.v1; message TLSBootstrappingConfig { - // Enable secure TLS bootstrapping for the node. - optional bool enable_secure_tls_bootstrapping = 1; + // Enable secure TLS bootstrapping for the node. + optional bool enable_secure_tls_bootstrapping = 1; - // Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that. - string tls_bootstrapping_token = 2; + // Only required until Secure TLS bootstrapping in place. Would use kubelet identity after that. + string tls_bootstrapping_token = 2; - // Only used when secure TLS bootstrapping is enabled. This is the appserver appid that the node will use to bootstrap. - string custom_secure_tls_bootstrapping_appserver_appid = 3; - } \ No newline at end of file + // Only used when secure TLS bootstrapping is enabled. This is the appserver appid that the node will use to bootstrap. + string custom_secure_tls_bootstrapping_appserver_appid = 3; +} \ No newline at end of file From 2906ae1a60dbab949a85c5a0233fcda02589599c Mon Sep 17 00:00:00 2001 From: Devin Wong Date: Wed, 10 Apr 2024 15:23:36 -0700 Subject: [PATCH 5/6] remove optional from disable_outbound_snat --- pkg/proto/nbcontract/v1/clusterconfig.pb.go | 60 ++++++++++----------- pkg/proto/nbcontract/v1/clusterconfig.proto | 2 +- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/pkg/proto/nbcontract/v1/clusterconfig.pb.go b/pkg/proto/nbcontract/v1/clusterconfig.pb.go index 438ae620893..1a95237d7b8 100644 --- a/pkg/proto/nbcontract/v1/clusterconfig.pb.go +++ b/pkg/proto/nbcontract/v1/clusterconfig.pb.go @@ -326,7 +326,7 @@ type LoadBalancerConfig struct { // Maximum number of load balancer rules, default to 148 MaxLoadBalancerRuleCount *int32 `protobuf:"varint,3,opt,name=max_load_balancer_rule_count,json=maxLoadBalancerRuleCount,proto3,oneof" json:"max_load_balancer_rule_count,omitempty"` // Disable outbound SNAT (Source Network Address Translation) for load balancer, default to false - DisableOutboundSnat *bool `protobuf:"varint,4,opt,name=disable_outbound_snat,json=disableOutboundSnat,proto3,oneof" json:"disable_outbound_snat,omitempty"` + DisableOutboundSnat bool `protobuf:"varint,4,opt,name=disable_outbound_snat,json=disableOutboundSnat,proto3" json:"disable_outbound_snat,omitempty"` } func (x *LoadBalancerConfig) Reset() { @@ -383,8 +383,8 @@ func (x *LoadBalancerConfig) GetMaxLoadBalancerRuleCount() int32 { } func (x *LoadBalancerConfig) GetDisableOutboundSnat() bool { - if x != nil && x.DisableOutboundSnat != nil { - return *x.DisableOutboundSnat + if x != nil { + return x.DisableOutboundSnat } return false } @@ -441,7 +441,7 @@ var file_pkg_proto_nbcontract_v1_clusterconfig_proto_rawDesc = []byte{ 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x22, 0xf8, 0x03, 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0xd9, 0x03, 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, @@ -458,34 +458,32 @@ var file_pkg_proto_nbcontract_v1_clusterconfig_proto_rawDesc = []byte{ 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, + 0x65, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, - 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x53, 0x6e, 0x61, 0x74, 0x88, 0x01, 0x01, 0x22, 0x3b, 0x0a, 0x0f, 0x4c, 0x6f, 0x61, 0x64, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x6b, 0x75, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, - 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, - 0x52, 0x44, 0x10, 0x02, 0x42, 0x2d, 0x0a, 0x2b, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x61, - 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x72, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x61, 0x64, - 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x42, 0xbe, - 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, - 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, - 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x6e, + 0x61, 0x74, 0x22, 0x3b, 0x0a, 0x0f, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x72, 0x53, 0x6b, 0x75, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x02, 0x42, + 0x2d, 0x0a, 0x2b, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x42, 0x1f, + 0x0a, 0x1d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0xbe, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, + 0x3b, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, + 0x4e, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/proto/nbcontract/v1/clusterconfig.proto b/pkg/proto/nbcontract/v1/clusterconfig.proto index 80cb25d598a..a18a0bfc2f8 100644 --- a/pkg/proto/nbcontract/v1/clusterconfig.proto +++ b/pkg/proto/nbcontract/v1/clusterconfig.proto @@ -62,7 +62,7 @@ message LoadBalancerConfig { optional int32 max_load_balancer_rule_count = 3; // Disable outbound SNAT (Source Network Address Translation) for load balancer, default to false - optional bool disable_outbound_snat = 4; + bool disable_outbound_snat = 4; enum LoadBalancerSku { UNSPECIFIED = 0; From d37c16b7c537cf2e2d9e82cf50c7e81d2134a1db Mon Sep 17 00:00:00 2001 From: Devin Wong Date: Mon, 15 Apr 2024 14:09:05 -0700 Subject: [PATCH 6/6] Rename CustomSearchDomain to CustomSearchDomainConfig --- pkg/proto/nbcontract/v1/config.pb.go | 150 +++++++++--------- pkg/proto/nbcontract/v1/config.proto | 2 +- .../v1/customsearchdomainconfig.pb.go | 89 +++++------ .../v1/customsearchdomainconfig.proto | 8 +- 4 files changed, 122 insertions(+), 127 deletions(-) diff --git a/pkg/proto/nbcontract/v1/config.pb.go b/pkg/proto/nbcontract/v1/config.pb.go index 701437ec2b4..8d1f9347f75 100644 --- a/pkg/proto/nbcontract/v1/config.pb.go +++ b/pkg/proto/nbcontract/v1/config.pb.go @@ -131,7 +131,7 @@ type Configuration struct { // specifies whether to ensure no duplicate promiscuous bridge EnsureNoDupePromiscuousBridge bool `protobuf:"varint,28,opt,name=ensure_no_dupe_promiscuous_bridge,json=ensureNoDupePromiscuousBridge,proto3" json:"ensure_no_dupe_promiscuous_bridge,omitempty"` // Custom search domain configurations - CustomSearchDomain *CustomSearchDomain `protobuf:"bytes,29,opt,name=custom_search_domain,json=customSearchDomain,proto3" json:"custom_search_domain,omitempty"` + CustomSearchDomainConfig *CustomSearchDomainConfig `protobuf:"bytes,29,opt,name=custom_search_domain_config,json=customSearchDomainConfig,proto3" json:"custom_search_domain_config,omitempty"` // Custom Linux OS configurations including SwapFile, SysCtl configs, etc. CustomLinuxOsConfig *CustomLinuxOSConfig `protobuf:"bytes,30,opt,name=custom_linux_os_config,json=customLinuxOsConfig,proto3" json:"custom_linux_os_config,omitempty"` // Azure private registry server URI @@ -379,9 +379,9 @@ func (x *Configuration) GetEnsureNoDupePromiscuousBridge() bool { return false } -func (x *Configuration) GetCustomSearchDomain() *CustomSearchDomain { +func (x *Configuration) GetCustomSearchDomainConfig() *CustomSearchDomainConfig { if x != nil { - return x.CustomSearchDomain + return x.CustomSearchDomainConfig } return nil } @@ -492,7 +492,7 @@ var file_pkg_proto_nbcontract_v1_config_proto_rawDesc = []byte{ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x10, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x11, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, @@ -593,58 +593,60 @@ var file_pkg_proto_nbcontract_v1_config_proto_rawDesc = []byte{ 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x44, 0x75, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, 0x73, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x12, 0x53, 0x0a, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x6f, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x4f, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, - 0x0a, 0x1d, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, - 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x17, - 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6b, 0x61, 0x74, 0x61, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x69, 0x73, 0x4b, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x65, 0x64, 0x73, - 0x5f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x32, 0x18, 0x23, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x32, 0x12, 0x4a, - 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0a, 0x67, 0x70, - 0x75, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x50, 0x55, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, 0x70, 0x75, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2a, 0x47, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x52, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x43, - 0x49, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0d, 0x0a, - 0x09, 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x57, 0x41, 0x53, 0x49, 0x10, 0x02, 0x42, 0xb7, 0x01, 0x0a, - 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, - 0x76, 0x31, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, - 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x66, 0x0a, 0x1b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x18, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x6f, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, + 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4f, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6b, 0x61, 0x74, 0x61, 0x18, 0x22, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4b, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, + 0x65, 0x64, 0x73, 0x5f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x32, 0x18, 0x23, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, + 0x32, 0x12, 0x4a, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, + 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, + 0x50, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x68, 0x74, + 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, + 0x0a, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x25, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x50, 0x55, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, 0x70, 0x75, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2a, 0x47, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x52, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x4f, 0x43, 0x49, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x01, + 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x57, 0x41, 0x53, 0x49, 0x10, 0x02, 0x42, + 0xb7, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, + 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, + 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, + 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, + 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -662,23 +664,23 @@ func file_pkg_proto_nbcontract_v1_config_proto_rawDescGZIP() []byte { var file_pkg_proto_nbcontract_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_pkg_proto_nbcontract_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_pkg_proto_nbcontract_v1_config_proto_goTypes = []interface{}{ - (WorkloadRuntime)(0), // 0: nbcontract.v1.WorkloadRuntime - (*Configuration)(nil), // 1: nbcontract.v1.Configuration - (*TLSBootstrappingConfig)(nil), // 2: nbcontract.v1.TLSBootstrappingConfig - (*KubeBinaryConfig)(nil), // 3: nbcontract.v1.KubeBinaryConfig - (*CustomCloudConfig)(nil), // 4: nbcontract.v1.CustomCloudConfig - (*ApiServerConfig)(nil), // 5: nbcontract.v1.ApiServerConfig - (*ClusterConfig)(nil), // 6: nbcontract.v1.ClusterConfig - (*AuthConfig)(nil), // 7: nbcontract.v1.AuthConfig - (*RuncConfig)(nil), // 8: nbcontract.v1.RuncConfig - (*ContainerdConfig)(nil), // 9: nbcontract.v1.ContainerdConfig - (*NetworkConfig)(nil), // 10: nbcontract.v1.NetworkConfig - (*TeleportConfig)(nil), // 11: nbcontract.v1.TeleportConfig - (*KubeletConfig)(nil), // 12: nbcontract.v1.KubeletConfig - (*CustomSearchDomain)(nil), // 13: nbcontract.v1.CustomSearchDomain - (*CustomLinuxOSConfig)(nil), // 14: nbcontract.v1.CustomLinuxOSConfig - (*HTTPProxyConfig)(nil), // 15: nbcontract.v1.HTTPProxyConfig - (*GPUConfig)(nil), // 16: nbcontract.v1.GPUConfig + (WorkloadRuntime)(0), // 0: nbcontract.v1.WorkloadRuntime + (*Configuration)(nil), // 1: nbcontract.v1.Configuration + (*TLSBootstrappingConfig)(nil), // 2: nbcontract.v1.TLSBootstrappingConfig + (*KubeBinaryConfig)(nil), // 3: nbcontract.v1.KubeBinaryConfig + (*CustomCloudConfig)(nil), // 4: nbcontract.v1.CustomCloudConfig + (*ApiServerConfig)(nil), // 5: nbcontract.v1.ApiServerConfig + (*ClusterConfig)(nil), // 6: nbcontract.v1.ClusterConfig + (*AuthConfig)(nil), // 7: nbcontract.v1.AuthConfig + (*RuncConfig)(nil), // 8: nbcontract.v1.RuncConfig + (*ContainerdConfig)(nil), // 9: nbcontract.v1.ContainerdConfig + (*NetworkConfig)(nil), // 10: nbcontract.v1.NetworkConfig + (*TeleportConfig)(nil), // 11: nbcontract.v1.TeleportConfig + (*KubeletConfig)(nil), // 12: nbcontract.v1.KubeletConfig + (*CustomSearchDomainConfig)(nil), // 13: nbcontract.v1.CustomSearchDomainConfig + (*CustomLinuxOSConfig)(nil), // 14: nbcontract.v1.CustomLinuxOSConfig + (*HTTPProxyConfig)(nil), // 15: nbcontract.v1.HTTPProxyConfig + (*GPUConfig)(nil), // 16: nbcontract.v1.GPUConfig } var file_pkg_proto_nbcontract_v1_config_proto_depIdxs = []int32{ 2, // 0: nbcontract.v1.Configuration.tls_bootstrapping_config:type_name -> nbcontract.v1.TLSBootstrappingConfig @@ -693,7 +695,7 @@ var file_pkg_proto_nbcontract_v1_config_proto_depIdxs = []int32{ 11, // 9: nbcontract.v1.Configuration.teleport_config:type_name -> nbcontract.v1.TeleportConfig 12, // 10: nbcontract.v1.Configuration.kubelet_config:type_name -> nbcontract.v1.KubeletConfig 0, // 11: nbcontract.v1.Configuration.workload_runtime:type_name -> nbcontract.v1.WorkloadRuntime - 13, // 12: nbcontract.v1.Configuration.custom_search_domain:type_name -> nbcontract.v1.CustomSearchDomain + 13, // 12: nbcontract.v1.Configuration.custom_search_domain_config:type_name -> nbcontract.v1.CustomSearchDomainConfig 14, // 13: nbcontract.v1.Configuration.custom_linux_os_config:type_name -> nbcontract.v1.CustomLinuxOSConfig 15, // 14: nbcontract.v1.Configuration.http_proxy_config:type_name -> nbcontract.v1.HTTPProxyConfig 16, // 15: nbcontract.v1.Configuration.gpu_config:type_name -> nbcontract.v1.GPUConfig diff --git a/pkg/proto/nbcontract/v1/config.proto b/pkg/proto/nbcontract/v1/config.proto index a098b1c5449..b25c1effd8f 100644 --- a/pkg/proto/nbcontract/v1/config.proto +++ b/pkg/proto/nbcontract/v1/config.proto @@ -110,7 +110,7 @@ message Configuration { bool ensure_no_dupe_promiscuous_bridge = 28; // Custom search domain configurations - CustomSearchDomain custom_search_domain = 29; + CustomSearchDomainConfig custom_search_domain_config = 29; // Custom Linux OS configurations including SwapFile, SysCtl configs, etc. CustomLinuxOSConfig custom_linux_os_config = 30; diff --git a/pkg/proto/nbcontract/v1/customsearchdomainconfig.pb.go b/pkg/proto/nbcontract/v1/customsearchdomainconfig.pb.go index 9524bad40b9..dad05857625 100644 --- a/pkg/proto/nbcontract/v1/customsearchdomainconfig.pb.go +++ b/pkg/proto/nbcontract/v1/customsearchdomainconfig.pb.go @@ -20,21 +20,21 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type CustomSearchDomain struct { +type CustomSearchDomainConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the custom search domain. - CustomSearchDomainName string `protobuf:"bytes,1,opt,name=custom_search_domain_name,json=customSearchDomainName,proto3" json:"custom_search_domain_name,omitempty"` + DomainName string `protobuf:"bytes,1,opt,name=domain_name,json=domainName,proto3" json:"domain_name,omitempty"` // The user name for the custom search domain. - CustomSearchDomainRealmUser string `protobuf:"bytes,2,opt,name=custom_search_domain_realm_user,json=customSearchDomainRealmUser,proto3" json:"custom_search_domain_realm_user,omitempty"` + RealmUser string `protobuf:"bytes,2,opt,name=realm_user,json=realmUser,proto3" json:"realm_user,omitempty"` // The password for the custom search domain. - CustomSearchDomainRealmPassword string `protobuf:"bytes,3,opt,name=custom_search_domain_realm_password,json=customSearchDomainRealmPassword,proto3" json:"custom_search_domain_realm_password,omitempty"` + RealmPassword string `protobuf:"bytes,3,opt,name=realm_password,json=realmPassword,proto3" json:"realm_password,omitempty"` } -func (x *CustomSearchDomain) Reset() { - *x = CustomSearchDomain{} +func (x *CustomSearchDomainConfig) Reset() { + *x = CustomSearchDomainConfig{} if protoimpl.UnsafeEnabled { mi := &file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -42,13 +42,13 @@ func (x *CustomSearchDomain) Reset() { } } -func (x *CustomSearchDomain) String() string { +func (x *CustomSearchDomainConfig) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CustomSearchDomain) ProtoMessage() {} +func (*CustomSearchDomainConfig) ProtoMessage() {} -func (x *CustomSearchDomain) ProtoReflect() protoreflect.Message { +func (x *CustomSearchDomainConfig) ProtoReflect() protoreflect.Message { mi := &file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -60,28 +60,28 @@ func (x *CustomSearchDomain) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CustomSearchDomain.ProtoReflect.Descriptor instead. -func (*CustomSearchDomain) Descriptor() ([]byte, []int) { +// Deprecated: Use CustomSearchDomainConfig.ProtoReflect.Descriptor instead. +func (*CustomSearchDomainConfig) Descriptor() ([]byte, []int) { return file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_rawDescGZIP(), []int{0} } -func (x *CustomSearchDomain) GetCustomSearchDomainName() string { +func (x *CustomSearchDomainConfig) GetDomainName() string { if x != nil { - return x.CustomSearchDomainName + return x.DomainName } return "" } -func (x *CustomSearchDomain) GetCustomSearchDomainRealmUser() string { +func (x *CustomSearchDomainConfig) GetRealmUser() string { if x != nil { - return x.CustomSearchDomainRealmUser + return x.RealmUser } return "" } -func (x *CustomSearchDomain) GetCustomSearchDomainRealmPassword() string { +func (x *CustomSearchDomainConfig) GetRealmPassword() string { if x != nil { - return x.CustomSearchDomainRealmPassword + return x.RealmPassword } return "" } @@ -93,35 +93,28 @@ var file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_rawDesc = []byte 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x22, 0xe3, 0x01, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x39, - 0x0a, 0x19, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x1f, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x1b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x4c, 0x0a, 0x23, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x5f, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0xc9, 0x01, - 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x2e, 0x76, 0x31, 0x42, 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, - 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, - 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, - 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, - 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x22, 0x81, 0x01, 0x0a, 0x18, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x5f, 0x75, + 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x61, 0x6c, 0x6d, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x5f, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, + 0x61, 0x6c, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0xc9, 0x01, 0x0a, 0x11, + 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x76, + 0x31, 0x42, 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x6b, 0x65, 0x72, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4e, 0x58, 0x58, 0xaa, 0x02, 0x0d, 0x4e, 0x62, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x4e, 0x62, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x4e, 0x62, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4e, 0x62, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -138,7 +131,7 @@ func file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_rawDescGZIP() [ var file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_goTypes = []interface{}{ - (*CustomSearchDomain)(nil), // 0: nbcontract.v1.CustomSearchDomain + (*CustomSearchDomainConfig)(nil), // 0: nbcontract.v1.CustomSearchDomainConfig } var file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -155,7 +148,7 @@ func file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_init() { } if !protoimpl.UnsafeEnabled { file_pkg_proto_nbcontract_v1_customsearchdomainconfig_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CustomSearchDomain); i { + switch v := v.(*CustomSearchDomainConfig); i { case 0: return &v.state case 1: diff --git a/pkg/proto/nbcontract/v1/customsearchdomainconfig.proto b/pkg/proto/nbcontract/v1/customsearchdomainconfig.proto index 920ff4e9e4c..26a8ac18913 100644 --- a/pkg/proto/nbcontract/v1/customsearchdomainconfig.proto +++ b/pkg/proto/nbcontract/v1/customsearchdomainconfig.proto @@ -1,13 +1,13 @@ syntax = "proto3"; package nbcontract.v1; -message CustomSearchDomain { +message CustomSearchDomainConfig { // The name of the custom search domain. - string custom_search_domain_name = 1; + string domain_name = 1; // The user name for the custom search domain. - string custom_search_domain_realm_user = 2; + string realm_user = 2; // The password for the custom search domain. - string custom_search_domain_realm_password = 3; + string realm_password = 3; } \ No newline at end of file