func GenerateSnapshotPixiuFromFile()

in xds/filesystem-control-panel/server/main.go [131:171]


func GenerateSnapshotPixiuFromFile() *cache.Snapshot {
	cdsStr, err := ioutil.ReadFile("../pixiu/cds.json")
	if err != nil {
		l.Errorf("%s", err)
	}
	cds := &pixiupb.PixiuExtensionClusters{}
	err = protojson.Unmarshal(cdsStr, cds)
	if err != nil {
		l.Errorf("%s", err)
	}

	ldsStr, err := ioutil.ReadFile("../pixiu/lds.json")
	if err != nil {
		l.Errorf("%s", err)
	}

	lds := &pixiupb.PixiuExtensionListeners{}
	err = protojson.Unmarshal(ldsStr, lds)
	if err != nil {
		l.Errorf("%s", err)
	}

	version++
	ldsResource, _ := anypb.New(lds)
	cdsResource, _ := anypb.New(cds)
	snap, _ := cache.NewSnapshot(strconv.Itoa(version),
		map[resource.Type][]types.Resource{
			resource.ExtensionConfigType: {
				&core.TypedExtensionConfig{
					Name:        xds.ClusterType,
					TypedConfig: cdsResource,
				},
				&core.TypedExtensionConfig{
					Name:        xds.ListenerType,
					TypedConfig: ldsResource,
				},
			},
		},
	)
	return snap
}