Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
57e5162
Merge branch 'master' of github.com:go-vela/server
jbrockopp Feb 23, 2022
b6b840c
Merge branch 'master' of github.com:go-vela/server
jbrockopp Mar 10, 2022
858c818
Merge branch 'master' of github.com:go-vela/server
jbrockopp Mar 16, 2022
ceddb11
Merge branch 'master' of github.com:go-vela/server
jbrockopp Mar 28, 2022
331b2a2
Merge branch 'master' of github.com:go-vela/server
jbrockopp Apr 11, 2022
c4ec5fb
Merge branches 'master' and 'master' of github.com:go-vela/server
jbrockopp Apr 18, 2022
30c1151
Merge branch 'master' of github.com:go-vela/server
jbrockopp Apr 20, 2022
0ddc31c
Merge branch 'master' of github.com:go-vela/server
jbrockopp Apr 27, 2022
890f9fa
Merge branch 'master' of github.com:go-vela/server
jbrockopp May 9, 2022
cf4ca0e
Merge branch 'master' of github.com:go-vela/server
jbrockopp May 20, 2022
175e5c5
Merge branch 'master' of github.com:go-vela/server
jbrockopp May 31, 2022
1728dce
Merge branch 'master' of github.com:go-vela/server
jbrockopp Jun 12, 2022
88d3974
Merge branch 'master' of github.com:go-vela/server
jbrockopp Jun 22, 2022
de5ac75
feat(database): add user engine
jbrockopp Jun 22, 2022
8f2fce6
chore(database): remove old user logic
jbrockopp Jun 22, 2022
736a0e9
refactor(database): restructure DDL functions
jbrockopp Jun 22, 2022
c28ca23
chore: updates for database user engine
jbrockopp Jun 22, 2022
a4d8bbc
Merge branch 'master' of github.com:go-vela/server
jbrockopp Jun 26, 2022
c719ab0
Merge branch 'refactor/database/user' of github.com:go-vela/server in…
jbrockopp Jun 26, 2022
a147ce8
feat(database): add repo engine
jbrockopp Jun 27, 2022
b7e267f
Merge branch 'master' of github.com:go-vela/server into refactor/data…
jbrockopp Aug 20, 2022
ff5b8e1
chore: save work
jbrockopp Aug 27, 2022
ef70014
Merge branch 'master' of github.com:go-vela/server
jbrockopp Aug 27, 2022
ca230da
Merge branch 'master' of github.com:go-vela/server into refactor/data…
jbrockopp Aug 27, 2022
ab2f213
fix: Scan() -> Take()
jbrockopp Aug 27, 2022
68cf328
fix: sort by for listing repos
jbrockopp Sep 10, 2022
55862b2
Merge branch 'master' into refactor/database/repo
jbrockopp Sep 10, 2022
443c5d0
Merge branches 'master' and 'master' of github.com:go-vela/server
jbrockopp Sep 11, 2022
a47cf36
Merge branch 'refactor/database/repo' of github.com:go-vela/server in…
jbrockopp Sep 11, 2022
8e628be
feat(database): add worker engine
jbrockopp Sep 11, 2022
a827790
chore(database): remove old worker logic
jbrockopp Sep 11, 2022
a960f5d
chore: updates for database worker engine
jbrockopp Sep 11, 2022
3b7918f
Merge branch 'main' into refactor/database/worker
jbrockopp Sep 30, 2022
535b2bb
Merge branch 'refactor/database/worker' of github.com:go-vela/server …
jbrockopp Sep 30, 2022
acad4fd
fix: issues from merge conflict
jbrockopp Sep 30, 2022
72bc1f1
Merge branch 'main' into refactor/database/worker
jbrockopp Sep 30, 2022
3745fdf
Merge branch 'refactor/database/worker' of github.com:go-vela/server …
jbrockopp Sep 30, 2022
6fcc762
chore: address linter feedback
jbrockopp Sep 30, 2022
57206f9
chore: address linter feedback v2
jbrockopp Sep 30, 2022
af3cf83
Merge branch 'main' into refactor/database/worker
jbrockopp Oct 5, 2022
6cf8508
Merge branch 'main' into refactor/database/worker
jbrockopp Oct 7, 2022
b5254d7
Merge branch 'refactor/database/worker' of github.com:go-vela/server …
jbrockopp Oct 7, 2022
0648d24
Merge branch 'main' into refactor/database/worker
jbrockopp Oct 7, 2022
4ac392a
Merge branch 'refactor/database/worker' of github.com:go-vela/server …
jbrockopp Oct 7, 2022
a7994ec
Merge branch 'main' into refactor/database/worker
jbrockopp Oct 7, 2022
7c2b5b7
Merge branch 'refactor/database/worker' of github.com:go-vela/server …
jbrockopp Oct 7, 2022
286e06e
chore: remove Limit(1) with Take()
jbrockopp Oct 7, 2022
7991f03
refactor(database/worker): name of index
jbrockopp Oct 8, 2022
2d5c97a
Merge branch 'main' into refactor/database/worker
jbrockopp Oct 19, 2022
645e088
Merge branch 'main' into refactor/database/worker
jbrockopp Nov 12, 2022
729481d
Merge branch 'main' into refactor/database/worker
jbrockopp Nov 17, 2022
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
2 changes: 1 addition & 1 deletion api/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -1638,7 +1638,7 @@ func CancelBuild(c *gin.Context) {
}

