concourse / resource-types

A place where the concourse resource types live.
Apache License 2.0
23 stars 61 forks source link

Replace the buggy 'keyval' resource with a fixed implementation #75

Closed bgandon closed 2 years ago

bgandon commented 2 years ago

The original resource by @moredhel is handy, but the out script does not work. Indeed that resource improperly assumes that the $1 argument contains an artifact directory where key-value pairs are to be found, whereas it is not the case.

The fixed implementation by Gstack that we provide here, adds two new parameters to the out script that allow the resource to properly work. Plus, the documentation has been fixed and completed. The Golang binaries have been compiled against latest Go v1.17 and dependencies have been bumped.

That's why this PR is removing the buggy resource, so that Concourse users won't hit the issue with the older key-value resource.

xtremerui commented 2 years ago

@bgandon have you tried to submit a PR to the original resource, in that case we wont need to update our listing here.

If not, @moredhel are you OK for us as concourse team to replace your custom resource type to their fork ?

Thank you both for contributing!

bgandon commented 2 years ago

Sure @xtremerui, I perfectly understand your concern and I would ask the same question if I was to review such contribution.

But the situation is quite specific here, let me detail. It turns out that the out script in moredhel/keyval-resource is not working since the very initial inception in Nov 2019. Unit tests have never been passing, and documentation hasn't been reviewed since then even though it has many issues. With that resource, there is no way to write any working put step, and thus there is no way to use a working get step either because there is nothing to “get” from. It seems that even @moredhel has never been able to use it. These evidences have led me to conclude that no maintenance is provided by @moredhel unfortunately.

The resource has been listed in Concourse resource types since #21, and we could also wonder who has ever tested it, as I can testify that it is not possible to set up a complete round-trip pipeline with working put and get steps. In nearly two years, no issue has been reported and no patch has been submitted. I know this may sound a bit definitive but that's just the way it is…

Here I'm proposing a more “advanced” level of support. The resource is tested, unit tests are passing, documentation is reviewed, etc. I'm also in the process of setting up some Concourse pipeline on Gstack CI cluster, for automated builds and tests. Hopefully I can add more features to it soon like automated PR testing and automated Golang and dependency bumps.

So, sure we must ask the previous maintainer for his point of view because we are nice people. But the sooner we replace the resource type in the listing, the better it will be for the Concourse technology overall.

bgandon commented 2 years ago

Thanks @xtremerui !

moredhel commented 2 years ago

Hi, apologies for the late response. I'm not actively maintaining the resource anymore.

I'm of course more than happy for you to take over the plugin. As @bgandon mentions, I'm not actively using concourse anymore & I haven't touched the repo in several years.

Good luck!

bgandon commented 2 years ago

Thank you @moredhel for clarifying!