54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package app
|
|
|
|
import (
|
|
"context"
|
|
|
|
automationEnvoy "github.com/cortezaproject/corteza/server/automation/envoy"
|
|
composeEnvoy "github.com/cortezaproject/corteza/server/compose/envoy"
|
|
"github.com/cortezaproject/corteza/server/pkg/envoyx"
|
|
systemEnvoy "github.com/cortezaproject/corteza/server/system/envoy"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func (app *CortezaApp) initEnvoy(ctx context.Context, log *zap.Logger) (err error) {
|
|
// no-op - if envoy is already initialized
|
|
if envoyx.Initialized() {
|
|
return
|
|
}
|
|
|
|
// Init envoy
|
|
svc := envoyx.New()
|
|
envoyx.SetGlobal(svc)
|
|
|
|
// Register all component decoders
|
|
svc.AddDecoder(envoyx.DecodeTypeURI,
|
|
composeEnvoy.YamlDecoder{},
|
|
systemEnvoy.YamlDecoder{},
|
|
automationEnvoy.YamlDecoder{},
|
|
)
|
|
svc.AddDecoder(envoyx.DecodeTypeStore,
|
|
composeEnvoy.StoreDecoder{},
|
|
systemEnvoy.StoreDecoder{},
|
|
automationEnvoy.StoreDecoder{},
|
|
)
|
|
|
|
// Register all component encoders
|
|
svc.AddEncoder(envoyx.EncodeTypeIo,
|
|
composeEnvoy.YamlEncoder{},
|
|
systemEnvoy.YamlEncoder{},
|
|
automationEnvoy.YamlEncoder{},
|
|
)
|
|
svc.AddEncoder(envoyx.EncodeTypeStore,
|
|
composeEnvoy.StoreEncoder{},
|
|
systemEnvoy.StoreEncoder{},
|
|
automationEnvoy.StoreEncoder{},
|
|
)
|
|
|
|
// - datasource encoders
|
|
svc.AddEncoder(envoyx.EncodeTypeIo,
|
|
composeEnvoy.CsvEncoder{},
|
|
)
|
|
|
|
return
|
|
}
|