Skip to content

Commit

Permalink
Merge pull request #181 from kilosonc/feat/metrics
Browse files Browse the repository at this point in the history
feat: add metrics for cluster
  • Loading branch information
kilosonc authored Jul 18, 2023
2 parents 6d72b4c + 5a3bcbb commit fa3f92e
Show file tree
Hide file tree
Showing 84 changed files with 974 additions and 464 deletions.
6 changes: 4 additions & 2 deletions core/cmd/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ import (
"github.com/horizoncd/horizon/core/middleware/requestid"
gitlablib "github.com/horizoncd/horizon/lib/gitlab"
"github.com/horizoncd/horizon/pkg/cd"
clustermetrcis "github.com/horizoncd/horizon/pkg/cluster/metrics"
"github.com/horizoncd/horizon/pkg/environment/service"
"github.com/horizoncd/horizon/pkg/grafana"
"github.com/horizoncd/horizon/pkg/jobs"
Expand Down Expand Up @@ -457,7 +458,7 @@ func Init(ctx context.Context, flags *Flags, coreConfig *config.Config) {
TemplateSchemaGetter: templateSchemaGetter,
CD: cd.NewCD(regionInformers, clusterGitRepo, coreConfig.ArgoCDMapper,
coreConfig.GitopsRepoConfig.DefaultBranch),
K8sUtil: cd.NewK8sUtil(regionInformers, manager.EventManager),
K8sUtil: cd.NewK8sUtil(regionInformers, manager.EventMgr),
OutputGetter: outputGetter,
TektonFty: tektonFty,
ClusterGitRepo: clusterGitRepo,
Expand Down Expand Up @@ -578,7 +579,7 @@ func Init(ctx context.Context, flags *Flags, coreConfig *config.Config) {
// start jobs
cleaner := clean.New(coreConfig.Clean, manager)
autoFreeJob := func(ctx context.Context) {
autofree.Run(ctx, &coreConfig.AutoFreeConfig, manager.UserManager, clusterCtl, prCtl)
autofree.Run(ctx, &coreConfig.AutoFreeConfig, manager.UserMgr, clusterCtl, prCtl)
}
eventHandlerJob, eventHandlerSvc := eventhandler.New(ctx, coreConfig.EventHandlerConfig, manager)
webhookJob, _ := jobwebhook.New(ctx, eventHandlerSvc, coreConfig.WebhookConfig, manager)
Expand Down Expand Up @@ -623,6 +624,7 @@ func Init(ctx context.Context, flags *Flags, coreConfig *config.Config) {

// register routes
health.RegisterRoutes(r)
clustermetrcis.NewMetrics(manager)
metrics.RegisterRoutes(r)

// v1
Expand Down
3 changes: 3 additions & 0 deletions core/common/application.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,7 @@ const (
ApplicationQueryByRelease = "templateRelease"
ApplicationQueryByGroup = "groupID"
ApplicationQueryByGroupRecursive = "groupRecursive"
ApplicationQueryID = "id"

ApplicationQueryWithDeleted = "withDeleted"
)
9 changes: 2 additions & 7 deletions core/common/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,15 @@ const (
ClusterQueryContainerName = "containerName"
ClusterQueryPodName = "podName"
ClusterQueryTailLines = "tailLines"
ClusterQueryStart = "start"
ClusterQueryEnd = "end"
ClusterQueryExtraOwner = "extraOwner"
ClusterQueryHard = "hard"

// ClusterQueryIsFavorite is used to query cluster with favorite for current user only.
ClusterQueryIsFavorite = "isFavorite"
// ClusterQueryWithFavorite is used to query cluster with favorite field inside.
ClusterQueryWithFavorite = "withFavorite"
ClusterQueryAction = "action"

ClusterQueryByGVK = "gvk"

ClusterQueryResourceName = "resourceName"
ClusterQueryUpdatedAfter = "updatedAfter"
ClusterQueryOnlyDeleted = "onlyDeleted"
)

const (
Expand Down
15 changes: 8 additions & 7 deletions core/controller/access/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ import (
"strings"
"testing"

"github.com/stretchr/testify/assert"

"github.com/horizoncd/horizon/core/common"
"github.com/horizoncd/horizon/core/middleware"
"github.com/horizoncd/horizon/lib/orm"
Expand All @@ -35,7 +37,6 @@ import (
"github.com/horizoncd/horizon/pkg/rbac"
roleservice "github.com/horizoncd/horizon/pkg/rbac/role"
usermodels "github.com/horizoncd/horizon/pkg/user/models"
"github.com/stretchr/testify/assert"
)

var (
Expand Down Expand Up @@ -86,15 +87,15 @@ func TestMain(m *testing.M) {
"(^/apis/core/v1/roles)|(^/apis/internal/.*)"))
c = NewController(rbacAuthorizer, skippers)

group, err = manager.GroupManager.Create(ctx, &groupmodels.Group{
group, err = manager.GroupMgr.Create(ctx, &groupmodels.Group{
Name: "group",
Path: "/group",
VisibilityLevel: "private",
})
if err != nil {
panic(err)
}
application, _ = manager.ApplicationManager.Create(ctx, &applicationmodels.Application{
application, _ = manager.ApplicationMgr.Create(ctx, &applicationmodels.Application{
Name: "application",
GroupID: group.ID,
}, nil)
Expand All @@ -109,7 +110,7 @@ func TestMain(m *testing.M) {

// nolint
func TestController_GetAccesses_Guest(t *testing.T) {
guest, err := manager.UserManager.Create(ctx, &usermodels.User{
guest, err := manager.UserMgr.Create(ctx, &usermodels.User{
Name: "guest",
})

Expand Down Expand Up @@ -165,15 +166,15 @@ func TestController_GetAccesses_Guest(t *testing.T) {

// nolint
func TestController_GetAccesses_Owner(t *testing.T) {
owner, err := manager.UserManager.Create(ctx, &usermodels.User{
owner, err := manager.UserMgr.Create(ctx, &usermodels.User{
Name: "owner",
})

ctx := context.WithValue(ctx, common.UserContextKey(), &userauth.DefaultInfo{
ID: owner.ID,
})

_, err = manager.MemberManager.Create(ctx, &membermodels.Member{
_, err = manager.MemberMgr.Create(ctx, &membermodels.Member{
ResourceType: "groups",
ResourceID: group.ID,
Role: "owner",
Expand Down Expand Up @@ -215,7 +216,7 @@ func TestController_GetAccesses_Owner(t *testing.T) {

// nolint
func TestController_GetAccesses_Admin(t *testing.T) {
admin, err := manager.UserManager.Create(ctx, &usermodels.User{
admin, err := manager.UserMgr.Create(ctx, &usermodels.User{
Name: "admin",
})

Expand Down
8 changes: 4 additions & 4 deletions core/controller/accesstoken/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ type controller struct {

func NewController(param *param.Param) Controller {
return &controller{
userMgr: param.UserManager,
accessTokenMgr: param.AccessTokenManager,
tokenMgr: param.TokenManager,
userMgr: param.UserMgr,
accessTokenMgr: param.AccessTokenMgr,
tokenMgr: param.TokenMgr,
tokenSvc: param.TokenSvc,
memberSvc: param.MemberService,
memberMgr: param.MemberManager,
memberMgr: param.MemberMgr,
}
}

Expand Down
7 changes: 4 additions & 3 deletions core/controller/accesstoken/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@ import (
"testing"
"time"

"github.com/stretchr/testify/assert"

"github.com/horizoncd/horizon/pkg/config/token"
oauthdao "github.com/horizoncd/horizon/pkg/oauth/dao"
"github.com/horizoncd/horizon/pkg/token/generator"
tokenmodels "github.com/horizoncd/horizon/pkg/token/models"
tokenservice "github.com/horizoncd/horizon/pkg/token/service"
tokenstorage "github.com/horizoncd/horizon/pkg/token/storage"
"github.com/stretchr/testify/assert"

"github.com/horizoncd/horizon/core/common"
herror "github.com/horizoncd/horizon/core/errors"
Expand Down Expand Up @@ -107,7 +108,7 @@ func TestMain(m *testing.M) {

ctx = context.TODO()

user, err := manager.UserManager.Create(ctx, &usermodels.User{
user, err := manager.UserMgr.Create(ctx, &usermodels.User{
Name: "test",
})
if err != nil {
Expand All @@ -118,7 +119,7 @@ func TestMain(m *testing.M) {
ID: user.ID,
})

group, err := manager.GroupManager.Create(ctx, &groupmodels.Group{
group, err := manager.GroupMgr.Create(ctx, &groupmodels.Group{
Name: "test",
})
if err != nil {
Expand Down
14 changes: 7 additions & 7 deletions core/controller/application/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,17 +108,17 @@ func NewController(param *param.Param) Controller {
return &controller{
applicationGitRepo: param.ApplicationGitRepo,
templateSchemaGetter: param.TemplateSchemaGetter,
applicationMgr: param.ApplicationManager,
applicationMgr: param.ApplicationMgr,
applicationSvc: param.ApplicationSvc,
groupMgr: param.GroupManager,
groupMgr: param.GroupMgr,
groupSvc: param.GroupSvc,
templateReleaseMgr: param.TemplateReleaseManager,
templateReleaseMgr: param.TemplateReleaseMgr,
clusterMgr: param.ClusterMgr,
userSvc: param.UserSvc,
memberManager: param.MemberManager,
eventMgr: param.EventManager,
tagMgr: param.TagManager,
applicationRegionMgr: param.ApplicationRegionManager,
memberManager: param.MemberMgr,
eventMgr: param.EventMgr,
tagMgr: param.TagMgr,
applicationRegionMgr: param.ApplicationRegionMgr,
pipelinemanager: param.PipelineMgr,
buildSchema: param.BuildSchema,
}
Expand Down
44 changes: 22 additions & 22 deletions core/controller/application/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -349,23 +349,23 @@ func Test(t *testing.T) {
Name: "v1.0.0",
ChartName: "javaapp",
}
_, err := manager.TemplateReleaseManager.Create(ctx, tr)
_, err := manager.TemplateReleaseMgr.Create(ctx, tr)
assert.Nil(t, err)

c = &controller{
applicationGitRepo: applicationGitRepo,
templateSchemaGetter: templateSchemaGetter,
tagMgr: manager.TagManager,
applicationMgr: manager.ApplicationManager,
groupMgr: manager.GroupManager,
tagMgr: manager.TagMgr,
applicationMgr: manager.ApplicationMgr,
groupMgr: manager.GroupMgr,
groupSvc: groupservice.NewService(manager),
templateReleaseMgr: manager.TemplateReleaseManager,
templateReleaseMgr: manager.TemplateReleaseMgr,
clusterMgr: manager.ClusterMgr,
userSvc: userservice.NewService(manager),
eventMgr: manager.EventManager,
eventMgr: manager.EventMgr,
}

group, err := manager.GroupManager.Create(ctx, &groupmodels.Group{
group, err := manager.GroupMgr.Create(ctx, &groupmodels.Group{
Name: "ABC",
Path: "abc",
})
Expand Down Expand Up @@ -505,22 +505,22 @@ func TestV2(t *testing.T) {
Name: "v1.0.0",
ChartName: "javaapp",
}
_, err := manager.TemplateReleaseManager.Create(ctx, tr)
_, err := manager.TemplateReleaseMgr.Create(ctx, tr)
assert.Nil(t, err)
c := &controller{
applicationGitRepo: applicationGitRepo,
templateSchemaGetter: templateSchemaGetter,
applicationMgr: manager.ApplicationManager,
tagMgr: manager.TagManager,
groupMgr: manager.GroupManager,
applicationMgr: manager.ApplicationMgr,
tagMgr: manager.TagMgr,
groupMgr: manager.GroupMgr,
groupSvc: groupservice.NewService(manager),
templateReleaseMgr: manager.TemplateReleaseManager,
templateReleaseMgr: manager.TemplateReleaseMgr,
clusterMgr: manager.ClusterMgr,
userSvc: userservice.NewService(manager),
eventMgr: manager.EventManager,
eventMgr: manager.EventMgr,
}

group, err := manager.GroupManager.Create(ctx, &groupmodels.Group{
group, err := manager.GroupMgr.Create(ctx, &groupmodels.Group{
Name: "cde",
Path: "cde",
})
Expand Down Expand Up @@ -637,7 +637,7 @@ func TestListUserApplication(t *testing.T) {
var groups []*groupmodels.Group
for i := 0; i < 5; i++ {
name := "groupForAppFuzzily" + strconv.Itoa(i)
group, err := manager.GroupManager.Create(ctx, &groupmodels.Group{
group, err := manager.GroupMgr.Create(ctx, &groupmodels.Group{
Name: name,
Path: name,
ParentID: 0,
Expand All @@ -651,7 +651,7 @@ func TestListUserApplication(t *testing.T) {
for i := 0; i < 5; i++ {
group := groups[i]
name := "appFuzzily" + strconv.Itoa(i)
application, err := manager.ApplicationManager.Create(ctx, &models.Application{
application, err := manager.ApplicationMgr.Create(ctx, &models.Application{
GroupID: group.ID,
Name: name,
Priority: "P3",
Expand All @@ -667,10 +667,10 @@ func TestListUserApplication(t *testing.T) {
}

c = &controller{
applicationMgr: manager.ApplicationManager,
groupMgr: manager.GroupManager,
applicationMgr: manager.ApplicationMgr,
groupMgr: manager.GroupMgr,
groupSvc: groupservice.NewService(manager),
memberManager: manager.MemberManager,
memberManager: manager.MemberMgr,
}

// nolint
Expand All @@ -679,7 +679,7 @@ func TestListUserApplication(t *testing.T) {
ID: uint(2),
})

_, err := manager.MemberManager.Create(ctx, &membermodels.Member{
_, err := manager.MemberMgr.Create(ctx, &membermodels.Member{
ResourceType: membermodels.TypeGroup,
ResourceID: groups[0].ID,
Role: "owner",
Expand All @@ -688,7 +688,7 @@ func TestListUserApplication(t *testing.T) {
})
assert.Nil(t, err)

_, err = manager.MemberManager.Create(ctx, &membermodels.Member{
_, err = manager.MemberMgr.Create(ctx, &membermodels.Member{
ResourceType: membermodels.TypeApplication,
ResourceID: applications[1].ID,
Role: "owner",
Expand All @@ -713,7 +713,7 @@ func TestListUserApplication(t *testing.T) {
t.Logf("%v", resp)
}

_, err = manager.MemberManager.Create(ctx, &membermodels.Member{
_, err = manager.MemberMgr.Create(ctx, &membermodels.Member{
ResourceType: membermodels.TypeGroup,
ResourceID: groups[2].ID,
Role: "owner",
Expand Down
6 changes: 3 additions & 3 deletions core/controller/applicationregion/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ var _ Controller = (*controller)(nil)

func NewController(param *param.Param) Controller {
return &controller{
mgr: param.ApplicationRegionManager,
mgr: param.ApplicationRegionMgr,
regionMgr: param.RegionMgr,
environmentMgr: param.EnvMgr,
environmentRegionMgr: param.EnvironmentRegionMgr,
groupMgr: param.GroupManager,
applicationMgr: param.ApplicationManager,
groupMgr: param.GroupMgr,
applicationMgr: param.ApplicationMgr,
}
}

Expand Down
Loading

0 comments on commit fa3f92e

Please sign in to comment.