There is some progress on this here:
https://github.com/openshift/origin/pull/10861

(but this is not meant to be used anywhere until we solve the problem of
group names.)

On Tue, Oct 11, 2016 at 3:26 PM, Dan Mace <[email protected]> wrote:

> On Tue, Oct 11, 2016 at 9:12 AM, Andy Goldstein <[email protected]>
> wrote:
>
>> We don't currently have a standalone go client library. Your best bet,
>> for now, is to use Godeps to vendor in the same versions of dependencies
>> that OpenShift currently uses.
>>
>> Andy
>>
>
> ​The way we handle this for various OpenShift Online components (which use
> not only the client libraries but also other supporting data structures,
> controller framework pieces, etc) is to use godep to restore origin’s
> dependency tree into GOPATH and then vendor things back into our own
> project. It’s pretty involved, but the overall steps are:
>
> 0. Using a clean GOPATH…
> 1. Clone origin to $GOPATH/src/github.com/openshift/origin
> 2. Clone kubernetes to $GOPATH/src/k8s.io/kubernetes
> 3. Add and fetch a kubernetes Git remote at https://github.com/openshift/
> kubernetes
> 4. Use the origin `hack/move-upstream.sh` script to apply patches that
> Origin carries to its various dependencies
> 5. Use the origin `hack/godep-restore.sh` script to reconstitute all of
> Origin’s dependencies within GOPATH
> 6. Update any packages within GOPATH whose versions we want to override
> from Origin
> 7. Use `godep save ./…` in our own package within GOPATH to vendor our
> dependencies from GOPATH
>
> Obviously this is far from ideal, but works and ensures our code is
> compatible with a specific of origin and all its transitive dependencies.
> There are some finer details omitted here (especially around
> `hack/move-upstream.sh`). Feel free to reach out if I can provide further
> clarifications. Good luck!
>
> —Dan
>
>
>
>
>> On Tue, Oct 11, 2016 at 8:15 AM, Tomas Kral <[email protected]> wrote:
>>
>>> Hi all,
>>> is there standalone OpenShift client library for Go?
>>> Or what is the best way for writing programs calling OpenShift api.
>>>
>>> Currently I'm creating OpenShift client and using it like this:
>>>
>>> import (
>>>   github.com/openshift/origin/pkg/client
>>>   github.com/openshift/origin/pkg/cmd/util/clientcmd
>>> )
>>>
>>> factory := clientcmd.NewFactory(nil)
>>> clientConfig, err := factory.ClientConfig()
>>> client := client.NewOrDie(clientConfig)
>>>   client.DeploymentConfigs(namespace).Create(dc)
>>>
>>>
>>> But I have problem with
>>> github.com/openshift/origin/pkg/cmd/util/clientcmd and
>>> github.com/openshift/origin/pkg/client.
>>> It looks like they both have
>>> github.com/docker/docker/pkg/term/winconsole in their dependency
>>> chain.
>>> This is creating conflict between github.com/docker/docker versions,
>>> because my applications requires newer version of docker, and is no
>>> winconsole pkg :(
>>>
>>>
>>>
>>> --
>>> Tomas
>>>
>>> _______________________________________________
>>> dev mailing list
>>> [email protected]
>>> http://lists.openshift.redhat.com/openshiftmm/listinfo/dev
>>>
>>
>>
>> _______________________________________________
>> dev mailing list
>> [email protected]
>> http://lists.openshift.redhat.com/openshiftmm/listinfo/dev
>>
>>
>
> _______________________________________________
> dev mailing list
> [email protected]
> http://lists.openshift.redhat.com/openshiftmm/listinfo/dev
>
>
_______________________________________________
dev mailing list
[email protected]
http://lists.openshift.redhat.com/openshiftmm/listinfo/dev

Reply via email to