\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).",[2887,2890],{"name":2888,"color":2889},"bug","d73a4a",{"name":2857,"color":2858},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.72402704,{"description":2897,"labels":2898,"number":2905,"owner":2866,"repository":2867,"state":2868,"title":2906,"updated_at":2907,"url":2908,"score":2909},"https://github.com/woodpecker-ci/woodpecker/blob/4456da99c56437ef49c799a047ad3518023e6ce3/pipeline/rpc/peer.go#L54",[2899,2902],{"name":2900,"color":2901},"documentation","7D625D",{"name":2903,"color":2904},"refactor","4f8cc9",3322,"Rename Interface to actully reflect what it is used for","2024-02-07T00:03:34Z","https://github.com/woodpecker-ci/woodpecker/issues/3322",0.7264758,{"description":2911,"labels":2912,"number":2918,"owner":2866,"repository":2867,"state":2868,"title":2919,"updated_at":2920,"url":2921,"score":2922},"### Clear and concise description of the problem\n\nThe \"Run pipeline\" button in the UI, which is triggered for `\"event: manual\"`, currently executes all existing pipeline definitions under `.woodpecker/`.\n\n### Suggested solution\n\nThe button could allow invoking specific pipelines only instead of starting all existing ones.\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/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 request the same feature to avoid creating a duplicate.",[2913,2914,2915],{"name":2857,"color":2858},{"name":2877,"color":2878},{"name":2916,"color":2917},"ux","fef2c0",2763,"Run pipeline: allow executing a single/specific pipeline if more than one pipeline definitions exist","2023-12-20T12:51:01Z","https://github.com/woodpecker-ci/woodpecker/issues/2763",0.73611706,{"description":2924,"labels":2925,"number":2928,"owner":2866,"repository":2867,"state":2868,"title":2929,"updated_at":2930,"url":2931,"score":2932},"Restarting PR pipelines after the PR was closed, or approving them and running them that way should be prevented.",[2926,2927],{"name":2857,"color":2858},{"name":2863,"color":2864},1759,"Prevent PR pipelines from running when PR got closed already","2023-08-20T16:37:21Z","https://github.com/woodpecker-ci/woodpecker/issues/1759",0.7516635,{"description":2934,"labels":2935,"number":2940,"owner":2866,"repository":2867,"state":2941,"title":2942,"updated_at":2943,"url":2944,"score":2945},"### Component\n\nagent\n\n### Describe the bug\n\nI have a workflow that specifies an entrypoint, during execution the following error is shown\r\n\r\n`Additional property entrypoint is not allowed`\n\n### System Info\n\n```shell\nWoodpecker 2.3.0, docker.io/woodpeckerci/woodpecker-agent:v2.3.0\n```\n\n\n### Additional context\n\nPipeline snippet\r\n\r\n```\r\ncache-baseimages:\r\n image: gcr.io/kaniko-project/warmer\r\n entrypoint:\r\n - /kaniko/warmer\r\n - --dockerfile=./Dockerfile\r\n```\n\n### Validations\n\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]",[2936,2937],{"name":2888,"color":2889},{"name":2938,"color":2939},"backend/kubernetes","bfdadc",3477,"closed","Overriding 'entrypoint' in kubernetes backend does not work","2024-05-02T12:52:03Z","https://github.com/woodpecker-ci/woodpecker/issues/3477",0.698068,{"description":2947,"labels":2948,"number":2951,"owner":2866,"repository":2867,"state":2941,"title":2952,"updated_at":2953,"url":2954,"score":2955},"### Component\n\nserver\n\n### Describe the bug\n\nAfter migration form 0.15.11 After migration from 0.15.11 during start of server, we get this error:\r\n\r\n```\r\nwodpecker-server_1 | {\"time\":\"2023-08-01T07:07:19Z\",\"message\":\"LogLevel = info\"}\r\nwoodpecker-server_1 | {\"level\":\"error\",\"error\":\"Migrating logs to log_entries is skipped, as we have 49180 entries to convert. Set 'WOODPECKER_MIGRATIONS_ALLOW_LONG' to 'true' to migrate anyway\",\"time\":\"2023-08-01T07:07:19Z\",\"message\":\"migration task 'migrate-logs-to-log_entries' failed but is not required\"}\r\nwoodpecker-server_1 | {\"level\":\"info\",\"time\":\"2023-08-01T07:07:19Z\",\"message\":\"Starting Woodpecker server with version '1.0.0'\"}\r\n\r\n```\r\nSetting WOODPECKER_MIGRATIONS_ALLOW_LONG to true does nothing. \r\n\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"1.0.0\"}\r\n\r\n\r\nversion: '3'\r\n\r\nservices:\r\n woodpeckerdb:\r\n image: postgres:14.5-alpine\r\n restart: always\r\n environment:\r\n POSTGRES_DB: xxxxx\r\n POSTGRES_USER: xxx\r\n POSTGRES_PASSWORD: xxx\r\n TZ: Europe/Zagreb\r\n volumes:\r\n - ./_data/db/postgres:/var/lib/postgresql/data\r\n \r\n woodpecker-server:\r\n #image: woodpeckerci/woodpecker-server:v0.15.11-alpine\r\n image: woodpeckerci/woodpecker-server:v1.0.0-alpine\r\n restart: always\r\n depends_on:\r\n - woodpeckerdb\r\n volumes:\r\n - ./_data/woodpecker:/var/lib/woodpecker\r\n environment:\r\n - WOODPECKER_OPEN=true\r\n - WOODPECKER_OPEN=true\r\n - WOODPECKER_HOST=https://ci.domain.local\r\n - WOODPECKER_AGENT_SECRET=xxxx\r\n - WOODPECKER_GITEA=true\r\n - WOODPECKER_GITEA_URL=https://gitea.domain.local\r\n - WOODPECKER_GITEA_CLIENT=085e34c6-a362-42d2-9344-d4ab5f556bb4\r\n - WOODPECKER_GITEA_SECRET=gto_53npywpjlwwp4planwetxa2ixqbjloh4rq37sl6dfwqqzlej547q\r\n - WOODPECKER_AUTHENTICATE_PUBLIC_REPOS=true\r\n - WOODPECKER_BACKEND_DOCKER_NETWORK=fronted_network\r\n - WOODPECKER_DATABASE_DRIVER=postgres\r\n - WOODPECKER_DATABASE_DATASOURCE=postgres://woodpecker:woodpecker@woodpeckerdb:5432/woodpeckerdb?sslmode=disable\r\n - WOODPECKER_MIGRATIONS_ALLOW_LONG=true\r\n```\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/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).",[2949,2950],{"name":2888,"color":2889},{"name":2857,"color":2858},2079,"After migration from 0.15.11 getting error \"error\":\"Migrating logs to log_entries is skipped, as we have 49180 entries to convert on app start","2023-08-21T07:29:47Z","https://github.com/woodpecker-ci/woodpecker/issues/2079",0.70558506,{"description":2957,"labels":2958,"number":2960,"owner":2866,"repository":2867,"state":2941,"title":2961,"updated_at":2962,"url":2963,"score":2964},"### Clear and concise description of the problem\n\nAllow for the pipeline to cache artifacts, much like what Travis CI allows you to do: https://docs.travis-ci.com/user/caching/\r\n\r\nThis is currently possible in Woodpecker, but only if using volumes. It would be pretty neat if volumes weren't required and Woodpecker could cache items without exposing security issues.\n\n### Suggested solution\n\nWhen the pipeline completes, save the indicated directories somewhere. Then, on subsequent runs of the pipeline, mount that directory automatically. Perhaps automatic volume creation?\n\n### Alternative\n\nThe current method is insecure and should not be available to untrusted users.\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 request the same feature to avoid creating a duplicate.",[2959],{"name":2877,"color":2878},758,"Allow caching artifacts without privileged containers and volumes","2023-08-20T20:32:08Z","https://github.com/woodpecker-ci/woodpecker/issues/758",0.7057697,{"description":2966,"labels":2967,"number":2969,"owner":2866,"repository":2867,"state":2941,"title":2970,"updated_at":2971,"url":2972,"score":2973},"### Clear and concise description of the problem\n\nIt seems like `index.html` hardcodes assets like this `/web-config.js`, etc.\r\n\r\nServing it under a path like `/ci` means that all URLs are broken.\r\n\r\nI didn't see anything in the documentation or existing issues about serving the web UI at a non-root (`/`) path.\n\n### Suggested solution\n\nPerhaps if `WOODPECKER_HOST` looks like this: `https://DOMAIN/ci`, then Woodpecker CI should infer the path from there and contructs its links correctly (adding a `/ci` prefix automatically).\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.",[2968],{"name":2877,"color":2878},1636,"Make serving under a subpath work","2023-04-29T15:51:52Z","https://github.com/woodpecker-ci/woodpecker/issues/1636",0.71590924,["Reactive",2975],{},["Set"],["ShallowReactive",2978],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f4SA95tnqAfKGXMyEcf8vsp3BJSHE4SArG7SoHhoktps":-1},"/woodpecker-ci/woodpecker/1883"]