func GetSerivceMetadata()

in colors-e2e/colors-be/metrics.go [31:75]


func GetSerivceMetadata() (*ServiceMetadata, error) {
	clusterName, err := metadata.InstanceAttributeValue("cluster-name")
	if err != nil {
		return nil, fmt.Errorf("failed to get cluster name: %w", err)
	}
	clusterLocation, err := metadata.InstanceAttributeValue("cluster-location")
	if err != nil {
		return nil, fmt.Errorf("failed to get cluster location: %w", err)
	}

	projectId, err := metadata.ProjectID()
	if err != nil {
		return nil, fmt.Errorf("failed to get project id: %w", err)
	}

	podName := os.Getenv("PodName")
	if podName == "" {
		return nil, errors.New("PodName env var not set")
	}

	podNamespace := os.Getenv("PodNamespace")
	if podNamespace == "" {
		return nil, errors.New("podNamespace env var not set")
	}

	deploymentName := os.Getenv("DeploymentName")
	if deploymentName == "" {
		return nil, errors.New("DeploymentName env var not set")
	}

	releaseId := os.Getenv("ReleaseId")
	if releaseId == "" {
		return nil, errors.New("ReleaseId env var not set")
	}

	return &ServiceMetadata{
		podName:         podName,
		podNamespace:    podNamespace,
		clusterName:     clusterName,
		clusterLocation: clusterLocation,
		projectId:       projectId,
		releaseId:       releaseId,
		deploymentName:  deploymentName,
	}, nil
}