woodpecker
woodpecker copied to clipboard
Nomad Engine
This is still pretty WIP but I figured I would go ahead and create a draft PR for this. Basic functionality seems to work, however the code needs cleaned up quite a bit still.
Closes #2158
Deployment of preview was successful: https://woodpecker-ci-woodpecker-pr-1697.surge.sh
@cullenmcdermott Are you still aiming to continue here?
Hi! Yes I'd like to. I'll need to refresh myself on where I was with it.
Are there any guidelines around what is needed for new engines like this or specific features I can/should defer?
just match the interface and look at the "reference impl. (docker)"
Before we continue I would like to wait for more requests by other users. Nomad seems TBH not to be the most used orchestrator and we should first of all make sure there is a real need for this before spending too much time implementing it.
Sounds good. I'll keep an eye on this and will be happy to continue working on it if there's more desire for this one.
I am deploying a nomad cluster at the company I work for and this would be very nice for our ci/cd
Since it seems there are a few people thinking this would be useful and we decided to include new backends if they are not too specific - which isn't the case here - I think it's fine to integrate this. Maybe with a warning that this backend is experimental in the docs (see ex. bitbucket server).
Since it seems there are a few people thinking this would be useful and we decided to include new backends if they are not too specific - which isn't the case here - I think it's fine to integrate this.
Are you basing your decision on the 4 upvotes from the comment above?
I'd be more hesitant here. Nomand is built on top of k8s and hence essentially a special k8s backend - in WP terms. It will always be very niche and the amount of work to maintain it must currently come from outside since I don't think any contributor/maintainer is actively using it. Which is why I am not sure if this should be included/supported officially.
Are you basing your decision on the 4 upvotes from the comment above?
Yes, mainly.
It will always be very niche and the amount of work to maintain it must currently come from outside since I don't think any contributor/maintainer is actively using it. Which is why I am not sure if this should be included/supported officially.
I get your point here, but I there was a discussion about points like this some months ago, and the conclusion was: We allow it, but we don't maintain it and add an explicit warning to the docs that it's an experimental feature that must be supported by external devs. I think there a lot of features not used by maintainers, but still we include a lot of features. However, we should still have somebody we can point to issues with the backend, similar how it's currently done bitbucket server issues. So if @cullenmcdermott or somebody else is willing to work on bufixes, refactoring etc. for the backend in the longer term I'm fine with it.