\r\n \u003Clink rel=\"alternate icon\" type=\"image/png\" href=\"/favicons/favicon-light-default.png\" id=\"favicon-png\" />\r\n \u003Clink rel=\"icon\" type=\"image/svg+xml\" href=\"/favicons/favicon-light-default.svg\" id=\"favicon-svg\" />\r\n \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\r\n \u003Cmeta name=\"theme-color\" content=\"#65a30d\" />\r\n \u003Ctitle>Woodpecker\u003C/title>\r\n \u003Cscript type=\"\" src=\"/web-config.js\">\u003C/script>\r\n \u003Cscript type=\"module\" crossorigin src=\"/assets/index-4b7b57db.js\">\u003C/script>\r\n \u003Clink rel=\"stylesheet\" href=\"/assets/index-f123c06a.css\">\r\n \u003C/head>\r\n \u003Cbody>\r\n \u003Cdiv id=\"app\">\u003C/div>\r\n\r\n \u003C/body>\r\n\u003C/html>\r\n```\r\n\r\nThat is basically an \"empty\" page. Let's look at the response code:\r\n```\r\n$ curl -I http://localhost:8000/foo\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nThat should have returned 404.\r\n\r\nNow let's request a non-existent API endpoint:\r\n```\r\n$ curl -I http://localhost:8000/api/bar\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nSame thing.\r\n\r\nNow let's request a real API endpoint, for healthchecks:\r\n```\r\n$ curl http://localhost:8000/api/healthz\r\n\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"en\">\r\n # ...\r\n\u003C/html>\r\n\r\n$ curl -I http://localhost:8000/api/healthz\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nSame thing. Also, it should not return a page, only a REST response.\r\n\r\nClean up:\r\n```\r\n$ apk delete curl\r\n$ exit\r\n```\r\n\r\nSummary:\r\n- both existent and non-existent endpoints and pages respond with 200\r\n- that means the `/api/healthz` endpoint is not working: it's a \"proof of life\" rather than \"proof of health\"\r\n- and the health endpoint should only return a json REST response, not a page\r\n\r\n### System Info\r\n\r\n```shell\r\nversion next-45319b24-alpine\r\ndockerised\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\r\n- [X] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\r\n- [X] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\r\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2910,2911],{"name":2900,"color":2901},{"name":2883,"color":2884},1947,"All pages and API endpoints (including non-existent ones) return 200","2025-03-16T13:50:31Z","https://github.com/woodpecker-ci/woodpecker/issues/1947",0.77011204,{"description":2918,"labels":2919,"number":2921,"owner":2872,"repository":2873,"state":2922,"title":2923,"updated_at":2924,"url":2925,"score":2926},"See https://github.com/woodpecker-ci/woodpecker/pull/3079\n\nServices can't have names that steps have, also adding another step `clone` does not work.\n\nI think we can also disallow this but then we should add a linter for it.",[2920],{"name":2900,"color":2901},3109,"closed","Allow steps/services to have same name","2024-01-09T14:39:11Z","https://github.com/woodpecker-ci/woodpecker/issues/3109",0.70960796,{"description":2928,"labels":2929,"number":2937,"owner":2872,"repository":2873,"state":2922,"title":2938,"updated_at":2939,"url":2940,"score":2941},"1. provide sensible defaults\r\n2. configs should be intuitive and self explaining\r\n3. make sure to write generic func and split up big func into sub functions\r\n4. use packages for each topic ans if to big split asap in subtopics\r\n\r\n---\r\nhttps://github.com/woodpecker-ci/woodpecker/issues/1860#issuecomment-1590175406",[2930,2931,2934],{"name":2866,"color":2867},{"name":2932,"color":2933},"governance","A46EFE",{"name":2935,"color":2936},"good first issue","76ea72",1884,"Document key-priorieties for development","2023-08-08T07:28:13Z","https://github.com/woodpecker-ci/woodpecker/issues/1884",0.7397243,{"description":2943,"labels":2944,"number":2949,"owner":2872,"repository":2873,"state":2922,"title":2950,"updated_at":2951,"url":2952,"score":2953},"### Component\n\nserver\n\n### Describe the bug\n\nThe latest next version crashed after trying to access the web UI.\r\nSee the logs below.\r\n\r\nI have tested earlier versions of the server to see when this started failing.\r\nLast working version is next-fe489287fc.\r\nThe error occurs starting with version next-b949c190de\n\n### System Info\n\n```shell\nnext-a0f2ee9506\n```\n\n\n### Additional context\n\n```\r\n7:39AM INF woodpecker/src/github.com/woodpecker-ci/woodpecker/cmd/server/server.go:264 > Starting Woodpecker server with version 'next-a0f2ee9506'\r\n7:39AM DBG woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:59 > ip=127.0.0.1 latency=0.182634 method=GET path=/healthz status=204 user-agent=Go-http-client/1.1\r\n7:39AM DBG woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:59 > ip= latency=1.196291 method=GET path=/repos status=200 user-agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36\"\r\n7:39AM DBG woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:59 > ip= latency=1.33865 method=GET path=/web-config.js status=200 user-agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36\"\r\n7:39AM DBG woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:59 > ip= latency=4.786271 method=GET path=/api/user/repos status=200 user-agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36\"\r\n7:39AM DBG woodpecker/src/github.com/woodpecker-ci/woodpecker/server/api/stream.go:63 > user feed: connection opened\r\n7:39AM DBG woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:59 > ip= latency=9.65705 method=GET path=/api/user/feed status=200 user-agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36\"\r\n7:39AM DBG woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:59 > ip= latency=4.402508 method=GET path=/api/user/repos status=200 user-agent=\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36\"\r\npanic: runtime error: invalid memory address or nil pointer dereference\r\n[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xc76d3b]\r\n\r\ngoroutine 42 [running]:\r\ngithub.com/woodpecker-ci/woodpecker/server/logging.(*log).Write(0xc0005a40d0, {0x171cbe8, 0xc000608780}, 0xc000e1fd50?, 0xc00061ca00)\r\n /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/logging/log.go:91 +0xfb\r\ngithub.com/woodpecker-ci/woodpecker/server/grpc.(*RPC).Log.func1()\r\n /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/grpc/rpc.go:326 +0x30\r\ncreated by github.com/woodpecker-ci/woodpecker/server/grpc.(*RPC).Log in goroutine 94\r\n /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/grpc/rpc.go:324 +0x211\r\n```\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [X] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2945,2946],{"name":2900,"color":2901},{"name":2947,"color":2948},"regression","7E192B",2743,"Runtime panic with latest next version","2023-11-05T09:31:08Z","https://github.com/woodpecker-ci/woodpecker/issues/2743",0.739765,{"description":2955,"labels":2956,"number":2958,"owner":2872,"repository":2873,"state":2922,"title":2959,"updated_at":2960,"url":2961,"score":2962},"### Component\n\nserver, agent\n\n### Describe the bug\n\nI installed woodpecker next version on my kubernetes cluster in `ci` namespace and connect it to gitea. So far it is working, but I cannot run any pipeline. My agents give me the error:\r\n\r\n```\r\n{\"level\":\"info\",\"time\":\"2023-04-02T21:43:10Z\",\"message\":\"Starting Woodpecker agent with version 'next-ea95d5aa' and backend 'kubernetes' using platform 'linux/amd64' running up to 1 pipelines in parallel\"}\r\n{\"level\":\"error\",\"ID\":\"1\",\"Repo\":\"project/source\",\"Pipeline\":\"1\",\"error\":\"pods \\\"wp-01gx1yvm3dw62np4dmpjbqkq16-0-clone-0\\\" is forbidden: User \\\"system:serviceaccount:ci:woodpecker-agent\\\" cannot delete resource \\\"pods\\\" in API group \\\"\\\" in the namespace \\\"ci\\\"\",\"time\":\"2023-04-02T21:44:31Z\",\"message\":\"could not destroy engine\"}\r\n{\"level\":\"error\",\"error\":\"rpc error: code = Unknown desc = Step finished with exitcode 1, persistentvolumeclaims is forbidden: User \\\"system:serviceaccount:ci:woodpecker-agent\\\" cannot create resource \\\"persistentvolumeclaims\\\" in API group \\\"\\\" in the namespace \\\"ci\\\"\",\"time\":\"2023-04-02T21:44:31Z\",\"message\":\"grpc error: wait(): code: Unknown: rpc error: code = Unknown desc = Step finished with exitcode 1, persistentvolumeclaims is forbidden: User \\\"system:serviceaccount:ci:woodpecker-agent\\\" cannot create resource \\\"persistentvolumeclaims\\\" in API group \\\"\\\" in the namespace \\\"ci\\\"\"}\r\n{\"level\":\"warn\",\"repo\":\"project/source\",\"pipeline\":\"1\",\"id\":\"1\",\"error\":\"rpc error: code = Unknown desc = Step finished with exitcode 1, persistentvolumeclaims is forbidden: User \\\"system:serviceaccount:ci:woodpecker-agent\\\" cannot create resource \\\"persistentvolumeclaims\\\" in API group \\\"\\\" in the namespace \\\"ci\\\"\",\"time\":\"2023-04-02T21:44:31Z\",\"message\":\"cancel signal received\"}\r\n```\r\n\r\nThese are the values for my helm charts to install server and agent:\r\n\r\n**woodpecker/woodpecker-server**\r\n```\r\nimage:\r\n tag: \"next\"\r\npersistentVolume:\r\n storageClass: longhorn\r\nextraSecretNamesForEnvFrom:\r\n - woodpecker-secret\r\nenv:\r\n WOODPECKER_GITHUB: false\r\n WOODPECKER_GITEA: true\r\n WOODPECKER_GITEA_URL: https://git.domain.com\r\n WOODPECKER_HOST: https://ci.domain.com\r\n```\r\n\r\n**woodpecker/woodpecker-agent**\r\n```\r\nimage:\r\n tag: \"next\"\r\nextraSecretNamesForEnvFrom:\r\n - woodpecker-secret\r\nenv:\r\n WOODPECKER_SERVER: woodpecker-server.ci.svc.cluster.local:9000\r\n WOODPECKER_BACKEND: kubernetes\r\n```\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"next-ea95d5aa\"}\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [X] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2957],{"name":2900,"color":2901},1696,"exitcode 1 on agents when using kubernetes backend","2024-02-11T23:32:20Z","https://github.com/woodpecker-ci/woodpecker/issues/1696",0.742926,{"description":2964,"labels":2965,"number":2968,"owner":2872,"repository":2873,"state":2922,"title":2969,"updated_at":2970,"url":2971,"score":2972},"### Clear and concise description of the problem\n\nWhen I send notify, I want to include the pipeline name, e.g. the miniapp & app-server for below build\r\n\r\n\u003Cimg width=\"648\" alt=\"image\" src=\"https://user-images.githubusercontent.com/1777211/227702720-f1eac3e2-e404-4895-bff7-0d59d0308308.png\">\r\n\n\n### Suggested solution\n\nhow about `CI_PIPELINE_NAME`\n\n### Alternative\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Checked that the feature isn't part of the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [X] Check that there isn't already an [issue](https://github.com/woodpecker-ci/woodpecker/issues) that request the same feature to avoid creating a duplicate.",[2966,2967],{"name":2886,"color":2887},{"name":2935,"color":2936},1681,"env for pipeline name","2023-04-08T11:15:30Z","https://github.com/woodpecker-ci/woodpecker/issues/1681",0.7451791,{"description":2974,"labels":2975,"number":2977,"owner":2872,"repository":2873,"state":2922,"title":2978,"updated_at":2979,"url":2980,"score":2981},"As discussed in discord:\r\n\r\nThe document https://woodpecker-ci.org/docs/administration/server-config says: `If you want to make available a specific private registry to all pipelines, use the WOODPECKER_DOCKER_CONFIG server configuration. Point it to your server's docker config. Example: WOODPECKER_DOCKER_CONFIG=/home/user/.docker/config.json`\r\n\r\nIt's not easy to understand how WOODPECKER_DOCKER_CONFIG works and what affect it would bring, the path is unclear about where the config file should be put (on the host or in the docker). It's better to use a real example to demo the real usage.\r\n\r\nFurther more, if users want to setup a docker-in-docker (dind) system (which is more secure, isolate the host's docker), the problem becomes more complex: woodpecker agent container need to access the dind daemon to start pipeline containers, and the pipeline containers also need to access the dind daemon to do `docker build/push`, they all need correct `DOCKER_HOST` and `DOCKER_CONFIG` settings.",[2976],{"name":2866,"color":2867},720,"Document about `WOODPECKER_DOCKER_CONFIG`","2023-03-21T00:32:22Z","https://github.com/woodpecker-ci/woodpecker/issues/720",0.751509,["Reactive",2983],{},["Set"],["ShallowReactive",2986],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fqgn1yG365NB_1PPuA1fb35gdPtZhwO4E6Mv39jiy5Yg":-1},"/woodpecker-ci/woodpecker/1322"]