\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]",[3165,3168],{"name":3166,"color":3167},"bug","d73a4a",{"name":3140,"color":3141},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":3175,"labels":3176,"number":3181,"owner":3146,"repository":3147,"state":3148,"title":3182,"updated_at":3183,"url":3184,"score":3185},"### 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]",[3177,3178],{"name":3166,"color":3167},{"name":3179,"color":3180},"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":3187,"labels":3188,"number":3190,"owner":3146,"repository":3147,"state":3148,"title":3191,"updated_at":3192,"url":3193,"score":3194},"### 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).",[3189],{"name":3166,"color":3167},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":3196,"labels":3197,"number":3200,"owner":3146,"repository":3147,"state":3148,"title":3201,"updated_at":3202,"url":3203,"score":3204},"https://ci.woodpecker-ci.org/repos/8987/pipeline/94/errors\r\n\r\nversion: current main",[3198,3199],{"name":3166,"color":3167},{"name":3179,"color":3180},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":3206,"labels":3207,"number":3211,"owner":3146,"repository":3147,"state":3148,"title":3212,"updated_at":3213,"url":3214,"score":3215},"### 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.",[3208,3209,3210],{"name":3179,"color":3180},{"name":3140,"color":3141},{"name":3143,"color":3144},3015,"Admin: Search functionality for users/repos/organizations","2023-12-27T07:56:01Z","https://github.com/woodpecker-ci/woodpecker/issues/3015",0.7697616,{"description":3217,"labels":3218,"number":3220,"owner":3146,"repository":3147,"state":3221,"title":3222,"updated_at":3223,"url":3224,"score":3225},"### 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).",[3219],{"name":3166,"color":3167},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":3227,"labels":3228,"number":3236,"owner":3146,"repository":3147,"state":3221,"title":3237,"updated_at":3238,"url":3239,"score":3240},"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",[3229,3230,3233],{"name":3179,"color":3180},{"name":3231,"color":3232},"feature","180DBE",{"name":3234,"color":3235},"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":3242,"labels":3243,"number":3248,"owner":3146,"repository":3147,"state":3221,"title":3249,"updated_at":3250,"url":3251,"score":3252},"### 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.",[3244,3245],{"name":3143,"color":3144},{"name":3246,"color":3247},"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",3254],{},["Set"],["ShallowReactive",3257],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f3y6ckmte9MrsR9SEWPbWJ3PUIrY5xBiWohhLvk36MwQ":-1},"/woodpecker-ci/woodpecker/946"]