[JIRA] (JENKINS-55017) Allow advanced configuration for other s3 providers

16 views
Skip to first unread message

gena01@gmail.com (JIRA)

unread,
Dec 4, 2018, 12:59:03 PM12/4/18
to jenkinsc...@googlegroups.com
Gennady Feldman created an issue
 
Jenkins / New Feature JENKINS-55017
Allow advanced configuration for other s3 providers
Issue Type: New Feature New Feature
Assignee: Unassigned
Components: artifact-manager-s3-plugin
Created: 2018-12-04 17:58
Priority: Major Major
Reporter: Gennady Feldman

Currently the plugin hard codes the URL template here: https://github.com/jenkinsci/artifact-manager-s3-plugin/blob/master/src/main/java/io/jenkins/plugins/artifact_manager_jclouds/s3/S3BlobStore.java#L164

I would love to be able to customize this via some sort of advanced config. There are a number of providers that provide S3 compatible API. Would love to be able to use them.

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

chris.tapley@erdas.com (JIRA)

unread,
Aug 25, 2019, 8:12:01 AM8/25/19
to jenkinsc...@googlegroups.com
Chris Tapley commented on New Feature JENKINS-55017
 
Re: Allow advanced configuration for other s3 providers

I believe I have a working implementation of this in a fork https://github.com/christapley/artifact-manager-s3-plugin.

Jesse Glick, would you accept a pr for this? Are there any special requirements to get this accepted?

jglick@cloudbees.com (JIRA)

unread,
Aug 25, 2019, 12:57:02 PM8/25/19
to jenkinsc...@googlegroups.com

Great! In general, the main things that help a PR get merged:

  • clearly stated goal
  • minimal diff (no lines not directly contributing to goal)
  • code structure making it obvious that existing scenarios would not regress
  • convincing test coverage

Test coverage in this plugin is a hard problem, unfortunately. I run tests manually against S3 before release, and would run them against a tricky-looking PR before merge. (There used to be a private CI builder for this plugin with an AWS account, but that was shut down since it is not being actively developed: my employer is not currently prioritizing this over other things.)

On the other hand, for this particular change there is an OSS provider which claims S3 compatibility—MinIO—so there may be a way to offer self-contained test coverage: use either Docker Fixtures or TestContainers to include a test suite with a Docker fixture for MinIO and delegate to ArtifactManagerTest.artifactStashAndDelete; see JCloudsArtifactManagerTest for the live AWS version.

(I am assuming that S3BlobStore.toExternalURL actually works in MinIO. Various documentation suggests that it supports presigned URLs, but I have never tried it. See the plugin README for discussion of how presigned URLs are critical to the security model.)

chris.tapley@erdas.com (JIRA)

unread,
Aug 26, 2019, 8:34:02 AM8/26/19
to jenkinsc...@googlegroups.com

I have been adding tests as I go, but I will also look at Docker Fixtures or TestContainers for better test coverage.

I have been testing with AWS and minio. Minio does indeed appear to support presigned URLs.

chris.tapley@erdas.com (JIRA)

unread,
Aug 27, 2019, 9:55:05 AM8/27/19
to jenkinsc...@googlegroups.com

Hi Jesse Glick, I've submitted the PR. Please let me know what you think.

jglick@cloudbees.com (JIRA)

unread,
Jan 7, 2020, 2:20:03 PM1/7/20
to jenkinsc...@googlegroups.com
Jesse Glick assigned an issue to Chris Tapley
 
Change By: Jesse Glick
Assignee: Chris Tapley
This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f)
Atlassian logo

jglick@cloudbees.com (JIRA)

unread,
Jan 7, 2020, 2:20:03 PM1/7/20
to jenkinsc...@googlegroups.com
Jesse Glick started work on New Feature JENKINS-55017
 
Change By: Jesse Glick
Status: Open In Progress

jglick@cloudbees.com (JIRA)

unread,
Jan 7, 2020, 2:20:04 PM1/7/20
to jenkinsc...@googlegroups.com

jglick@cloudbees.com (JIRA)

unread,
Jan 8, 2020, 2:29:02 PM1/8/20
to jenkinsc...@googlegroups.com
Jesse Glick assigned an issue to Jesse Glick
Change By: Jesse Glick
Assignee: Chris Tapley Jesse Glick

jglick@cloudbees.com (JIRA)

unread,
Jan 8, 2020, 2:29:04 PM1/8/20
to jenkinsc...@googlegroups.com

jglick@cloudbees.com (JIRA)

unread,
Jan 8, 2020, 9:10:22 PM1/8/20
to jenkinsc...@googlegroups.com

jglick@cloudbees.com (JIRA)

unread,
Jan 9, 2020, 12:52:02 PM1/9/20
to jenkinsc...@googlegroups.com
Change By: Jesse Glick
Status: In Review Fixed but Unreleased
Resolution: Fixed
Released As: 1.8

jglick@cloudbees.com (JIRA)

unread,
Jan 9, 2020, 1:01:05 PM1/9/20
to jenkinsc...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages