chore(runner): remove client secret and add UUID in runner

Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi.Wu
2022-10-15 20:03:33 +08:00
committed by Jason Song
parent bf5e3dc302
commit e08495af09
9 changed files with 122 additions and 167 deletions

View File

@ -2,17 +2,12 @@ package poller
import (
"context"
"encoding/json"
"errors"
"os"
"time"
"gitea.com/gitea/act_runner/client"
"gitea.com/gitea/act_runner/config"
"gitea.com/gitea/act_runner/core"
runnerv1 "gitea.com/gitea/proto-go/runner/v1"
"github.com/appleboy/com/file"
"github.com/bufbuild/connect-go"
log "github.com/sirupsen/logrus"
)
@ -27,10 +22,9 @@ var (
defaultLabels = []string{"self-hosted"}
)
func New(cli client.Client, dispatch func(context.Context, *runnerv1.Task) error, filter *client.Filter) *Poller {
func New(cli client.Client, dispatch func(context.Context, *runnerv1.Task) error) *Poller {
return &Poller{
Client: cli,
Filter: filter,
Dispatch: dispatch,
routineGroup: newRoutineGroup(),
}
@ -45,41 +39,6 @@ type Poller struct {
errorRetryCounter int
}
func (p *Poller) Register(ctx context.Context, cfg config.Runner) error {
// check .runner config exist
if file.IsFile(cfg.File) {
return nil
}
// register new runner.
resp, err := p.Client.Register(ctx, connect.NewRequest(&runnerv1.RegisterRequest{
Name: cfg.Name,
Token: cfg.Token,
AgentLabels: append(defaultLabels, []string{p.Filter.OS, p.Filter.Arch}...),
CustomLabels: p.Filter.Labels,
}))
if err != nil {
log.WithError(err).Error("poller: cannot register new runner")
return err
}
data := &core.Runner{
ID: resp.Msg.Runner.Id,
UUID: resp.Msg.Runner.Uuid,
Name: resp.Msg.Runner.Name,
Token: resp.Msg.Runner.Token,
}
file, err := json.MarshalIndent(data, "", " ")
if err != nil {
log.WithError(err).Error("poller: cannot marshal the json input")
return err
}
// store runner config in .runner file
return os.WriteFile(cfg.File, file, 0o644)
}
func (p *Poller) Poll(ctx context.Context, n int) error {
for i := 0; i < n; i++ {
func(i int) {