\r\n\n\n### Steps to reproduce\n\n.\n\n### Expected behavior\n\n_No response_\n\n### System Info\n\n```shell\n\"next-d126cf9e35\"\n```\n\n\n### Additional context\n\n_No response_\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]",[2891,2894],{"name":2892,"color":2893},"bug","d73a4a",{"name":2866,"color":2867},4677,"`tag` pipelines are missing avatar and commit title","2025-01-12T06:19:42Z","https://github.com/woodpecker-ci/woodpecker/issues/4677",0.752709,{"description":2901,"labels":2902,"number":2907,"owner":2872,"repository":2873,"state":2874,"title":2908,"updated_at":2909,"url":2910,"score":2911},"### Component\n\nserver\n\n### Describe the bug\n\nError when enabling Gitea repository in Woodpecker CI:\n\n`could not create/update repo in store. error=\"pq: duplicate key value violates unique constraint \\\"UQE_repos_name\\\"\"`\n\nThere are no records with forge_id 0 in orgs table where we had similar problems\n\n### Steps to reproduce\n\n1. Press \"Enable\" in repository list\n2. Webhook is created\n3. Record in database can not be updated (possible tries to insert new one instead of updating?)\n\n### Expected behavior\n\n_No response_\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"3.3.0\"}\n```\n\n### Additional context\n\nPostgreSQL database, Gitea forge integration\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/versions]",[2903,2904],{"name":2892,"color":2893},{"name":2905,"color":2906},"server","5D7A92",4935,"Activating repository error that failed to activate becauce of UQE_repos_name constraint","2025-03-11T14:11:01Z","https://github.com/woodpecker-ci/woodpecker/issues/4935",0.75655484,{"description":2913,"labels":2914,"number":2916,"owner":2872,"repository":2873,"state":2874,"title":2917,"updated_at":2918,"url":2919,"score":2920},"### Component\n\nserver\n\n### Describe the bug\n\nRestarting a pipeline that failed due to missing secrets is not enough.\r\nI have seen it in a tag event.\r\n```\r\nsecret \"***\" not found or not allowed to be used\r\n```\r\nThen I added the secret and restarted the pipeline and the error changed to\r\n```\r\n[generic]\r\npipeline definition not found\r\n```\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"next-5a7e314f5a\"}\n```\n\n\n### Additional context\n\nMight be related to https://github.com/woodpecker-ci/woodpecker/issues/1678\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).",[2915],{"name":2892,"color":2893},2982,"Restarting a pipeline that failed due to missing secrets is not enough","2024-12-08T12:10:58Z","https://github.com/woodpecker-ci/woodpecker/issues/2982",0.7680625,{"description":2922,"labels":2923,"number":2926,"owner":2872,"repository":2873,"state":2874,"title":2927,"updated_at":2928,"url":2929,"score":2930},"https://ci.woodpecker-ci.org/repos/8987/pipeline/94/errors\r\n\r\nversion: current main",[2924,2925],{"name":2892,"color":2893},{"name":2905,"color":2906},4249,"[Bug] MultiForge: second forge can not be used","2024-10-25T17:33:00Z","https://github.com/woodpecker-ci/woodpecker/issues/4249",0.7696936,{"description":2932,"labels":2933,"number":2937,"owner":2872,"repository":2873,"state":2874,"title":2938,"updated_at":2939,"url":2940,"score":2941},"### Clear and concise description of the problem\n\nIt would be great to have a search form available at `/admin`. For instances with more users (e.g. codeberg), the paginated load becomes quite an issue when searching for a particular user/org/repository.\r\n\r\n\n\n### Suggested solution\n\nAdd a search functionality, similar as in https://ci.codeberg.org/repos.\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.",[2934,2935,2936],{"name":2905,"color":2906},{"name":2866,"color":2867},{"name":2869,"color":2870},3015,"Admin: Search functionality for users/repos/organizations","2023-12-27T07:56:01Z","https://github.com/woodpecker-ci/woodpecker/issues/3015",0.7697616,{"description":2943,"labels":2944,"number":2946,"owner":2872,"repository":2873,"state":2947,"title":2948,"updated_at":2949,"url":2950,"score":2951},"### Component\r\n\r\nagent\r\n\r\n### Describe the bug\r\n\r\nWhen having a backend error in the config, i.e. a malformed env var, the step and build are marked as successful even though they should be marked as \"failed\". \r\n\r\n\r\n\r\n\r\nk8s backend\r\n\r\n\r\n### System Info\r\n\r\n```shell\r\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"next-6ab9f802\"}\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).",[2945],{"name":2892,"color":2893},1871,"closed","Build is marked as \"successful\" although a backend error occurred","2025-01-10T21:25:48Z","https://github.com/woodpecker-ci/woodpecker/issues/1871",0.72542614,{"description":2953,"labels":2954,"number":2962,"owner":2872,"repository":2873,"state":2947,"title":2963,"updated_at":2964,"url":2965,"score":2966},"like the agent:\r\nhttps://github.com/woodpecker-ci/woodpecker/blob/205f8ecc1649ab48a9d5fb52b0ecd7b8c24abf4f/docker/Dockerfile.agent.multiarch#L21\r\n\r\nref https://docs.docker.com/engine/reference/builder/#healthcheck\r\n\r\nTODO:\r\n- [ ] add subcommand to server that can test against https://github.com/woodpecker-ci/woodpecker/blob/205f8ecc1649ab48a9d5fb52b0ecd7b8c24abf4f/server/router/router.go#L69\r\n- [ ] use subcommand in container",[2955,2956,2959],{"name":2905,"color":2906},{"name":2957,"color":2958},"feature","180DBE",{"name":2960,"color":2961},"good first issue","76ea72",1943,"Add an healthcheck to server container","2023-07-25T13:55:31Z","https://github.com/woodpecker-ci/woodpecker/issues/1943",0.7489758,{"description":2968,"labels":2969,"number":2974,"owner":2872,"repository":2873,"state":2947,"title":2975,"updated_at":2976,"url":2977,"score":2978},"### Clear and concise description of the problem\r\n\r\nI'm trying to run a container image build step in my pipeline that uses [buildah](https://quay.io/repository/buildah/stable?tab=info). I'm running into a lot of permission errors like this:\r\n\r\n```\r\ntime=\"2023-10-07T19:59:26Z\" level=error msg=\"writing \\\"0 0 4294967295\\\\n\\\" to /proc/17/uid_map: write /proc/17/uid_map: operation not permitted\"\r\ntime=\"2023-10-07T19:59:26Z\" level=error msg=\"(Unable to determine exit status)\"\r\n```\r\n\r\nAfter some experimentation with podman and buildah containers on my cluster, I have determined that I need to configure a few different settings at the Pod level for this to work:\r\n\r\n- `metadata.annotations`: I need to be able to set `container.apparmor.security.beta.kubernetes.io/\u003Ccontainer_name>` to use a custom apparmor profile for my buildah container. I would like to use the `WOODPECKER_BACKEND_K8S_POD_ANNOTATIONS` env variable, but since the container names are randomly generated I'm not sure how to make this work.\r\n- `spec.securityContext`: The only way I have found to make buildah work is to run it as non-root. This means that I need to set `runAsUser`, `runAsGroup`, and `fsGroup` on the Pod level `securityContext` (not the container level).\r\n\r\n### Suggested solution\r\n\r\nAdding support for `securityContext` seems like it should be fairly straightforward. We could just follow that same approach that is currently used for `resources`, `nodeSelector`, etc. [documented here](https://woodpecker-ci.org/docs/next/administration/backends/kubernetes#resources).\r\n\r\nThe AppArmor profile is trickier since the container name needs to be included in the annotation key. I'm imagining a configuration like `backend_options.kubernetes.appArmorProfile` that could take all of the possible values for the annotation [documented here](https://kubernetes.io/docs/tutorials/security/apparmor/). Then, the pod generation logic would just look for this configuration and add the appropriate annotation if it's found.\r\n\r\n### Alternative\r\n\r\nI could disable AppArmor entirely, but that's not really advisable for a production environment. I could also try to find a way to get the buildah container running as root (it should be possible), but again, that's not ideal from a security perspective.\r\n\r\n### Additional context\r\n\r\nThis is somewhat of a follow up from #2510. I'm trying to get Woodpecker to run on my kubeadm/CRI-O based cluster running on Debian which I believe makes me some kind of leprechaun/unicorn/lochness monster. There definitely aren't many of us out there.\r\n\r\n### Validations\r\n\r\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]\r\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/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 request the same feature to avoid creating a duplicate.",[2970,2971],{"name":2869,"color":2870},{"name":2972,"color":2973},"backend/kubernetes","bfdadc",2545,"Support AppArmor annotations and securityContext in kubernetes backend","2024-01-12T22:32:26Z","https://github.com/woodpecker-ci/woodpecker/issues/2545",0.7505754,["Reactive",2980],{},["Set"],["ShallowReactive",2983],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f3y6ckmte9MrsR9SEWPbWJ3PUIrY5xBiWohhLvk36MwQ":-1},"/woodpecker-ci/woodpecker/946"]