Anbraten
fa5b0fb96e
Fix linter ( #1647 )
2023-03-18 20:35:27 +01:00
Alexander Matyushentsev
9288670c61
feat: expose unprotected metrics endpoint ( #1614 )
...
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: Anbraten <anton@ju60.de>
2023-03-12 09:41:10 +01:00
Earl Warren
7835a632e4
Define WOODPECKER_FORGE_TIMEOUT server config ( #1558 )
...
When a server such as Codeberg has unusually high response time, three
seconds may not be enough to fetch the configuration.
Signed-off-by: Earl Warren <contact@earl-warren.org>
Co-authored-by: 6543 <6543@obermui.de>
2023-02-01 18:53:19 +01:00
Anbraten
d96032349a
Store an agents list and add agent heartbeats ( #1189 )
...
Co-authored-by: 6543 <6543@obermui.de>
2023-01-28 14:13:04 +01:00
Earl Warren
222ff11fd9
fix SetupConsoleLogger which is a noop ( #1564 )
...
When App.Before is called the options are not parsed yet, use
Command.Before instead.
2023-01-26 03:09:09 +01:00
6543
a389287d80
Disable secret encryption until its fixed ( #1549 )
...
#1475 , #1541 , #1544
2023-01-15 20:12:18 +01:00
antomy-gc
6516a28cdd
Secrets encryption in database ( #1475 )
...
closes #101
Added secrets encryption in database
- Google TINK or simple AES as encryption mechanisms
- Keys rotation support on TINK
- Existing SecretService is wrapped by encryption layer
- Encryption can be enabled and disabled at any time
Co-authored-by: Kuzmin Ilya <ilia.kuzmin@indrive.com>
Co-authored-by: 6543 <6543@obermui.de>
2023-01-12 20:59:07 +01:00
Stephen Muth
1816f6c715
Allow adding additional labels/annotations to kubernetes worker pods ( #1510 )
...
Example agent environment configuration using the new value:
```yaml
- env:
- name: WOODPECKER_BACKEND
value: kubernetes
- name: WOODPECKER_BACKEND_K8S_NAMESPACE
value: default
- name: WOODPECKER_BACKEND_K8S_POD_LABELS
value: '{"sidecar.istio.io/inject":"false"}'
```
2022-12-31 01:37:09 +01:00
velsinki
dda4998261
Change healtcheck port into address format, redo #1197 ( #1423 )
...
As discussed in the comments in PR #1197 . Also add documenation
accordingly.
One thing I'm not sure about is the simple check in health.go if the
address is usable in the GET request or not. From reading
https://pkg.go.dev/net#Dial it seems that the only non-standard address
format that would work in the `net` package but not in a GET url would
likely only be `:port`, as the others listed here are actually also
valid urls:
`For TCP, UDP and IP networks, if the host is empty or a literal
unspecified IP address, as in ":80", "0.0.0.0:80" or "[::]:80" for TCP
and UDP, "", "0.0.0.0" or "::" for IP, the local system is assumed.`
One additional thing I noticed is that while `WOODPECKER_SERVER_ADDR`
and `WOODPECKER_SERVER_ADDR` use the default value format of `:PORT`,
`WOODPECKER_SERVER` actually uses `localhost:9000`. I guess it makes a
bit of sense, considering the server might not be local to the agent,
but it looks a bit inconsistent this way. I don't think it would hurt to
make the `WOODPECKER_HEALTHCHECK_ADDR` in this format too, but then it's
different from the server flags again... :-)
2022-11-19 13:06:51 +02:00
Josh Soref
12cbe15de0
Fix spelling: gitlab ( #1411 )
...
This is most of the GitLab changes that I dropped from #1405 .
As before, I'm happy to adjust things...
<details><summary>Problematic Changes</summary>
Fwiw, this is the part that causes the tests to break (I don't
understand why, but I'm leaving this change out):
```patch
commit 703cbe3ed398bf32535120ead733b80aa145c8db
Author: Josh Soref <2119212+jsoref@users.noreply.github.com>
Date: Tue Nov 8 17:09:06 2022 -0500
event?! -- this seems broken
diff --git a/server/forge/gitlab/testdata/hooks.go b/server/forge/gitlab/testdata/hooks.go
index 7d39306..e394afc 100644
--- a/server/forge/gitlab/testdata/hooks.go
+++ b/server/forge/gitlab/testdata/hooks.go
@@ -27,7 +27,7 @@ var (
ServiceHookHeaders = http.Header{
"Content-Type": []string{"application/json"},
"User-Agent": []string{"GitLab/14.3.0"},
- "X-Gitlab-Event": []string{"Service Hook"},
+ "X-GitLab-Event": []string{"Service Hook"},
}
)
diff --git a/shared/token/token.go b/shared/token/token.go
index 3f15537..191e5ee 100644
--- a/shared/token/token.go
+++ b/shared/token/token.go
@@ -64,7 +64,7 @@ func ParseRequest(r *http.Request, fn SecretFunc) (*Token, error) {
return parse(bearer, fn)
}
- token = r.Header.Get("X-Gitlab-Token")
+ token = r.Header.Get("X-GitLab-Token")
if len(token) != 0 {
return parse(token, fn)
}
```
</details>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2022-11-09 17:16:17 +01:00
Josh Soref
023d03dd61
Spelling ( #1405 )
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-09 08:12:17 +01:00
qwerty287
3372d1a87c
Rename remote
to forge
( #1357 )
...
As of #745
Co-authored-by: Anbraten <anton@ju60.de>
2022-11-05 00:35:06 +01:00
Harikesh00
36e42914fa
Renamed procs/jobs to steps in code ( #1331 )
...
Renamed `procs` to `steps` in code for the issue #1288
Co-authored-by: Harikesh Prajapati <harikesh.prajapati@druva.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2022-10-28 17:38:53 +02:00
qwerty287
849e05bb8b
Rename build
to pipeline
in code ( #1224 )
...
Ref: #745
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: 6543 <6543@obermui.de>
2022-10-18 03:24:12 +02:00
Avinil Bedarkar
493ec45be6
Return return 404 if registry to delete do not exist ( #1278 )
...
Closes #524
Co-authored-by: 6543 <6543@obermui.de>
2022-10-18 01:48:04 +02:00
qwerty287
896746a91a
Remove old CLI docs generation code ( #1196 )
...
Removes code that's not longer required because we use a newer version
of urfave/cli.
Co-authored-by: 6543 <6543@obermui.de>
2022-09-25 14:36:31 +02:00
qwerty287
d28080a9eb
Make healthcheck port configurable ( #1197 )
...
Closes https://github.com/woodpecker-ci/woodpecker/issues/1193
Co-authored-by: 6543 <6543@obermui.de>
2022-09-19 00:07:37 +02:00
Anbraten
3b0263442a
Adding initial version of Kubernetes backend ( #552 )
...
Co-authored-by: laszlocph <laszlo@laszlo.cloud>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Rynoxx <rynoxx@grid-servers.net>
2022-09-05 06:01:14 +02:00
Anbraten
dbbd369c9a
Migrate to certmagic ( #360 )
...
closes #219
closes #850
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2022-09-04 03:24:42 +02:00
Anbraten
5ca7ede9e4
Improve logging ( #1158 )
...
* switch default log level to info add start message and cleanup server start
* refactor code
* fix agent debug / trace logging
2022-09-03 20:41:23 +02:00
6543
c79d49c862
Delete old fallbacks and compatible stuff ( #791 )
...
Drop ...
* ... DRONE_ and deprecated pipeline environment vars
* ... deprecated sqlite3 file path
2022-09-01 14:31:12 +02:00
6543
18c1807f4f
Create mock for store and add unit tests for cron ( #1146 )
...
* pass remote on init as argument like store
* mock store
* TestCreateBuild
2022-09-01 01:19:49 +02:00
6543
383f273392
Add cron feature ( #934 )
...
https://woodpecker-ci.org/docs/usage/cron
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
2022-09-01 00:36:32 +02:00
vanous
b7957c53aa
Fix filter cli attribute name ( #1103 )
...
Co-authored-by: Anbraten <anton@ju60.de>
2022-08-14 09:48:52 +02:00
Lauris BH
19dfc331f4
Add method to check organization membership ( #1037 )
...
* Add remote method to check organization membership
* Use named return parameters in interface
* Add membership check service
* Update Gitea SDK
2022-07-25 03:09:35 +02:00
Anbraten
cc30db44ac
Use asym key to sign webhooks ( #916 )
...
* use async key pair for webhooks
* fix tests
* fix linter
* improve code
* add key pair to database
* undo some changes
* more undo
* improve docs
* add api-endpoint
* add signaturne api endpoint
* fix error
* fix linting and test
* fix lint
* add test
* migration 006
* no need for migration
* replace httsign lib
* fix lint
Co-authored-by: 6543 <6543@obermui.de>
2022-06-01 20:06:27 +02:00
Anbraten
e79ad00826
Add agent tagging / filtering for pipelines ( #902 )
...
Officially support labels for pipelines and agents to improve pipeline picking.
* add pipeline labels
* update, improve docs and add migration
* update proto file
---
closes #304 & #860
2022-05-31 01:12:18 +02:00
Anbraten
0b2b776ed8
Remove senders model ( #923 )
...
* remove senders
* drop table
2022-05-17 21:27:44 +02:00
qwerty287
6568751320
Allow to change forge status messages ( #900 )
...
Allow to change the status message via template option
Closes https://github.com/woodpecker-ci/woodpecker/issues/855
2022-05-12 19:07:33 +02:00
Zav Shotan
7313de2b1d
Add support for superseding runs ( #831 )
...
closes #11
Added support:
1. Environment variable `WOODPECKER_DELETE_MULTIPLE_RUNS_ON_EVENTS` (Default pull_request, push)
2. Builds will be marked as killed when they "override" another build
2022-05-09 11:26:09 +02:00
John Olheiser
517be0394c
Initial version of CLI docs ( #886 )
...
Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: Anbraten <anton@ju60.de>
2022-04-19 14:24:24 +02:00
6543
58303dd2a7
Move value of default clone image into shared constant package ( #873 )
2022-04-06 15:30:49 +02:00
qwerty287
eb6d69e1fd
Use Gogs' try instance as default value ( #852 )
2022-03-27 04:05:56 +02:00
Anbraten
e178b7b4b2
Improve agent backend loading and suppress expectable errors ( #818 )
...
* improve agent loop loading backend once
* supress container not found or stopped warnings
2022-03-08 16:21:43 +01:00
Lukas Bachschwell
c16d42f81e
Add missing flag and docs ( #825 )
...
* Add missing flag and docs
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
Co-authored-by: Anbraten <anton@ju60.de>
2022-03-02 16:49:00 +01:00
Lukas Bachschwell
09e6460f95
Allow loading sensitive flags from files ( #815 )
...
With systems like docker swarm or docker compose it is usually a little awkward to manage secrets.
There is no way to directly inject them into the environment config. So you often have to write your secrets directly into the compose file
There are hacky workarounds such as overriding the entry-point of the container and loading a script which then fetches secrets from /run/secrets and replaces the environment variables, but this becomes very difficult once we are using docker images built from "scratch" (which is a really great practice otherwise) as there is no shell or standard tooling available
This adds a *_FILE variant of their Environment config values to work around this issue.
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
2022-03-01 16:09:33 +01:00
Lukas Bachschwell
59ba8538a1
Add support for pipeline configuration service ( #804 )
...
* Add configuration extension flags to server
Add httpsignatures dependency
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Add http fetching to config fetcher
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Refetch config on rebuild
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* - Ensure multipipeline compatiblity
- Send original config in http request
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Basic tests of config api
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Simple docs page
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Better flag naming
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Rename usages of the term yaml
Rename ConfigAPI struct
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Doc adjustments
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* More docs touchups
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Fix env vars in docs
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* fix json tags for api calls
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Add example config service
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Consistent naming for configService
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Docs: Change example repository location
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Fix tests after response field rename
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Revert accidential unrelated change in api hook
Signed-off-by: Lukas Bachschwell <lukas@lbsfilm.at>
* Update server flag descriptions
Co-authored-by: Anbraten <anton@ju60.de>
Co-authored-by: Anbraten <anton@ju60.de>
2022-02-28 10:56:23 +01:00
6543
a3ac393264
Use shared func for registering Sigterm on a context ( #799 )
2022-02-28 09:27:31 +01:00
Anbraten
52d8097290
Get Netrc machine from clone url ( #800 )
...
We previously got the machine hostname for Netrc from the url of the remote, but in cases where the clone-url does not match the api url this can lead to errors.
2022-02-26 02:54:15 +01:00
6543
c4960cdd2c
Ignore items from WOODPECKER_ENVIRONMENT only containing a key and no value ( #781 )
...
* fix 761
* refactor: rename to match what it does & log ignore case
2022-02-23 08:59:52 +01:00
Zav Shotan
905350fa15
Add support for default clone image environment variable ( #769 )
...
This allows for custom clone images for deployment in air-gap systems.
Co-authored-by: Zav Shotan <zshotan@bloomberg.net>
2022-02-10 17:05:19 +01:00
Zav Shotan
f16525fae5
Add flag to always authenticate when cloning public repositories ( #760 )
...
As a developer using an custom git server (e.g. Github Enterprise) I would like to be able to authenticate
the user on repositories which are marked as public.
See issue: https://github.com/woodpecker-ci/woodpecker/issues/473
Ref: https://github.com/woodpecker-ci/woodpecker/pull/693#issuecomment-1025771162
2022-02-08 17:55:08 +01:00
KN4CK3R
5f79739bc0
Add documentation of all server configuration options ( #666 )
...
* Added documentation of all configuration options.
* sort some flags
* adjust config docs to current flags
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Anton Bracke <anton@ju60.de>
2022-02-06 21:21:57 +01:00
Anbraten
6af94d79e3
Remove unused flags / options ( #693 )
...
Some flags where unused and / or unnecessary as they are covered by alternatives implemented in PRs of milestone 0.15.0 and just complicated the setup.
closes #681
2022-01-31 15:38:00 +01:00
6543
edbf6a3ba9
Allow to change status context again ( #674 )
...
* use flag value
* fix test
* sed -i 's/STATUS_CONTEXT/WOODPECKER_STATUS_CONTEXT/g'
* docs
* Update docs/docs/91-migrations.md
Co-authored-by: Anbraten <anton@ju60.de>
2022-01-29 20:37:36 +01:00
6543
b6e47a3f4a
Update deps ( #724 )
...
* update github.com/containerd/containerd v1.5.7 -> v1.5.9
* update github.com/lib/pq v1.10.3 -> v1.10.4
* update github.com/prometheus/client_golang v1.11.0 -> v1.12.0
* update github.com/rs/zerolog v1.25.0 -> v1.26.1
* update golang.org/x/crypto 2021-12-15 -> 2022-01-28
2022-01-29 16:04:50 +01:00
Anbraten
50570cba5c
Automatically determine platform of agent ( #690 )
...
* Automatically determine platform of agent
* add migration hint
* cleanup docs a bit
2022-01-17 15:19:30 +01:00
6543
2f91bdd4a0
gofumpt -w -l -extra . ( #661 )
2022-01-05 21:50:23 +01:00
6543
dec0eeeed7
Use global branch filter only on events containing branch info ( #659 )
...
- close #581
- delete unused code
- simplify code
- add check to procBuilder to fail on invalid config
2022-01-05 17:54:44 +01:00
6543
e8807c5e53
Add "woodpeckerci/plugin-docker-buildx" to privileged plugins ( #623 )
...
* refactor global const in own package
* add "woodpeckerci/plugin-docker-buildx" to privileged plugins
* add woodpeckerci/plugin-docker
2021-12-19 12:46:36 +01:00
6543
ef597eca0c
Add flag for not fetching permissions (FlatPermissions) ( #491 ) ( #625 )
...
Co-authored-by: Alex Eftimie <alex.eftimie@getyourguide.com>
2021-12-19 12:04:29 +01:00
Anbraten
3bee9044f1
Add flag to set oauth redirect host in dev mode ( #586 )
2021-12-13 20:22:09 +01:00
Anbraten
33a657103e
hide gin output from normal starts ( #603 )
2021-12-12 22:49:30 +01:00
6543
4cbdacb21c
Nits Collected over last month ( #595 )
...
- add coverage.out
- add context queue
- fix misspell
- sanitize config: WOODPECKER_GITEA_URL
- storage backend migration should have no xorm session within migration function
2021-12-11 13:15:04 +01:00
6543
f1e2f3dcad
Add log-level option to cli ( #584 )
...
* add log-level option to cli
* use app.Before
* rm not needed
2021-12-10 21:49:22 +01:00
6543
4ea00f0035
Make cancel pipeline work again ( #585 )
...
* logger: on level debug or trace add caller to logs
* more logging
* fix cancel bug
* ignore error if occur for queue cancel
2021-12-08 23:40:00 +01:00
Lukas
680d003a29
Add linter revive ( #554 )
...
* Add linter revive
* Add underscore to variable name to prevent shadowing
* Remove unnecessary leading underscore
* Revert changes to vendor file
* export ConfigFetcher as interface
* no 'yoda conditions'
* rename envsubst
Co-authored-by: 6543 <6543@obermui.de>
2021-12-01 14:22:06 +01:00
6543
88236d8d59
godotenv use autoload everywhere ( #548 )
2021-11-27 03:01:06 +01:00
6543
5e6b38e0e7
Server obtain remote from glob config not from context ( #540 )
2021-11-26 13:01:54 +01:00
6543
8b476e7722
Simplify web router code ( #541 )
2021-11-26 09:50:56 +01:00
Anbraten
c1a8884d62
Add backend selection for agent ( #463 )
...
- add backend selection option
- by default it will auto-detect a backend
2021-11-26 03:34:48 +01:00
6543
ff8ad5bb83
Fix registry delete ( #532 )
...
- Make make it possible to delete `"§4fda`
- Reject non urls for registry-address
- Fix #520
2021-11-25 19:04:36 +01:00
Lukas
fac0e16996
Add linter staticcheck ( #535 )
...
* Add linter staticcheck
Co-authored-by: 6543 <6543@obermui.de>
2021-11-25 17:15:36 +01:00
Lukas
116c310820
Add linter misspell ( #530 )
...
* Add linter misspell
* Fix spelling
Co-authored-by: Anbraten <anton@ju60.de>
2021-11-24 02:01:12 +01:00
Lukas
25bf91bd37
Add linter whitespace ( #531 )
2021-11-24 01:31:11 +01:00
6543
fe31fb1e06
Drop error only on purpose or else report back or log ( #514 )
...
- Remove Deadcode
- Simplify Code
- Drop error only on purpose
2021-11-23 15:36:52 +01:00
6543
51617e7f86
Rename struct field and add new types into server/model's ( #523 )
...
Resolve some todos in server/model:
* Move persistent queue into its own package
* Create Types: StatusValue, SCMKind, RepoVisibly
* Rename struct Repo fields: SCMKind, IsSCMPrivate
2021-11-22 12:55:13 +01:00
6543
ca8e215cfa
Migrate to Xorm ( #474 )
...
close #234
* Migrate store
* Migrate tests
* Rewrite migrations
* Init fresh DB in on step
* Rm old stuff (meddler, sql files, dead code, ...)
2021-11-13 20:18:06 +01:00
6543
f02789c74a
Fix bug where db file is posible moved outside of docker volume ( #496 )
...
#494 introduced a bug, where a migration function can remove the sqlite3 file outside of the mounted docker volume.
that would result in a data lose after a container recreate.
this fix it by only rename the file if in same folder else just use the old path as fallback and put warnings into the log
Co-authored-by: Anbraten <anton@ju60.de>
2021-10-30 14:53:24 +02:00
Anbraten
06800cb61e
Change paths to use woodpecker instead of drone ( #494 )
...
* change paths to use woodpecker instead of drone
* improve sql file migration
* add migration notice
2021-10-28 14:02:43 -05:00
6543
798c2bc8b2
Upgrade urfave/cli to v2 ( #483 )
...
* migrate urfave/ci v1 -> v2
* refactor cli (format flag)
* log error if agent can not listen on port 3000
close #452
2021-10-27 21:03:14 +02:00
6543
5990d32fd3
More logging and refactor ( #457 )
...
* only use "context"
* enable 'h2' support at server
* trace log remote and database config
* log loglevel on start
2021-10-19 11:44:49 +02:00
John Olheiser
8e658c135d
Add log level API ( #444 )
...
* Add log level API
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Update cli/loglevel/loglevel.go
Co-authored-by: Anbraten <anton@ju60.de>
* Move API to api routes
Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: Anbraten <anton@ju60.de>
2021-10-18 18:25:20 -05:00
John Olheiser
03bb0e69d8
Replace debug with log-level flag ( #440 )
...
* Add logging level to CLI and API
Signed-off-by: jolheiser <john.olheiser@gmail.com>
# Conflicts:
# server/router/router.go
* Apply suggestions from code review
Co-authored-by: Anbraten <anton@ju60.de>
* Refactor log level
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Remove API
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Fix API imports
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* do not relay on external default
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Anbraten <anton@ju60.de>
2021-10-16 17:41:36 -05:00
Anbraten
4cc8594b63
Update links to woodpecker-ci.org ( #445 )
2021-10-14 18:13:57 +02:00
John Olheiser
12db87f8e6
Change prometheus namespace to woodpecker ( #439 )
...
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2021-10-13 08:34:57 +02:00
Anbraten
f779860ff1
Add web-config.js endpoint ( #433 )
...
This is a preparation for #245 and adds a new endpoint (`.js``file) which can be included by the web-ui to get some config and credentials like the user profile or access-token.
2021-10-12 18:21:13 +02:00
Anbraten
3d6bc43ff1
Remove unused repo-config option ( #432 )
2021-10-12 12:00:03 +02:00
John Olheiser
4276a04f0c
Move entirely to zerolog ( #426 )
...
Completely switch to zerolog
(Remove usage of logrus and std logger)
Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
2021-10-12 09:25:13 +02:00
Masaya Watanabe
7913d6db95
Fix channel buffer used with signal.Notify ( #421 )
...
Co-authored-by: Anbraten <anton@ju60.de>
2021-10-09 03:14:25 +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
bb37836600
Replace drone strings with woodpecker ( #391 )
...
Co-authored-by: 6543 <6543@obermui.de>
2021-10-02 10:59:34 +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
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
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
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
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
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
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
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
Anbraten
289f0c9ad6
Change pipeline config path resolution ( #299 )
...
# Config resolution
- pipeline-config setting empty / not specified (default): `.woodpecker/` => `.woodpecker.yml` => `.drone.yml`
- pipeline-config setting defined by user: try that file / folder and no fallback (if a user sets some special value that is normally done for some reason)
# Changes
- pipeline-config setting will be empty by default
- remove fallback setting for config loading (simplifies config)
---
closes #133
---
* adjust config fetching mechanism
* default path empty
* remove fallback flag from ui and db
2021-09-17 21:40:43 +02:00
6543
d59fdb4602
[CI] Fix docs deploy & links ( #301 )
...
* set git commiter
* update links to docu
* fix image link
2021-09-11 18:48:52 +02:00
Matthias Fulz
cf19b41ad4
Add flag for specific grpc server addr ( #295 )
...
Adding flag to server for setting up listen addr of grpc:
--grpc-addr / $WOODPECKER_GRPC_ADDR
2021-09-09 18:34:29 +02:00
Anbraten
1a67fc6e99
Use server-host as source for public links and warn if it is set to localhost ( #251 )
...
* Use server-host as source for public links
* use config and rm GetURL()
* fix: solve import cycle
Co-authored-by: 6543 <6543@obermui.de>
2021-08-20 16:32:52 +02:00
6543
70958acc44
update / remove drone dependencies ( #236 )
...
* include github.com/drone/signal
* update github.com/drone/envsubst
* move github.com/woodpecker-ci/expr to woodpecker org
2021-06-30 19:15:28 +02:00
6543
bfc4aa8059
Enforce code format ( #228 )
...
* format .drone.yml & go code
* improve .editorconfig
* extend Makefile
* enforce go code format
* fix space
* update deps
* clean up
2021-06-22 12:34:35 +02:00
techknowlogick
77e046b47f
Add OAuth2 Support for Gitea Remote ( #226 )
...
* add oauth support for Gitea
* go fmt
* cli flags
2021-06-17 09:02:44 +02:00
Marian Steinbach
16bdc9fe12
Move flag definitions into extra files ( #215 )
2021-05-31 14:35:47 +02:00
Marian Steinbach
3d083ec058
Remove unused code in server ( #213 )
2021-05-31 14:34:00 +02:00
Marian Steinbach
8f76192b77
Show all env var names in log messages ( #208 )
2021-05-31 13:28:24 +02:00
Alex Eftimie
a3a361ad10
Update setup.go
2021-05-27 07:27:13 +02:00
Alex Eftimie
943a308afe
Allow configuring the URL to user documentation
2021-05-27 06:58:30 +02:00
Laszlo Fogas
c7ebd68232
Relaced laszlocph/woodpecker with woodpecker-ci/woodpecker
2021-05-25 14:08:27 +02:00
Laszlo Fogas
5ea7098569
Go 1.16, go fmt, go modules update
2021-02-19 09:43:03 +01:00
Jens
25e403e434
Add WOODPECKER_ vars to agent
2020-08-26 13:54:25 +00:00
Jens
6137045247
Add WOODPECKER_ variables
2020-08-26 13:40:26 +00:00
Jens Heinrich
aaf80259d3
Update server.go
...
Reference both possible values to make debugging easier
2020-08-04 18:03:15 +02:00
Laszlo Fogas
6feae313ec
Merge pull request #120 from imduffy15/docker-config-secrets
...
Add global registry from docker config file on woodpecker server
2020-05-20 08:43:11 +02:00
Laszlo Fogas
14636cc226
Merge pull request #119 from imduffy15/owner-filter
...
Add whitelist for syncable owners
2020-05-20 06:53:24 +02:00
Ian
de010dfb39
Add global registry from docker config file on woodpecker server
2020-05-19 13:44:16 +01:00
Laszlo Fogas
1444b06a7e
Merge pull request #118 from imduffy15/global-envs
...
Add support for a global env from a server flag
2020-05-19 14:26:33 +02:00
Laszlo Fogas
a9ee3c2296
Merge pull request #116 from imduffy15/secure-grpc
...
Allow the agent to connect to a secure grpc endpoint
2020-05-19 13:53:07 +02:00
Ian
0d90789422
Add whitelist for syncable owners
2020-05-18 16:58:59 +01:00
Ian
070f6ea49c
Add support for a global env from a server flag
2020-05-18 16:48:31 +01:00
Ian
a11db91e49
Upgrade dependencies
2020-05-18 16:41:15 +01:00
Ian
c26b722736
Allow the agent to connect to a secure grpc endpoint
...
Add flags to allow the agent to connect to a secure grpc endpoint.
This can be done by placing nginx in front of the drone-server or updating the
code to accept tls servers for the grpc server.
2020-05-18 15:49:38 +01:00
Laszlo Fogas
16765d939d
Compile error
2019-11-12 21:49:38 +01:00
Laszlo Fogas
8dee34878d
Version is now a string coming from ldlags and git tags
2019-11-12 21:10:16 +01:00
Laszlo Fogas
630c383181
Project is renamed to Woodpecker
2019-08-27 13:07:19 +02:00
Laszlo Fogas
f0c641fa9d
Exposing waiting job count as metric
2019-07-10 10:00:38 +02:00
Laszlo Fogas
1d564e978f
More prometheus metrics, refactoring
2019-06-28 14:28:41 +02:00
Laszlo Fogas
f25317599a
Unlimited
2019-06-01 09:45:20 +02:00
Laszlo Fogas
16d68eddbf
Was throwing: currval of sequence builds_build_id_seq is not yet defined in this session
2019-05-30 14:06:49 +02:00
Laszlo Fogas
f65c4993c1
Fixes
2019-05-30 12:15:29 +02:00
Laszlo Fogas
5dc9f7dc83
Reimlemented metrics
2019-05-30 11:11:14 +02:00
Laszlo Fogas
a4541ac901
Pull in cncd/* for simpler workflow
2019-04-06 15:44:04 +02:00
Laszlo Fogas
ca5817ffc2
Renamed package
2019-04-04 20:51:20 +02:00
Brad Rydzewski
6a651f1e39
move vault params to extras
2018-05-01 21:05:30 -07:00
Matt Leung
187d1d65bb
add additional opt to set v.auth
2018-04-27 14:50:47 -07:00
Matt Leung
79428aa231
Enable Vault auth through kubernetes auth method
...
Added a feature to obtain the initial Vault token from the Kubernetes
auth method.
This works by making a request to the Vault server at the specified auth
method mount point's login path and presenting the JWT located in a file
on a running pod, along with the Kubernetes role to authenticate as.
Vault will then respond with a token and its TTL, if the request is valid.
2018-04-24 14:56:28 -07:00
Brad Rydzewski
897eb95bcd
Merge pull request #2369 from JonasFranzDEV/master
...
Add context to Gitea status
2018-03-30 09:32:09 -07:00
Thomas Boerger
06ff6b50ed
Use specific token for prometheus metrics
2018-03-27 22:22:19 +02:00
Thomas Boerger
7f49e69607
Just fixed format with go fmt ./...
2018-03-21 14:02:17 +01:00
Jonas Franz
6a32935011
Add context to gitea status
...
Signed-off-by: Jonas Franz <info@jonasfranz.software>
2018-03-10 20:11:34 +01:00
Brad Rydzewski
580fe9abb7
add apache license header to files
2018-02-19 14:24:10 -08:00
Brad Rydzewski
ce740a635e
Merge pull request #2295 from jmccann/keepalive_server
...
Allow setting MinTime for keepalive enforcement on server
2018-02-19 13:36:13 -08:00
Brad Rydzewski
909053ba5b
Merge pull request #2244 from appleboy/fix2
...
Fix drone filter func
2018-02-19 13:01:05 -08:00
Tony Li
9651a8043e
add usage for cpu-set
2018-02-13 10:41:36 -08:00
Tony Li
84954e2d20
fix verbage
2018-01-30 13:30:06 -05:00
Tony Li
0a6666b4bf
update server-agent usage
2018-01-30 13:28:17 -05:00
Tony Li
22522bfe44
update server usages
2018-01-30 13:28:07 -05:00
Tony Li
625ef44f55
make same
2018-01-29 19:21:46 -05:00
Tony Li
73914fdbd5
update server cli usage
2018-01-29 19:21:32 -05:00
Tony Li
e1a695bd04
update agent cli usage
2018-01-29 19:00:14 -05:00
Jacob McCann
8295166ca4
Update usage for keepalive-min-time
2018-01-24 08:41:11 -06:00
jhernandezb
546e0bad00
Fix autocert generation
2018-01-18 10:33:41 -06:00
Brad Rydzewski
4db23fae05
Merge pull request #2301 from jhernandezb/feature/acme-http-01
...
migrate to http-01 challenge
2018-01-15 17:00:25 -08:00
jhernandezb
32e80eca20
lets encrypt: migrate to http-01 challenge
2018-01-12 22:54:49 -06:00
Jacob McCann
36f99c9a3f
Add explicit default for DRONE_KEEPALIVE_TIMEOUT
2018-01-10 13:39:40 -06:00
Jacob McCann
6eb9af01c6
Allow setting MinTime for keepalive enforcement on server
...
This allows setting agent keepalive Time at value < 5m
2018-01-08 14:46:44 -06:00
Jacob McCann
164fd0ad3f
Update keepalive config to use DurationFlag
2018-01-08 12:47:08 -06:00
Jacob McCann
06fa27d937
Add keepalive to agents
2018-01-08 09:28:38 -06:00
Jesse Lang
b339532e0c
Fix DRONE_HOST check
2017-12-20 06:49:02 -06:00
Jesse Lang
453f415cc4
Validate DRONE_HOST to ensure it contains a scheme and not a trailing slash
2017-12-19 20:08:55 -06:00
Mark Spicer
8476c90bbf
Set the redirect handler for lets encrypt.
...
This commit sets the http handler to the redirect function for let's encrypt
enabled drone instances. In addition, the `Strict-Transport-Security` header is
added to the redirect given `header.Secure` will only be added for gin routes.
This commit resolves #2261 .
2017-11-15 23:27:57 -05:00
Mark Spicer
238e916fa0
Redirect HTTP to HTTPS when SSL is enabled.
...
In our current drone setup, we are not using a proxy, thus letting drone handle
SSL termination. In addition, we are not exposing port 80 (effectively disabling
insecure drone access). When new engineers join and attempt to access drone,
they are not sent a 301 and often complain that they either do not have access
or that drone is broken (when in reality they are just accessing drone via the
incorrect protocol/port).
This commit changes the default behavior when running drone with a server-cert
by only sending redirects on port 80 rather than allowing both secure and
insecure access.
2017-11-15 21:36:02 -05:00
Bo-Yi Wu
7c1b1c6d95
fix wrong filter variable.
...
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2017-10-17 16:52:35 +08:00
Brad Rydzewski
ec6016062b
show loading status in user interface
2017-09-20 12:29:57 -07:00
Brad Rydzewski
ae51e9d1b9
force downgrade to http/1.1 because safari
2017-09-19 15:30:31 -07:00
Brad Rydzewski
8c7d48ebed
graceful shutdown on SIGTERM
2017-09-14 18:42:00 -07:00
Brad Rydzewski
2f2144c4bd
Merge remote-tracking branch 'origin/master'
2017-09-14 09:40:12 -07:00
Brad Rydzewski
63001a7c66
expose agent name to pipeline
2017-09-14 09:39:52 -07:00
Brad Rydzewski
bf454572f2
Merge pull request #2215 from bradrydzewski/master
...
add gitlab v3 option for backward compat
2017-09-14 07:57:53 -07:00
Brad Rydzewski
913d8701f2
add gitlab v3 option for backward compat
2017-09-14 07:50:07 -07:00
Matt Leung
820d07263b
Add server env var to specify .drone.yml location
...
Allow setting DRONE_REPO_CONFIG to override default location of .drone.yml
2017-09-12 17:06:12 -07:00
Brad Rydzewski
42b60bd822
more advanced health check logic
2017-09-12 13:40:24 -07:00
Brad Rydzewski
eca91f4ec7
provide a basic agent healthcheck
2017-09-12 11:25:55 -07:00
Brad Rydzewski
8795cf039f
reduce logfile upload limit
2017-09-12 09:03:32 -07:00
Brad Rydzewski
25c9b8050a
introduce limiter for planned refactoring
2017-09-11 10:22:45 -07:00
Matt Leung
b79dae403e
Let agent pass filter expression string for builds
...
Drone agent accepts DRONE_FILTER env var
2017-09-08 14:27:27 -07:00
Brad Rydzewski
e11dd116a2
Merge pull request #2155 from frebib/fix-repo-user
...
Fix extractRepositoryName() in agent logs
2017-08-23 15:44:10 -07:00
Joachim Hill-Grannec
c30198e412
Adding Environment variable to configure the session expiration
2017-08-17 12:50:31 -07:00
Joe Groocock
fbb9526a39
Fix extractRepositoryName() in agent logs
2017-08-10 15:55:58 +01:00
Brad Rydzewski
9a5c2d5481
structured agent logging
2017-08-03 15:36:22 -04:00
Brad Rydzewski
60cd607450
capture file metadata
2017-08-02 16:04:00 -04:00
Brad Rydzewski
241d994a26
abstract the user interface
2017-07-31 15:15:05 -04:00
Brad Rydzewski
99b10537ba
enable redirect for http to https when certs provided
2017-07-26 10:44:38 -04:00
Brad Rydzewski
5e735c2632
improve experimental quic setup
2017-07-24 21:46:00 -04:00
Brad Rydzewski
2c8dbef79f
implement quic server
2017-07-24 19:15:25 -04:00
Brad Rydzewski
07c82aa1c6
Merge remote-tracking branch 'origin'
2017-07-24 13:23:47 -04:00
Brad Rydzewski
39251a85a9
removed unused and broken packages
2017-07-24 13:23:22 -04:00
mingshun
eb94dc0419
Added integration for coding.net
2017-07-22 17:12:09 +08:00
Brad Rydzewski
eaa6d41699
pass agent hostname to all rpc calls
2017-07-20 12:21:15 -04:00
Brad Rydzewski
250b048b22
pass agent hostname to server and persist
2017-07-19 17:46:03 -04:00
Brad Rydzewski
35e0ee2e5f
implement sync logic
2017-07-14 15:58:38 -04:00
Brad Rydzewski
f7066473c1
require DRONE_HOST on startup
2017-07-12 14:48:56 -04:00
Brad Rydzewski
a625f06c1a
enable grpc auth
2017-06-29 19:35:38 -04:00
Brad Rydzewski
1a6920e822
separate agent and server binary
2017-06-29 18:51:22 -04:00