mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-01-31 03:37:46 +00:00
removed old, unused config package
This commit is contained in:
parent
2223e1d934
commit
af82f7aa2c
7 changed files with 13 additions and 222 deletions
|
@ -9,7 +9,6 @@ import (
|
||||||
"github.com/drone/drone/Godeps/_workspace/src/github.com/gin-gonic/gin"
|
"github.com/drone/drone/Godeps/_workspace/src/github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/drone/drone/Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs"
|
"github.com/drone/drone/Godeps/_workspace/src/github.com/elazarl/go-bindata-assetfs"
|
||||||
"github.com/drone/drone/pkg/config"
|
|
||||||
"github.com/drone/drone/pkg/remote"
|
"github.com/drone/drone/pkg/remote"
|
||||||
"github.com/drone/drone/pkg/server"
|
"github.com/drone/drone/pkg/server"
|
||||||
"github.com/drone/drone/pkg/server/session"
|
"github.com/drone/drone/pkg/server/session"
|
||||||
|
@ -89,12 +88,6 @@ func main() {
|
||||||
flag.String("config", "", "")
|
flag.String("config", "", "")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
settings, err := config.Load()
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
settings.Plugins = []string{conf.plugin.filter} // todo hack
|
|
||||||
|
|
||||||
store, err := store.New(conf.database.driver, conf.database.config)
|
store, err := store.New(conf.database.driver, conf.database.config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
@ -123,7 +116,6 @@ func main() {
|
||||||
api.Use(server.SetDatastore(store))
|
api.Use(server.SetDatastore(store))
|
||||||
api.Use(server.SetRemote(remote))
|
api.Use(server.SetRemote(remote))
|
||||||
api.Use(server.SetQueue(queue_))
|
api.Use(server.SetQueue(queue_))
|
||||||
api.Use(server.SetSettings(settings))
|
|
||||||
api.Use(server.SetSession(session))
|
api.Use(server.SetSession(session))
|
||||||
api.Use(server.SetUser(session))
|
api.Use(server.SetUser(session))
|
||||||
api.Use(server.SetRunner(&runner_))
|
api.Use(server.SetRunner(&runner_))
|
||||||
|
@ -207,7 +199,6 @@ func main() {
|
||||||
auth.Use(server.SetHeaders())
|
auth.Use(server.SetHeaders())
|
||||||
auth.Use(server.SetDatastore(store))
|
auth.Use(server.SetDatastore(store))
|
||||||
auth.Use(server.SetRemote(remote))
|
auth.Use(server.SetRemote(remote))
|
||||||
auth.Use(server.SetSettings(settings))
|
|
||||||
auth.Use(server.SetSession(session))
|
auth.Use(server.SetSession(session))
|
||||||
auth.GET("", server.GetLogin)
|
auth.GET("", server.GetLogin)
|
||||||
auth.POST("", server.GetLogin)
|
auth.POST("", server.GetLogin)
|
||||||
|
|
|
@ -1,144 +0,0 @@
|
||||||
package config
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
log "github.com/drone/drone/Godeps/_workspace/src/github.com/Sirupsen/logrus"
|
|
||||||
"github.com/drone/drone/Godeps/_workspace/src/github.com/vrischmann/envconfig"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Config struct {
|
|
||||||
Remote struct {
|
|
||||||
Driver string `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
Auth struct {
|
|
||||||
Client string `envconfig:"optional"`
|
|
||||||
Secret string `envconfig:"optional"`
|
|
||||||
Authorize string `envconfig:"optional"`
|
|
||||||
AccessToken string `envconfig:"optional"`
|
|
||||||
RequestToken string `envconfig:"optional"`
|
|
||||||
Scope []string `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
Server struct {
|
|
||||||
Base string `envconfig:"optional"`
|
|
||||||
Addr string `envconfig:"optional"`
|
|
||||||
Cert string `envconfig:"optional"`
|
|
||||||
Key string `envconfig:"optional"`
|
|
||||||
Scheme string `envconfig:"optional"`
|
|
||||||
Hostname string `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
Session struct {
|
|
||||||
Secret string `envconfig:"optional"`
|
|
||||||
Expires int64 `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
Agents struct {
|
|
||||||
Secret string `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
Database struct {
|
|
||||||
Driver string `envconfig:"optional"`
|
|
||||||
Datasource string `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
Docker struct {
|
|
||||||
Cert string `envconfig:"optional"`
|
|
||||||
Key string `envconfig:"optional"`
|
|
||||||
Addr string `envconfig:"optional"`
|
|
||||||
Swarm bool `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Environment represents a set of global environment
|
|
||||||
// variable declarations that can be injected into
|
|
||||||
// build plugins. An example use case might be SMTP
|
|
||||||
// configuration.
|
|
||||||
Environment []string `envconfig:"optional"`
|
|
||||||
|
|
||||||
// Plugins represents a white-list of plugins
|
|
||||||
// that the system is authorized to load.
|
|
||||||
Plugins []string `envconfig:"optional"`
|
|
||||||
|
|
||||||
Github struct {
|
|
||||||
API string `envconfig:"optional"`
|
|
||||||
Host string `envconfig:"optional"`
|
|
||||||
Client string `envconfig:"optional"`
|
|
||||||
Secret string `envconfig:"optional"`
|
|
||||||
PrivateMode bool `envconfig:"optional"`
|
|
||||||
SkipVerify bool `envconfig:"optional"`
|
|
||||||
Open bool `envconfig:"optional"`
|
|
||||||
Orgs []string `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
Bitbucket struct {
|
|
||||||
Client string `envconfig:"optional"`
|
|
||||||
Secret string `envconfig:"optional"`
|
|
||||||
Open bool `envconfig:"optional"`
|
|
||||||
Orgs []string `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
|
|
||||||
Gitlab struct {
|
|
||||||
Host string `envconfig:"optional"`
|
|
||||||
Client string `envconfig:"optional"`
|
|
||||||
Secret string `envconfig:"optional"`
|
|
||||||
SkipVerify bool `envconfig:"optional"`
|
|
||||||
Open bool `envconfig:"optional"`
|
|
||||||
Orgs []string `envconfig:"optional"`
|
|
||||||
Search bool `envconfig:"optional"`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Load loads the configuration from environment
|
|
||||||
// variables.
|
|
||||||
func Load() (*Config, error) {
|
|
||||||
conf := &Config{}
|
|
||||||
err := envconfig.Init(conf)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return applyDefaults(conf), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func applyDefaults(c *Config) *Config {
|
|
||||||
// if no session token is provided we can
|
|
||||||
// instead use the client secret to sign
|
|
||||||
// our sessions and tokens.
|
|
||||||
if len(c.Session.Secret) == 0 {
|
|
||||||
c.Session.Secret = c.Auth.Secret
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prevent crash on start, use sqlite3
|
|
||||||
// driver as default if DRONE_DATABASE_DRIVER and
|
|
||||||
// DRONE_DATABASE_DATASOURCE not specifed
|
|
||||||
if len(c.Database.Driver) == 0 && len(c.Database.Datasource) == 0 {
|
|
||||||
c.Database.Driver = "sqlite3"
|
|
||||||
|
|
||||||
pwd, err := os.Getwd()
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
c.Database.Datasource = path.Join(pwd, "drone.sqlite3")
|
|
||||||
log.Warnf("Use default database settings, driver: %q, config: %q", c.Database.Driver, c.Database.Datasource)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set default settings for remotes
|
|
||||||
switch strings.ToLower(c.Remote.Driver) {
|
|
||||||
case "github":
|
|
||||||
if len(c.Github.API) == 0 && len(c.Github.Host) == 0 {
|
|
||||||
c.Github.API = "https://api.github.com/"
|
|
||||||
c.Github.Host = "https://github.com"
|
|
||||||
log.Warnf("Use default github settings, host: %q, api: %q", c.Github.Host, c.Github.API)
|
|
||||||
} else if len(c.Github.API) == 0 && len(c.Github.Host) != 0 {
|
|
||||||
c.Github.API = fmt.Sprintf("%s/api/v3/", c.Github.Host)
|
|
||||||
log.Warnf("Github API not specified, use: %q", c.Github.API)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return c
|
|
||||||
}
|
|
|
@ -3,7 +3,9 @@ package server
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/drone/drone/Godeps/_workspace/src/github.com/gin-gonic/gin"
|
"github.com/drone/drone/Godeps/_workspace/src/github.com/gin-gonic/gin"
|
||||||
|
@ -118,7 +120,6 @@ func RunBuild(c *gin.Context) {
|
||||||
store := ToDatastore(c)
|
store := ToDatastore(c)
|
||||||
queue_ := ToQueue(c)
|
queue_ := ToQueue(c)
|
||||||
repo := ToRepo(c)
|
repo := ToRepo(c)
|
||||||
conf := ToSettings(c)
|
|
||||||
|
|
||||||
num, err := strconv.Atoi(c.Params.ByName("number"))
|
num, err := strconv.Atoi(c.Params.ByName("number"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -189,8 +190,8 @@ func RunBuild(c *gin.Context) {
|
||||||
Secret: sec,
|
Secret: sec,
|
||||||
System: &common.System{
|
System: &common.System{
|
||||||
Link: httputil.GetURL(c.Request),
|
Link: httputil.GetURL(c.Request),
|
||||||
Plugins: conf.Plugins,
|
Plugins: strings.Split(os.Getenv("PLUGIN_FILTER"), " "),
|
||||||
Globals: conf.Environment,
|
Globals: strings.Split(os.Getenv("PLUGIN_PARAMS"), " "),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
log "github.com/drone/drone/Godeps/_workspace/src/github.com/Sirupsen/logrus"
|
log "github.com/drone/drone/Godeps/_workspace/src/github.com/Sirupsen/logrus"
|
||||||
|
@ -22,7 +23,6 @@ func PostHook(c *gin.Context) {
|
||||||
remote := ToRemote(c)
|
remote := ToRemote(c)
|
||||||
store := ToDatastore(c)
|
store := ToDatastore(c)
|
||||||
queue_ := ToQueue(c)
|
queue_ := ToQueue(c)
|
||||||
conf := ToSettings(c)
|
|
||||||
|
|
||||||
hook, err := remote.Hook(c.Request)
|
hook, err := remote.Hook(c.Request)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -155,8 +155,8 @@ func PostHook(c *gin.Context) {
|
||||||
Secret: sec,
|
Secret: sec,
|
||||||
System: &common.System{
|
System: &common.System{
|
||||||
Link: httputil.GetURL(c.Request),
|
Link: httputil.GetURL(c.Request),
|
||||||
Plugins: conf.Plugins,
|
Plugins: strings.Split(os.Getenv("PLUGIN_FILTER"), " "),
|
||||||
Globals: conf.Environment,
|
Globals: strings.Split(os.Getenv("PLUGIN_PARAMS"), " "),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ import (
|
||||||
// GET /authorize
|
// GET /authorize
|
||||||
//
|
//
|
||||||
func GetLogin(c *gin.Context) {
|
func GetLogin(c *gin.Context) {
|
||||||
settings := ToSettings(c)
|
|
||||||
session := ToSession(c)
|
session := ToSession(c)
|
||||||
remote := ToRemote(c)
|
remote := ToRemote(c)
|
||||||
store := ToDatastore(c)
|
store := ToDatastore(c)
|
||||||
|
@ -27,18 +26,8 @@ func GetLogin(c *gin.Context) {
|
||||||
// rememver why, so need to revisit this line.
|
// rememver why, so need to revisit this line.
|
||||||
c.Writer.Header().Del("Content-Type")
|
c.Writer.Header().Del("Content-Type")
|
||||||
|
|
||||||
// depending on the configuration a user may
|
// TODO: move this back to the remote section
|
||||||
// authenticate with OAuth1, OAuth2 or Basic
|
getLoginOauth2(c)
|
||||||
// Auth (username and password). This will delegate
|
|
||||||
// authorization accordingly.
|
|
||||||
switch {
|
|
||||||
// case settings.Auth == nil:
|
|
||||||
// getLoginBasic(c)
|
|
||||||
case settings.Auth.RequestToken != "":
|
|
||||||
getLoginOauth1(c)
|
|
||||||
default:
|
|
||||||
getLoginOauth2(c)
|
|
||||||
}
|
|
||||||
|
|
||||||
// exit if authorization fails
|
// exit if authorization fails
|
||||||
if c.Writer.Status() != 200 {
|
if c.Writer.Status() != 200 {
|
||||||
|
|
|
@ -7,7 +7,6 @@ import (
|
||||||
"github.com/drone/drone/Godeps/_workspace/src/github.com/gin-gonic/gin"
|
"github.com/drone/drone/Godeps/_workspace/src/github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/drone/drone/pkg/bus"
|
"github.com/drone/drone/pkg/bus"
|
||||||
"github.com/drone/drone/pkg/config"
|
|
||||||
"github.com/drone/drone/pkg/queue"
|
"github.com/drone/drone/pkg/queue"
|
||||||
"github.com/drone/drone/pkg/remote"
|
"github.com/drone/drone/pkg/remote"
|
||||||
"github.com/drone/drone/pkg/runner"
|
"github.com/drone/drone/pkg/runner"
|
||||||
|
@ -76,21 +75,6 @@ func SetRunner(r runner.Runner) gin.HandlerFunc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ToSettings(c *gin.Context) *config.Config {
|
|
||||||
v, ok := c.Get("config")
|
|
||||||
if !ok {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return v.(*config.Config)
|
|
||||||
}
|
|
||||||
|
|
||||||
func SetSettings(s *config.Config) gin.HandlerFunc {
|
|
||||||
return func(c *gin.Context) {
|
|
||||||
c.Set("config", s)
|
|
||||||
c.Next()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func ToPerm(c *gin.Context) *common.Perm {
|
func ToPerm(c *gin.Context) *common.Perm {
|
||||||
v, ok := c.Get("perm")
|
v, ok := c.Get("perm")
|
||||||
if !ok {
|
if !ok {
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/drone/drone/pkg/bus"
|
"github.com/drone/drone/pkg/bus"
|
||||||
|
@ -51,7 +49,6 @@ func GetRepoEvents(c *gin.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetStream(c *gin.Context) {
|
func GetStream(c *gin.Context) {
|
||||||
conf := ToSettings(c)
|
|
||||||
store := ToDatastore(c)
|
store := ToDatastore(c)
|
||||||
repo := ToRepo(c)
|
repo := ToRepo(c)
|
||||||
runner := ToRunner(c)
|
runner := ToRunner(c)
|
||||||
|
@ -71,37 +68,10 @@ func GetStream(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var rc io.ReadCloser
|
rc, err := runner.Logs(job)
|
||||||
|
if err != nil {
|
||||||
// if the commit is being executed by an agent
|
c.Fail(404, err)
|
||||||
// we'll proxy the build output directly to the
|
return
|
||||||
// remote Docker client, through the agent.
|
|
||||||
if conf.Agents.Secret != "" {
|
|
||||||
addr, err := store.Agent(build)
|
|
||||||
if err != nil {
|
|
||||||
c.Fail(500, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
url := fmt.Sprintf("http://%s/stream/%d?token=%s", addr, job.ID, conf.Agents.Secret)
|
|
||||||
resp, err := http.Get(url)
|
|
||||||
if err != nil {
|
|
||||||
c.Fail(500, err)
|
|
||||||
return
|
|
||||||
} else if resp.StatusCode != 200 {
|
|
||||||
resp.Body.Close()
|
|
||||||
c.AbortWithStatus(resp.StatusCode)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
rc = resp.Body
|
|
||||||
|
|
||||||
} else {
|
|
||||||
// else if the commit is not being executed
|
|
||||||
// by the build agent we can use the local runner
|
|
||||||
rc, err = runner.Logs(job)
|
|
||||||
if err != nil {
|
|
||||||
c.Fail(404, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
|
|
Loading…
Reference in a new issue