github.com/replicatedhq/ship@v0.55.0/pkg/lifecycle/daemon/routes_navcycle_getmetadata.go (about)

     1  package daemon
     2  
     3  import (
     4  	"github.com/gin-gonic/gin"
     5  	"github.com/go-kit/kit/log"
     6  	"github.com/go-kit/kit/log/level"
     7  
     8  	"github.com/replicatedhq/ship/pkg/api"
     9  )
    10  
    11  func (d *NavcycleRoutes) getMetadata(release *api.Release) gin.HandlerFunc {
    12  	return func(c *gin.Context) {
    13  		switch release.Metadata.Type {
    14  		case "helm":
    15  			fallthrough
    16  		case "k8s":
    17  			c.JSON(200, release.Metadata.ShipAppMetadata)
    18  			return
    19  		case "runbook.replicated.app":
    20  			fallthrough
    21  		case "replicated.app":
    22  			fallthrough
    23  		case "inline.replicated.app":
    24  			c.JSON(200, map[string]interface{}{
    25  				"name": release.Metadata.ChannelName,
    26  				"icon": release.Metadata.ChannelIcon,
    27  			})
    28  			return
    29  		default:
    30  			errorLog := level.Error(log.With(d.Logger, "method", "getMetadata"))
    31  			errorLog.Log("error", "release metadata type not recognized", "release.Metadata.Type", release.Metadata.Type)
    32  		}
    33  	}
    34  }