Skip to content
Snippets Groups Projects
registration.go 748 B
Newer Older
  • Learn to ignore specific revisions
  • package registration
    
    import (
    	"context"
    	"time"
    
    	"code.fbi.h-da.de/danet/gosdn/api/go/gosdn/app"
    	"google.golang.org/grpc"
    	"google.golang.org/grpc/credentials/insecure"
    )
    
    // Register registers a new app at the control plane.
    
    func Register(ctx context.Context, gosdnAddress, name, token string) (string, error) {
    
    	conn, err := grpc.NewClient(gosdnAddress, grpc.WithTransportCredentials(insecure.NewCredentials()))
    
    	if err != nil {
    		return "", err
    	}
    
    	appService := app.NewAppServiceClient(conn)
    
    	request := &app.AppRegisterRequest{
    		Timestamp: time.Now().UnixNano(),
    		Appname:   name,
    		Token:     token,
    	}
    
    	response, err := appService.Register(ctx, request)
    	if err != nil {
    		return "", err
    	}
    
    	return response.Queueconnection, nil
    }