// retrieve the worker info
w, err := database.FromContext(c).GetWorker(b.GetHost())
w, err := database.FromContext(c).GetWorkerForHostname(b.GetHost())
if err != nil {
retErr := fmt.Errorf("unable to get worker for build %s: %w", entry, err)
util.HandleError(c, http.StatusNotFound, retErr)
Expand Down
2 changes: 1 addition & 1 deletion api/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ func recordGauges(c *gin.Context) {
// worker_build_limit, active_worker_count, inactive_worker_count
if q.WorkerBuildLimit || q.ActiveWorkerCount || q.InactiveWorkerCount {
// send API call to capture the workers
workers, err := database.FromContext(c).GetWorkerList()
workers, err := database.FromContext(c).ListWorkers()
if err != nil {
logrus.Errorf("unable to get workers: %v", err)
}
Expand Down
8 changes: 4 additions & 4 deletions api/worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ func GetWorkers(c *gin.Context) {
"user": u.GetName(),
}).Info("reading workers")

w, err := database.FromContext(c).GetWorkerList()
w, err := database.FromContext(c).ListWorkers()
if err != nil {
retErr := fmt.Errorf("unable to get workers: %w", err)

Expand Down Expand Up @@ -174,7 +174,7 @@ func GetWorker(c *gin.Context) {
"worker": w.GetHostname(),
}).Infof("reading worker %s", w.GetHostname())

w, err := database.FromContext(c).GetWorker(w.GetHostname())
w, err := database.FromContext(c).GetWorkerForHostname(w.GetHostname())
if err != nil {
retErr := fmt.Errorf("unable to get workers: %w", err)

Expand Down Expand Up @@ -283,7 +283,7 @@ func UpdateWorker(c *gin.Context) {
}

// send API call to capture the updated worker
w, _ = database.FromContext(c).GetWorker(w.GetHostname())
w, _ = database.FromContext(c).GetWorkerForHostname(w.GetHostname())

c.JSON(http.StatusOK, w)
}
Expand Down Expand Up @@ -329,7 +329,7 @@ func DeleteWorker(c *gin.Context) {
}).Infof("deleting worker %s", w.GetHostname())

// send API call to remove the step
err := database.FromContext(c).DeleteWorker(w.GetID())
err := database.FromContext(c).DeleteWorker(w)
if err != nil {
retErr := fmt.Errorf("unable to delete worker %s: %w", w.GetHostname(), err)

Expand Down
33 changes: 0 additions & 33 deletions database/postgres/ddl/worker.go

This file was deleted.

47 changes: 0 additions & 47 deletions database/postgres/dml/worker.go

This file was deleted.

29 changes: 17 additions & 12 deletions database/postgres/postgres.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"github.com/go-vela/server/database/postgres/ddl"
"github.com/go-vela/server/database/repo"
"github.com/go-vela/server/database/user"
"github.com/go-vela/server/database/worker"
"github.com/go-vela/types/constants"
"github.com/sirupsen/logrus"

Expand Down Expand Up @@ -50,6 +51,8 @@ type (
repo.RepoService
// https://pkg.go.dev/github.com/go-vela/server/database/user#UserService
user.UserService
// https://pkg.go.dev/github.com/go-vela/server/database/worker#WorkerService
worker.WorkerService
}
)

Expand Down Expand Up @@ -152,6 +155,8 @@ func NewTest() (*client, sqlmock.Sqlmock, error) {
_mock.ExpectExec(repo.CreateOrgNameIndex).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(user.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(user.CreateUserRefreshIndex).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(worker.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(worker.CreateHostnameAddressIndex).WillReturnResult(sqlmock.NewResult(1, 1))

// create the new mock Postgres database client
//
Expand Down Expand Up @@ -268,12 +273,6 @@ func createTables(c *client) error {
return fmt.Errorf("unable to create %s table: %w", constants.TableStep, err)
}

// create the workers table
err = c.Postgres.Exec(ddl.CreateWorkerTable).Error
if err != nil {
return fmt.Errorf("unable to create %s table: %w", constants.TableWorker, err)
}

return nil
}

Expand Down Expand Up @@ -336,12 +335,6 @@ func createIndexes(c *client) error {
return fmt.Errorf("unable to create secrets_type_org index for the %s table: %w", constants.TableSecret, err)
}

// create the workers_hostname_address index for the workers table
err = c.Postgres.Exec(ddl.CreateWorkerHostnameAddressIndex).Error
if err != nil {
return fmt.Errorf("unable to create workers_hostname_address index for the %s table: %w", constants.TableWorker, err)
}

return nil
}

Expand Down Expand Up @@ -388,5 +381,17 @@ func createServices(c *client) error {
return err
}

// create the database agnostic worker service
//
// https://pkg.go.dev/github.com/go-vela/server/database/worker#New
c.WorkerService, err = worker.New(
worker.WithClient(c.Postgres),
worker.WithLogger(c.Logger),
worker.WithSkipCreation(c.config.SkipCreation),
)
if err != nil {
return err
}

return nil
}
19 changes: 14 additions & 5 deletions database/postgres/postgres_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import (
"github.com/go-vela/server/database/postgres/ddl"
"github.com/go-vela/server/database/repo"
"github.com/go-vela/server/database/user"
"github.com/go-vela/server/database/worker"
"github.com/go-vela/types/library"
)

Expand Down Expand Up @@ -82,7 +83,6 @@ func TestPostgres_setupDatabase(t *testing.T) {
_mock.ExpectExec(ddl.CreateSecretTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateServiceTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateStepTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateWorkerTable).WillReturnResult(sqlmock.NewResult(1, 1))

// ensure the mock expects the index queries
_mock.ExpectExec(ddl.CreateBuildRepoIDIndex).WillReturnResult(sqlmock.NewResult(1, 1))
Expand All @@ -94,13 +94,19 @@ func TestPostgres_setupDatabase(t *testing.T) {
_mock.ExpectExec(ddl.CreateSecretTypeOrgRepo).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateSecretTypeOrgTeam).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateSecretTypeOrg).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateWorkerHostnameAddressIndex).WillReturnResult(sqlmock.NewResult(1, 1))

