diff --git a/.dockerignore b/.dockerignore index 2641bb0b5..d0effdff8 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,6 +6,7 @@ doc/ .dockerignore .drone.yml .gitignore +drone.sqlite Dockerfile LICENSE README.md diff --git a/cmd/drone-build/run.go b/cmd/drone-build/run.go index 3ae15fedf..28271c296 100644 --- a/cmd/drone-build/run.go +++ b/cmd/drone-build/run.go @@ -29,9 +29,9 @@ type Context struct { func setup(c *Context) error { var err error var opts = parser.Opts{ - Network: true, - Privileged: true, - Volumes: true, + Network: false, + Privileged: false, + Volumes: false, Whitelist: c.Plugins, } diff --git a/pkg/server/commits.go b/pkg/server/commits.go index 63493ca7e..f687f21d2 100644 --- a/pkg/server/commits.go +++ b/pkg/server/commits.go @@ -114,6 +114,8 @@ func RunBuild(c *gin.Context) { store := ToDatastore(c) queue_ := ToQueue(c) repo := ToRepo(c) + conf := ToSettings(c) + num, err := strconv.Atoi(c.Params.ByName("number")) if err != nil { c.Fail(400, err) @@ -185,12 +187,14 @@ func RunBuild(c *gin.Context) { c.JSON(202, commit) queue_.Publish(&queue.Work{ - User: user, - Repo: repo, - Commit: commit, - Keys: keys, - Netrc: netrc, - Yaml: raw, + User: user, + Repo: repo, + Commit: commit, + Keys: keys, + Netrc: netrc, + Yaml: raw, + Plugins: conf.Plugins, + Env: conf.Environment, }) } diff --git a/pkg/server/hooks.go b/pkg/server/hooks.go index 432e6a0df..89e241f09 100644 --- a/pkg/server/hooks.go +++ b/pkg/server/hooks.go @@ -22,6 +22,7 @@ func PostHook(c *gin.Context) { store := ToDatastore(c) queue_ := ToQueue(c) sess := ToSession(c) + conf := ToSettings(c) hook, err := remote.Hook(c.Request) if err != nil { @@ -151,11 +152,13 @@ func PostHook(c *gin.Context) { } queue_.Publish(&queue.Work{ - User: user, - Repo: repo, - Commit: commit, - Keys: keys, - Netrc: netrc, - Yaml: raw, + User: user, + Repo: repo, + Commit: commit, + Keys: keys, + Netrc: netrc, + Yaml: raw, + Plugins: conf.Plugins, + Env: conf.Environment, }) } diff --git a/pkg/yaml/parse.go b/pkg/yaml/parse.go index 359fb48a1..46f08c918 100644 --- a/pkg/yaml/parse.go +++ b/pkg/yaml/parse.go @@ -77,6 +77,10 @@ func ParseSingle(raw string, opts *Opts) (*common.Config, error) { if err != nil { return nil, err } + err = LintPlugins(conf, opts) + if err != nil { + return nil, err + } // apply rules / transofms transformSetup(conf) transformClone(conf)