kuma

Форк
0
/
mesh.go 
38 строк · 1.1 Кб
1
package defaults
2

3
import (
4
	"context"
5

6
	core_mesh "github.com/kumahq/kuma/pkg/core/resources/apis/mesh"
7
	core_manager "github.com/kumahq/kuma/pkg/core/resources/manager"
8
	core_model "github.com/kumahq/kuma/pkg/core/resources/model"
9
	core_store "github.com/kumahq/kuma/pkg/core/resources/store"
10
	kuma_log "github.com/kumahq/kuma/pkg/log"
11
)
12

13
var defaultMeshKey = core_model.ResourceKey{
14
	Name: core_model.DefaultMesh,
15
}
16

17
func CreateMeshIfNotExist(
18
	ctx context.Context,
19
	resManager core_manager.ResourceManager,
20
	extensions context.Context,
21
) (*core_mesh.MeshResource, error) {
22
	logger := kuma_log.AddFieldsFromCtx(log, ctx, extensions)
23
	mesh := core_mesh.NewMeshResource()
24
	err := resManager.Get(ctx, mesh, core_store.GetBy(defaultMeshKey))
25
	if err == nil {
26
		logger.V(1).Info("default Mesh already exists. Skip creating default Mesh.")
27
		return mesh, nil
28
	}
29
	if !core_store.IsResourceNotFound(err) {
30
		return nil, err
31
	}
32
	if err := resManager.Create(ctx, mesh, core_store.CreateBy(defaultMeshKey)); err != nil {
33
		logger.V(1).Info("could not create default mesh", "err", err)
34
		return nil, err
35
	}
36
	logger.Info("default Mesh created")
37
	return mesh, nil
38
}
39

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.