diff --git a/cmd/drone-server/server.go b/cmd/drone-server/server.go index 3e200239c..3eb77d853 100644 --- a/cmd/drone-server/server.go +++ b/cmd/drone-server/server.go @@ -93,6 +93,12 @@ var flags = []cli.Flag{ Name: "open", Usage: "open user registration", }, + cli.StringFlag{ + EnvVar: "DRONE_REPO_CONFIG", + Name: "repo-config", + Usage: "file path for the drone config", + Value: ".drone.yml", + }, cli.DurationFlag{ EnvVar: "DRONE_SESSION_EXPIRES", Name: "session-expires", @@ -639,6 +645,7 @@ func setupEvilGlobals(c *cli.Context, v store.Store, r remote.Remote) { droneserver.Config.Server.Pass = c.String("agent-secret") droneserver.Config.Server.Host = strings.TrimRight(c.String("server-host"), "/") droneserver.Config.Server.Port = c.String("server-addr") + droneserver.Config.Server.RepoConfig = c.String("repo-config") droneserver.Config.Server.SessionExpires = c.Duration("session-expires") droneserver.Config.Pipeline.Networks = c.StringSlice("network") droneserver.Config.Pipeline.Volumes = c.StringSlice("volume") diff --git a/server/repo.go b/server/repo.go index 42e95c340..972a18e92 100644 --- a/server/repo.go +++ b/server/repo.go @@ -45,7 +45,7 @@ func PostRepo(c *gin.Context) { } } if repo.Config == "" { - repo.Config = ".drone.yml" + repo.Config = Config.Server.RepoConfig } if repo.Timeout == 0 { repo.Timeout = 60 // 1 hour default build time diff --git a/server/rpc.go b/server/rpc.go index 2fcd3737d..c82b09def 100644 --- a/server/rpc.go +++ b/server/rpc.go @@ -60,6 +60,7 @@ var Config = struct { Host string Port string Pass string + RepoConfig string SessionExpires time.Duration // Open bool // Orgs map[string]struct{}