On Tue, Apr 11, 2017 at 1:15 AM, Glyph Lefkowitz <gl...@twistedmatrix.com> wrote:
> > On Apr 10, 2017, at 11:11 AM, Jean-Paul Calderone < > 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. 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. > 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 > 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