Hi Etienne, sorry for the late answer.
Unfortunately I'm not really familiar with this details of swift but I think what you are proposing makes sense to me. I'd suggest to fist send a working example, maybe updating https://github.com/jclouds/jclouds-examples/tree/master/blobstore-basics but not sure, and potentially re-start there the conversation around the question #1 Re #2, can you elaborate a bit more when you say "we have issues to use the variables injected by the overrides method" what are you trying to achieve? HTH, Andrea On Wed, Dec 28, 2016 at 4:36 PM, Etienne Carriere < etienne.carri...@gmail.com> wrote: > Hi, > > In our project, we currently need to interact with differents types of > swift implementations : > - Ceph with radosgw > - NetApp appliance with swift endpoint > > Thoses implementions use "identity v1 protocol" which is an old but simple > API for the authentication and don't use identity v2 protocol ( > http://developer.openstack.org/api-ref/identity/v2/index.html) which is > implemented by jclouds in openstack-keystone module . > > > *State of jclouds* > The openstack swift "official" client (in python) manage this v1 protocol ( > http://docs.openstack.org/developer/python-swiftclient/swiftclient.html) > so > even if we don't have a specification, we will use the code of the official > client for the implementation. > > In jclouds, there is currently a sort-of v1 identity protocol in the > openstack-swift module: in > apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/config/ > SwiftAuthenticationModule.java, > there is a tempAuthCredentials which is almost the identity v1 protocol > except that the name of the headers was not the same : > = X-Storage-User vs X-Auth-User > = X-Storage-Path vs X-Auth-Key > > *Proposal* > In our project, we think about the following solution > = Keep the current behaviour as default > = Add 2 parameters to change the header name through variables in the > Properties put in the Builder like that : > > Properties overrides = new Properties(); > overrides.setProperty("jclouds.keystone.credential-type", > "tempAuthCredentials"); > overrides.setProperty("jclouds.swift.tempAuth.headerUser", > "X-Auth-User"); > overrides.setProperty("jclouds.swift.tempAuth.headerPass", > "X-Auth-Pass"); > swiftApi = ContextBuilder.newBuilder(provider) > .endpoint(args[1]) > .credentials(identity, credential) > .modules(modules) > .overrides(overrides) > .buildApi(SwiftApi.class); > > *Questions* > 1) Will this behaviour acceptable upstream ? (and what is the lifecycle > planned for this tempAuthCredentials) > 2) As working on the patch, we have issues to use the variables injected by > the overrides method. After analysing some parts of the code of > openstack-keystone module, i tried to use @Named and @Inject but without > success. Is there some doc or some hints on how to do that ? > > Thanks in advance, > > Regards, > > Etienne Carrière >