Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ var c = GrpcClients{
}
var nc *nexus_client.Clientset

func InitNexusClientSet() error {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return fmt.Errorf("failed to get k8s client config: %s", err)
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
}
return nil
}

func getParentName(parentLabels map[string]interface{}, key string) string {
if v, ok := parentLabels[key]; ok && v != nil {
return v.(string)
Expand Down Expand Up @@ -56,21 +70,23 @@ func getK8sAPIEndpointConfig() *rest.Config {
//////////////////////////////////////
func getRootResolver() (*model.RootRoot, error) {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return nil, fmt.Errorf("failed to get k8s client config: %s", err)
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
log.Debugf("nc is nil in getRootResolver calling initNexusClientSet")
initNCErr := InitNexusClientSet()
if initNCErr != nil{
log.Errorf("[getRootResolver]Error initializing nexus client: %s", initNCErr)
return nil, nil
}
}

vRoot, err := nc.GetRootRoot(context.TODO())
if err != nil {
log.Errorf("[getRootResolver]Error getting Root node %s", err)
return nil, nil
}
if vRoot == nil{
log.Errorf("[getRootResolver]Error getting Root node %s", err)
return nil, nil
}
dn := vRoot.DisplayName()
parentLabels := map[string]interface{}{"roots.root.tsm.tanzu.vmware.com":dn}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@ import (
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql"
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql/handler"
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql/playground"
log "github.com/sirupsen/logrus"
)


func StartHttpServer() {
initNCErr := graph.InitNexusClientSet()
if initNCErr != nil{
log.Errorf("Error initializing nexus client in StartHttpServer: %s", initNCErr)
}
c := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowCredentials: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,20 @@ var c = GrpcClients{
}
var nc *nexus_client.Clientset

func InitNexusClientSet() error {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return fmt.Errorf("failed to get k8s client config: %s", err)
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
}
return nil
}

func getParentName(parentLabels map[string]interface{}, key string) string {
if v, ok := parentLabels[key]; ok && v != nil {
return v.(string)
Expand Down Expand Up @@ -63,21 +77,23 @@ func getK8sAPIEndpointConfig() *rest.Config {
//////////////////////////////////////
func getRootResolver() (*model.RootRoot, error) {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return nil, fmt.Errorf("failed to get k8s client config: %s", err)
log.Debugf("nc is nil in getRootResolver calling initNexusClientSet")
initNCErr := InitNexusClientSet()
if initNCErr != nil {
log.Errorf("[getRootResolver]Error initializing nexus client: %s", initNCErr)
return nil, nil
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
}

vRoot, err := nc.GetRootRoot(context.TODO())
if err != nil {
log.Errorf("[getRootResolver]Error getting Root node %s", err)
return nil, nil
}
if vRoot == nil {
log.Errorf("[getRootResolver]Error getting Root node %s", err)
return nil, nil
}
dn := vRoot.DisplayName()
parentLabels := map[string]interface{}{"roots.root.tsm.tanzu.vmware.com": dn}

Expand Down
5 changes: 5 additions & 0 deletions compiler/example/output/generated/nexus-gql/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,16 @@ import (
"github.com/vmware-tanzu/graph-framework-for-microservices/compiler/example/output/generated/nexus-gql/graph/generated"

"github.com/rs/cors"
log "github.com/sirupsen/logrus"
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql/handler"
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql/playground"
)

func StartHttpServer() {
initNCErr := graph.InitNexusClientSet()
if initNCErr != nil {
log.Errorf("Error initializing nexus client in StartHttpServer: %s", initNCErr)
}
c := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowCredentials: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ var c = GrpcClients{
}
var nc *nexus_client.Clientset

func InitNexusClientSet() error {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return fmt.Errorf("failed to get k8s client config: %s", err)
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
}
return nil
}

func getParentName(parentLabels map[string]interface{}, key string) string {
if v, ok := parentLabels[key]; ok && v != nil {
return v.(string)
Expand Down Expand Up @@ -56,21 +70,23 @@ func getK8sAPIEndpointConfig() *rest.Config {
//////////////////////////////////////
func getRootResolver() (*model.ConfigConfig, error) {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return nil, fmt.Errorf("failed to get k8s client config: %s", err)
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
log.Debugf("nc is nil in getRootResolver calling initNexusClientSet")
initNCErr := InitNexusClientSet()
if initNCErr != nil{
log.Errorf("[getRootResolver]Error initializing nexus client: %s", initNCErr)
return nil, nil
}
}

vConfig, err := nc.GetConfigConfig(context.TODO())
if err != nil {
log.Errorf("[getRootResolver]Error getting Config node %s", err)
return nil, nil
}
if vConfig == nil{
log.Errorf("[getRootResolver]Error getting Root node %s", err)
return nil, nil
}
dn := vConfig.DisplayName()
parentLabels := map[string]interface{}{"configs.config.tsm-tanzu.vmware.com":dn}
vFieldX := string(vConfig.Spec.FieldX)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@ import (
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql"
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql/handler"
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql/playground"
log "github.com/sirupsen/logrus"
)


func StartHttpServer() {
initNCErr := graph.InitNexusClientSet()
if initNCErr != nil{
log.Errorf("Error initializing nexus client in StartHttpServer: %s", initNCErr)
}
c := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowCredentials: true,
Expand Down
50 changes: 34 additions & 16 deletions compiler/pkg/generator/template/graphql/graphqlResolver.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ var c = GrpcClients{
}
var nc *nexus_client.Clientset

func InitNexusClientSet() error {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return fmt.Errorf("failed to get k8s client config: %s", err)
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
}
return nil
}

func getParentName(parentLabels map[string]interface{}, key string) string {
if v, ok := parentLabels[key]; ok && v != nil {
return v.(string)
Expand Down Expand Up @@ -59,21 +73,23 @@ func getK8sAPIEndpointConfig() *rest.Config {
//////////////////////////////////////
func getRootResolver() (*model.{{$node.PkgName}}{{$node.NodeName}}, error) {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return nil, fmt.Errorf("failed to get k8s client config: %s", err)
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
log.Debugf("nc is nil in getRootResolver calling initNexusClientSet")
initNCErr := InitNexusClientSet()
if initNCErr != nil{
log.Errorf("[getRootResolver]Error initializing nexus client: %s", initNCErr)
return nil, nil
}
}

v{{$node.NodeName}}, err := nc.Get{{$node.PkgName}}{{$node.NodeName}}(context.TODO())
if err != nil {
log.Errorf("[getRootResolver]Error getting {{$node.NodeName}} node %s", err)
return nil, nil
}
if v{{$node.NodeName}} == nil{
log.Errorf("[getRootResolver]Error getting Root node %s", err)
return nil, nil
}
{{ $node.Alias }}
{{ $node.ReturnType }}
log.Debugf("[getRootResolver]Output {{$node.NodeName}} object %+v", ret)
Expand All @@ -86,14 +102,12 @@ func getRootResolver() (*model.{{$node.PkgName}}{{$node.NodeName}}, error) {
//////////////////////////////////////
func getRootResolver(id *string) ([]*model.{{$node.PkgName}}{{$node.NodeName}}, error) {
if nc == nil {
k8sApiConfig := getK8sAPIEndpointConfig()
nexusClient, err := nexus_client.NewForConfig(k8sApiConfig)
if err != nil {
return nil, fmt.Errorf("failed to get k8s client config: %s", err)
}
nc = nexusClient
nc.SubscribeAll()
log.Debugf("Subscribed to all nodes in datamodel")
log.Debugf("nc is nil in getRootResolver calling initNexusClientSet")
initNCErr := InitNexusClientSet()
if initNCErr != nil{
log.Errorf("[getRootResolver]Error initializing nexus client: %s", initNCErr)
return nil, nil
}
}

var v{{$node.NodeName}}List []*model.{{$node.PkgName}}{{$node.NodeName}}
Expand All @@ -104,6 +118,10 @@ func getRootResolver(id *string) ([]*model.{{$node.PkgName}}{{$node.NodeName}},
log.Errorf("[getRootResolver]Error getting {{$node.NodeName}} node %q: %s", *id, err)
return nil, nil
}
if v{{$node.NodeName}} == nil{
log.Errorf("[getRootResolver]Error getting Root node %s", err)
return nil, nil
}
{{ $node.Alias }}
{{ $node.ReturnType }}
v{{$node.NodeName}}List = append(v{{$node.NodeName}}List, ret)
Expand Down
5 changes: 5 additions & 0 deletions compiler/pkg/generator/template/graphql/server.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@ import (
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql"
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql/handler"
"github.com/vmware-tanzu/graph-framework-for-microservices/gqlgen/graphql/playground"
log "github.com/sirupsen/logrus"
)


func StartHttpServer() {
initNCErr := graph.InitNexusClientSet()
if initNCErr != nil{
log.Errorf("Error initializing nexus client in StartHttpServer: %s", initNCErr)
}
c := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowCredentials: true,
Expand Down