// ensure the mock expects the pipeline queries
_mock.ExpectExec(pipeline.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(pipeline.CreateRepoIDIndex).WillReturnResult(sqlmock.NewResult(1, 1))
// ensure the mock expects the repo queries
_mock.ExpectExec(repo.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(repo.CreateOrgNameIndex).WillReturnResult(sqlmock.NewResult(1, 1))
// ensure the mock expects the user queries
_mock.ExpectExec(user.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(user.CreateUserRefreshIndex).WillReturnResult(sqlmock.NewResult(1, 1))
// ensure the mock expects the worker queries
_mock.ExpectExec(worker.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(worker.CreateHostnameAddressIndex).WillReturnResult(sqlmock.NewResult(1, 1))

// setup the skip test database client
_skipDatabase, _skipMock, err := NewTest()
Expand Down Expand Up @@ -167,7 +173,6 @@ func TestPostgres_createTables(t *testing.T) {
_mock.ExpectExec(ddl.CreateSecretTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateServiceTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateStepTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateWorkerTable).WillReturnResult(sqlmock.NewResult(1, 1))

tests := []struct {
failure bool
Expand Down Expand Up @@ -215,7 +220,6 @@ func TestPostgres_createIndexes(t *testing.T) {
_mock.ExpectExec(ddl.CreateSecretTypeOrgRepo).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateSecretTypeOrgTeam).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateSecretTypeOrg).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(ddl.CreateWorkerHostnameAddressIndex).WillReturnResult(sqlmock.NewResult(1, 1))

tests := []struct {
failure bool
Expand Down Expand Up @@ -253,13 +257,18 @@ func TestPostgres_createServices(t *testing.T) {

defer func() { _sql, _ := _database.Postgres.DB(); _sql.Close() }()

// ensure the mock expects the index queries
// ensure the mock expects the pipeline queries
_mock.ExpectExec(pipeline.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(pipeline.CreateRepoIDIndex).WillReturnResult(sqlmock.NewResult(1, 1))
// ensure the mock expects the repo queries
_mock.ExpectExec(repo.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(repo.CreateOrgNameIndex).WillReturnResult(sqlmock.NewResult(1, 1))
// ensure the mock expects the user queries
_mock.ExpectExec(user.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(user.CreateUserRefreshIndex).WillReturnResult(sqlmock.NewResult(1, 1))
// ensure the mock expects the worker queries
_mock.ExpectExec(worker.CreatePostgresTable).WillReturnResult(sqlmock.NewResult(1, 1))
_mock.ExpectExec(worker.CreateHostnameAddressIndex).WillReturnResult(sqlmock.NewResult(1, 1))

tests := []struct {
failure bool
Expand Down
114 changes: 0 additions & 114 deletions database/postgres/worker.go

This file was deleted.

Loading