func()

in meshcon/meshconnectord/meshenv.go [70:103]


func (sg *MeshConnector) updateMeshEnv(ctx context.Context) error {
	cmAPI := sg.Client.CoreV1().ConfigMaps(sg.Namespace)
	cm, err := cmAPI.Get(ctx, "mesh-env", metav1.GetOptions{})
	if err != nil {
		if !Is404(err) {
			return err
		}
		// Not found, create:
		cm = &corev1.ConfigMap{
			ObjectMeta: metav1.ObjectMeta{
				Name:      "mesh-env",
				Namespace: "istio-system",
			},
			Data: map[string]string{},
		}
		sg.SaveToMap(sg.Mesh, cm.Data)
		_, err = cmAPI.Create(ctx, cm, metav1.CreateOptions{})
		if err != nil {
			log.Println("Failed to update config map, skipping ", err)
		}
		return nil
	}

	if !sg.SaveToMap(sg.Mesh, cm.Data) {
		return nil
	}
	_, err = cmAPI.Update(ctx, cm, metav1.UpdateOptions{})
	if err != nil {
		log.Println("Failed to update config map, skipping ", err)
	} else {
		log.Println("Update mesh env with defaults")
	}
	return nil
}