From 7a0d3a8fa20a2782af517364a57f48fcf2bd6dc9 Mon Sep 17 00:00:00 2001 From: niusmallnan Date: Thu, 27 Dec 2018 14:14:58 +0800 Subject: [PATCH] Support instance/attributes/block-project-ssh-keys for gce metadata --- config/cloudinit/datasource/metadata/gce/metadata.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/config/cloudinit/datasource/metadata/gce/metadata.go b/config/cloudinit/datasource/metadata/gce/metadata.go index 198c7aff..9aac820d 100644 --- a/config/cloudinit/datasource/metadata/gce/metadata.go +++ b/config/cloudinit/datasource/metadata/gce/metadata.go @@ -65,6 +65,11 @@ func (ms MetadataService) FetchMetadata() (datasource.Metadata, error) { if err != nil { return datasource.Metadata{}, err } + blockProjectSSHKeys, err := ms.fetchString("instance/attributes/block-project-ssh-keys") + if err != nil { + return datasource.Metadata{}, err + } + md := datasource.Metadata{ PublicIPv4: public, PrivateIPv4: local, @@ -89,8 +94,10 @@ func (ms MetadataService) FetchMetadata() (datasource.Metadata, error) { md.NetworkConfig.Interfaces["eth0"] = network } */ - - keyStrings := strings.Split(projectSSHKeys+"\n"+instanceSSHKeys, "\n") + keyStrings := strings.Split(instanceSSHKeys, "\n") + if blockProjectSSHKeys != "true" { + keyStrings = append(keyStrings, strings.Split(projectSSHKeys, "\n")...) + } i := 0 for _, keyString := range keyStrings {