func()

in meshcon/meshconnectord/meshenv-gcp.go [20:58]


func (sg *MeshConnector) InitMeshEnvGCP(ctx context.Context) error {
	kr := sg.Mesh
	var err error

	wg := sync.WaitGroup{}
	wg.Add(2)

	go func() {
		// If not explicitly disabled, attempt to find MCP tenant ID and enable MCP
		if kr.MeshTenant != "-" {
			sg.FindTenant(ctx)
		}
		wg.Done()
	}()

	go func() {
		// If ProjectNumber used for P4SA not set, attempt to get it from ProjectID and fallback to metadata server
		if kr.ProjectNumber == "" && kr.ProjectId != "" {
			kr.ProjectNumber = gcp.ProjectNumber(kr.ProjectId)
		}
		if kr.ProjectNumber == ""  {
			// If project Id explicitly set, and not same as what metadata reports - fallback to getting it from GCP
			kr.ProjectNumber, _ = metadata.NumericProjectID()
		}
		wg.Done()
	}()

	wg.Wait()

	rootFile := filepath.Join(mesh.WorkloadCertDir, mesh.WorkloadRootCAs)
	rootCertPEM, err := ioutil.ReadFile(rootFile)
	if err == nil {
		sg.CAPool = sg.Mesh.Config("CAS_POOL", "")
		sg.CASRoots = string(rootCertPEM)
		log.Println("CASEnabled", "CAPool", sg.CAPool)
	}

	return err
}