github.com/openebs/node-disk-manager@v1.9.1-0.20230225014141-4531f06ffa1e/api-service/node/services/version.go (about)

     1  /*
     2  Copyright 2020 The OpenEBS Authors
     3  Licensed under the Apache License, Version 2.0 (the "License");
     4  you may not use this file except in compliance with the License.
     5  You may obtain a copy of the License at
     6      http://www.apache.org/licenses/LICENSE-2.0
     7  Unless required by applicable law or agreed to in writing, software
     8  distributed under the License is distributed on an "AS IS" BASIS,
     9  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    10  See the License for the specific language governing permissions and
    11  limitations under the License.
    12  */
    13  
    14  package services
    15  
    16  import (
    17  	"context"
    18  
    19  	"github.com/openebs/node-disk-manager/api-service/node"
    20  	"github.com/openebs/node-disk-manager/pkg/version"
    21  	protos "github.com/openebs/node-disk-manager/spec/ndm"
    22  
    23  	"k8s.io/klog/v2"
    24  )
    25  
    26  // Info helps in using types defined in package Node
    27  type Info struct {
    28  	node.Info
    29  }
    30  
    31  // NewInfo returns an instance of type Node
    32  func NewInfo() *Info {
    33  	return &Info{node.Info{}}
    34  }
    35  
    36  // FindVersion detects the version and gitCommit of NDM
    37  func (i *Info) FindVersion(ctx context.Context, null *protos.Null) (*protos.VersionInfo, error) {
    38  
    39  	klog.V(4).Infof(" Version : %v , commit hash : %v", version.GetVersion(), version.GetGitCommit())
    40  
    41  	return &protos.VersionInfo{Version: version.GetVersion(), GitCommit: version.GetGitCommit()}, nil
    42  
    43  }