> On Apr 11, 2017, at 4:14 AM, Jean-Paul Calderone <exar...@twistedmatrix.com> > wrote: > > On Tue, Apr 11, 2017 at 1:15 AM, Glyph Lefkowitz <gl...@twistedmatrix.com > <mailto:gl...@twistedmatrix.com>> wrote: > >> On Apr 10, 2017, at 11:11 AM, Jean-Paul Calderone <exar...@twistedmatrix.com >> <mailto:exar...@twistedmatrix.com>> wrote: >> >> Hello all, >> >> I'm pleased to announce the first release of txkube, a Twisted-based library >> for interacting with Kubernetes using the HTTP API. > > ✨³✨🎉 > >> This release supports several of the most commonly used basic Kubernetes >> objects, including Services, ConfigMaps, Deployments, ReplicaSets, and Pods. >> While Kubernetes has many, many more object kinds, this collection of kinds >> already supports a very useful set of interactions. > > Thanks for the announcement! > > I do have one question about txkube, since this comes up periodically in > every higher-level networking layer, and it's a place where I think Twisted > has some advantages over other HTTP clients: is there a way to specify custom > trust roots, or construct a custom Agent to pass in to txkube? > > > There's another constructor for IKubernetesService > <https://github.com/LeastAuthority/txkube/blob/b2e81400e40989696f82cabfd575d5283f7180e8/src/txkube/_interface.py>, > network_kubernetes > <https://github.com/LeastAuthority/txkube/blob/b2e81400e40989696f82cabfd575d5283f7180e8/src/txkube/_network.py#L41-L56>. > It takes an IAgent. So one can do: > > network_kubernetes(base_url=url, agent=Agent(contextFactory=...)) > > Does that approach fit with any emerging conventions for exposing this kind > of functionality? I'd be happy to adapt it if there's a better pattern.
I think that's the state of the art, and it's a good primitive to build upon. If something needs to change, it's not the way txkube (et. al.) accept their argument, but rather a function in Twisted somewhere that computes the Towers of Hanoi Agent-stacking solution that Treq contains: https://github.com/twisted/treq/blob/b436c6c89b3a1b7fb2ecb5300ae24bcbea20fad0/src/treq/client.py#L198-L217 > Also note that it's common for Kubernetes to be deployed with a self-signed > or other non-cartel certificate. So even the API in the example, > network_kubernetes_from_context, doesn't trust the usual web-oriented > collection of CAs. It only respects the certificate found in the local > Kubernetes configuration. This means that there's another way to control > this - edit ~/.kube/config and put the desired CA certificate there. Cool. Although this is actually exactly what I'd expect (as I would imagine most Kubernetes users) this behavior sounds like something that might be worth calling out in the README. > >> Here is an example of txkube usage, taken from the README: >> >> from __future__ import print_function >> from twisted.internet.task import react >> >> from txkube import v1, network_kubernetes_from_context >> >> @react > > btw, don't think I didn't notice this > <https://github.com/twisted/twisted/pull/646#discussion_r96104930>... > > 😂 > > Jean-Paul > > > >> def main(reactor): >> k8s = network_kubernetes_from_context(reactor, u"minikube") >> client = k8s.client() >> d = client.list(v1.Namespace) >> d.addCallback(print) >> return d >> >> You can download txkube from PyPI <https://pypi.python.org/pypi>. >> You can contribute to its development on GitHub >> <https://github.com/LeastAuthority/txkube>. >> >> Thanks to Least Authority Enterprises <https://leastauthority.com/> for >> sponsoring this development. > > Thanks, LAE! > > -glyph > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com <mailto:Twisted-Python@twistedmatrix.com> > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > <http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python> > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com <mailto:Twisted-Python@twistedmatrix.com> > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > <http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python>
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python