Commit graph

3734 commits

Author SHA1 Message Date
Anbraten 6547ef380c
Create SECURITY.md (#396) 2021-10-03 16:15:58 +02:00
6543 5d8e60808d
Move cli exec flags to own file (#380)
Co-authored-by: Anbraten <anton@ju60.de>
2021-10-03 15:07:39 +02:00
6543 169e7e5aa3
Refactor Gitlab Remote (#358)
- Replace custom client
- Update Docs
- Test if it works
- Update Tests

close #285
2021-10-03 14:42:47 +02:00
Anbraten 2f267e2a79
Rename drone-go (#390) 2021-10-03 00:27:43 +02:00
Anbraten bb37836600
Replace drone strings with woodpecker (#391)
Co-authored-by: 6543 <6543@obermui.de>
2021-10-02 10:59:34 +02:00
Anbraten ba0286d055
Remove unused files (#392) 2021-10-02 10:25:26 +02:00
6543 44ae414bce
Add Migrations to docs header (#386)
* Docs: add Migrations to header

* fix diff
2021-09-30 15:39:20 +02:00
Anbraten ed6d3f3cea
Use go embed for web files and remove httptreemux (#382)
- replace togo with go embed
- replace httptreemux with gin

closes #308
2021-09-29 17:34:56 +02:00
6543 a82d569bd1
Upgrade github client (#381)
* update github client

* ajust types
2021-09-29 07:59:46 +02:00
6543 7f3a6eb17f
Update Generated Proto Code (#351)
update generated code (definitions, client implementation & server interface)
and add documentation how to generate
2021-09-29 02:10:09 +02:00
Marian Steinbach 17b8867b96
Clean up config environment variables for server and agent (#218)
The goal here is to make consistent use of configuration environment variables prefixed `WOODPECKER_`. Where several variants existed, this PR aims to remove all but one option, leaving the most explicit.

This PR only changes server and agent code, but not documentation, in order to keep the PR digestible. Once we have consensus that this is correct, I'll change docs accordingly.

User (rather: admin) facing changes in this PR:

- In general, support for all server and agent config environment variables (env vars) starting with `DRONE_` is removed. The according `WOODPECKER_*` variables must be used instead.
- The env var `WOODPECKER_HOST` replaces `DRONE_HOST`, and `DRONE_SERVER_HOST`.
- The env var `WOODPECKER_AGENT_SECRET` is used to configure the shared secret which agents use to authenticate against the server. It replaces `WOODPECKER_SECRET`, `DRONE_SECRET`, `WOODPECKER_PASSWORD`, `DRONE_PASSWORD`, and `DRONE_AGENT_SECRET`.
- The env var `WOODPECKER_DATABASE_DRIVER` replaces `DRONE_DATABASE_DRIVER` and `DATABASE_DRIVER`.
- The env var `WOODPECKER_DATABASE_DATASOURCE` replaces `DRONE_DATABASE_DATASOURCE` and `DATABASE_CONFIG`.
2021-09-28 15:43:44 +02:00
Anbraten 6144f16631
Remove unsupported pipeline file extension "yaml" (#373)
Docs, `sanitizePath` and json-schema do not mention / support `.yaml` (only `.yml`) files so they should simply be ignored.
2021-09-28 14:07:25 +02:00
6543 e3499f610d
Pass down context.Context (#371)
* pass context down to remote clients

* make tests work

* add ctx to Refresh() and use it

* bitbucketserver

* code format

* plugin interface: add todo context

* solve todo

* RM TODO by using context.WithTimeout

* refactor & fix

* Apply suggestions from code review

Co-authored-by: Anbraten <anton@ju60.de>

* go fmt

* Update server/remote/coding/coding.go

Co-authored-by: Anbraten <anton@ju60.de>

Co-authored-by: Anbraten <anton@ju60.de>
2021-09-28 12:56:59 +02:00
6543 c0888de86b
Delete Gerrit placeholder (#372) 2021-09-28 10:22:34 +02:00
Anbraten 3f03052190
[Docs] Simplify docker-compose samples (#356) 2021-09-28 00:04:52 +02:00
6543 f81bd8c656
Extend Logging & Report to WebHook Caller back if pulls are disabled (#369)
* Add more logging 
* Format Code
* Add TODOs
* Fix nits
* Delete two unused functions
* Report to WebHook Caller back if pulls are disabled
2021-09-27 23:32:08 +02:00
6543 a94807efeb
Refactor: move model/ to server/model/ (#366) 2021-09-27 19:51:55 +02:00
6543 06d83c7b0e
Remote Gitea drop basic auth support (#365)
you now have to set **gitea-client** and **gitea-secret**.
2021-09-27 08:11:11 +02:00
Anbraten 0fa271f465
Add json schema and cli lint command (#342)
- Add json schema file
- Add tests to validate sample pipeline files
- Add new command `lint` to cli to test a directory or single file to use correct schema

Example:  `woodpecker-cli lint ./pipeline/schema/.woodpecker/`

---
close #275 
preparation for #276 


Co-authored-by: 6543 <6543@obermui.de>
2021-09-27 02:38:15 +02:00
Anbraten bd19f90756
Replace www-path with www-proxy option for development (#248)
By adding a new ENV variable called `WOODPECKER_WWW_PROXY` it is possible to serve a webinterface via a proxy configured by the `WOODPECKER_WWW_PROXY` value for development instead of serving the interface from the bundled code or from some folder location as the old `WOODPECKER_WWW` option allowed. Using a proxy allows developing the UI with hot-reloading.
2021-09-27 00:22:23 +02:00
6543 da6fa0ec70
Use moby definitions for docker pipeline backend (#364)
* Migrate from docker to moby

* moby as interface docker as implementation

* Migrate deprecated func
2021-09-26 21:51:59 +02:00
Anbraten ecc5f24fec
Explain open registration setting (#361) 2021-09-26 16:33:55 +02:00
Anbraten 07d793f727
Migrate go-docker to docker/docker (#363)
closes #325
2021-09-26 14:43:14 +02:00
6543 5a05a7fe6b
Make configFetcher fallback work for gitea (#357)
#299 who closed #133 did not take into account, that that gitea (and eventually) other forges do return 200 and empty string if file was not found - this make configFetcher more resilient
2021-09-26 01:23:17 +02:00
Anbraten 4b6188d761
update launch config (#359) 2021-09-26 00:46:07 +02:00
Anbraten 72e42f1612
Optimize license files (#355)
Updated license files to be automatically be parseable by tools like [licensechecker](https://github.com/google/licensecheck) or Github. This is for example needed for godoc.
2021-09-25 15:15:54 +02:00
6543 d8cd4925ec
If config is no dir asume its a folder (#354)
If config is no dir assume its a folder (user do not always add / suffix)
2021-09-25 02:56:05 +02:00
6543 4df9c8d6a5
Update Dependencies (#349)
* github.com/russross/meddler v1.0.0 -> v1.0.1
* github.com/gin-gonic/gin v1.6.3 -> v1.7.4
* github.com/go-sql-driver/mysql v1.5.0 -> v1.6.0
* github.com/sirupsen/logrus v1.6.0 -> v1.8.1
* github.com/rs/zerolog v1.18.0 -> v1.25.0
2021-09-24 18:39:57 +02:00
6543 0bd10fa507
Cleanup Code (#348)
* Fix "Empty slice declaration using a literal"
* Fix "collides with imported package name"
* Remove unused code in pipeline
* Remove unused oauth2.providerAuthHeaderWorks()
* Add TODOs
* Format Code
* Cleanup doublestar import
* Migrate deprecated functions

Co-authored-by: Anbraten <anton@ju60.de>
2021-09-24 16:29:26 +02:00
Anbraten e8db6b8c04
Update 80-kubernetes.md (#350) 2021-09-24 15:45:35 +02:00
Anbraten 0009c19f1c
Release Helm charts (#302)
closes #261
2021-09-24 14:04:54 +02:00
Jacob Floyd e34daae0cf
Move cncd/pipeline/pipeline/ to pipeline/ (#347)
* Refactor: move cncd/pipeline/ to pipeline/

* Refactor: move pipeline/pipeline/ to pipeline/
2021-09-24 13:18:34 +02:00
Jacob Floyd a0d008e071
Move cncd/{logging,pubsub,queue}/ to server/{logging,pubsub,queue}/ (#346)
* Move cncd/{logging,pubsub,queue}/ to server/{logging,pubsub,queue}/

* Update REAMDEs and include history

Co-authored-by: Anbraten <anton@ju60.de>

Co-authored-by: Anbraten <anton@ju60.de>
2021-09-23 22:29:09 +02:00
Jacob Floyd 780c902a6b
Refactor: move remote/ to server/remote/ (#344) 2021-09-23 18:25:51 +02:00
Anbraten 8584bbd073
Improve docs deployment (#333)
Co-authored-by: 6543 <6543@obermui.de>
2021-09-23 17:54:19 +02:00
Jacob Floyd bfb9af121c
Create agent/ package for backend agnostic logic (#338)
* Refactor: Move agent stats structs to agent/

Based in part on changes by laszlocph (kube branch):
7f4a0c8c12 Factor into Runner
f7fe9edd0b Using Runner in server

* Refactor: Add Runner constructor with counter field

Based in part on changes by laszlocph (kube branch):
7f4a0c8c12 Factor into Runner
f7fe9edd0b Using Runner in server

* Refactor: Move Runner to agent/ package

Based in part on changes by laszlocph (kube branch):
7f4a0c8c12 Factor into Runner
f7fe9edd0b Using Runner in server

* Refactor: pass pipeline.backend.Engine into agent.Runner

Based in part on changes by laszlocph (kube branch):
7f4a0c8 Factor into Runner
f7fe9ed Using Runner in server

* Use well-known function signature for WriteTo

* Rename stats.go -> state.go

Co-authored-by: Anbraten <anton@ju60.de>
2021-09-23 16:58:12 +02:00
Jacob Floyd e2b59787c1
Move plugins/ package to server/plugins/ (#343) 2021-09-23 16:12:46 +02:00
Jacob Floyd 5fe712cca6
Move package store/ to server/store/ (#341)
* Refactor: move store/ to server/store/

* fix pipeline for moved tests

Co-authored-by: 6543 <6543@obermui.de>
2021-09-23 13:33:59 +02:00
6543 8361114e2e
Changelog for v0.14.1 (#334) (#340) 2021-09-23 02:21:28 +02:00
Jacob Floyd b8f55f31e2
Move router package to server/router/ (#339) 2021-09-22 22:41:32 +02:00
Jacob Floyd 35a45b7961
Reorganize code into server/{api,grpc,shared} packages (#337)
* move api code to server/api
* move grpc server for agent communication to server/grpc
* move server.Config to server/config.go as it is used by both server/api and server/grpc
* move shared code used by server/api and server/grpc to server/shared
2021-09-22 20:48:01 +02:00
Veniamin Gvozdikov 4fd8a1ef42
Increase allowed length for user token in db (#328)
After update to latest version gitea and use oauth, gitea returns long token in my case it was >800 characters. DB schema of the table has varchar(500), I updated it to varchar(1000) to solve the problem.

* Fix length for gitea token/secret
2021-09-21 18:39:09 +02:00
Jacob Floyd 7f4a205764
Remove legacy/unused code + misc cleanups (#331)
* delete obsolete cncd code

jsonrpc2 client+server, and the utils that used them (piped, pipec)
are not used anymore.

jsonrpc2 was replaced with grpc
piped+pipec were replaced by agents

* delete duplicate section in swagger file

* comment typos

* go mod tidy (websocket+jsonrpc2 no longer used)

* go mod vendor

Co-authored-by: Anbraten <anton@ju60.de>
2021-09-21 17:35:32 +02:00
Anbraten b3d40024a9
Rename cmd agent and server folders and binaries (#330)
Renamed `cmd/drone-agent` to `cmd/agent` and `cmd/drone-server` to `cmd/server` and binaries to get rid of the drone name.
2021-09-21 17:06:13 +02:00
Anbraten 188b9e6eb5
Refactor cli (#329)
- move cli files from `cli/drone` to `cli/`
- move cli main to `cmd/cli/main.go` to match agent and server
- use version from `version/version.go` to match agent and server
2021-09-21 16:36:41 +02:00
6543 ac46ee9345
Migrate jwt token lib (#332)
* migrate from github.com/dgrijalva/jwt-go to github.com/golang-jwt/jwt

* migrate
2021-09-21 12:55:25 +02:00
Anbraten 96828b16c1
Support recursive glob for path conditions (#327)
* Support glob with doublestar for path conditions

* Update docs and pipeline
2021-09-21 06:18:43 +02:00
sam-tang-sw d802fdb26d
Fix cli matrix filter (#311)
Using `when` (Conditional Execution) with `matrix` did not work, fix it.
2021-09-21 05:47:08 +02:00
Anbraten 5653577d7e
Fix sanitizePath (#326)
With #299 the `sanitizePath` has a bug now. If no special config (empty string) has been set it falls back to default values, but the `sanitizePath` function  the used the pipelince-config-path to sanitize pipeline names.
2021-09-21 04:21:13 +02:00
Nulo 8413bb0620
Remove non-existent changed status condition from docs (#322)
* docs(status): rewrite

status: changed doesn't exist in the current codebase and the
description was just confusing.

* Use consistent language

Co-authored-by: Anbraten <anton@ju60.de>

Co-authored-by: Nulo <git@nulo.in>
Co-authored-by: Anbraten <anton@ju60.de>
2021-09-19 13:02:24 +02:00