Skip to content

Instantly share code, notes, and snippets.

Last active April 5, 2023 14:17
Show Gist options
  • Save philips/a97a143546c87b86b870a82a753db14c to your computer and use it in GitHub Desktop.
Save philips/a97a143546c87b86b870a82a753db14c to your computer and use it in GitHub Desktop.
Kubernetes Third-Party Resource Users


This list has moved to a GitHub repo for easier tracking:


Please comment below if you are using Kubernetes Third-Party Resources and I will add you to the list.

Known Users:



I am interested in documenting all of the users and getting some more feedback on what is and isn't working.

Copy link

Copy link

we use TPR to provide transaction like behavior for resource upgrades in rigging:

Copy link

olix0r commented Feb 16, 2017

Copy link

We're trying to use them at Atlassian but struggling with the client libraries.

Copy link

hongchaodeng commented Feb 16, 2017

@adieu link your archon here?

@davecheney besides tpr, we also need to push upstream to pay attention and fix client library.

Copy link

Copy link

klizhentas commented Feb 16, 2017

@davecheney - my best take on using client library with it after a day of digging around:

Copy link

fatih commented Feb 16, 2017

We're using TPR in DigitalOcean for our internal CA system to issue certificates. The examples in the client were not useful and I had to dive into the code to make sense on how to use the client when doing CRUD methods on a TPR.

Copy link

teemow commented Feb 16, 2017

We are using TPRs to manage kubernetes clusters with kubernetes.


Copy link

At SAP, we're working on an OpenStack operator that creates various types of things in OpenStack (currently, Keystone domains, projects, users, groups and roles; will expand to Swift accounts, Designate zones etc. later):

Copy link

There's a difference between TPRs and Operators. At Soho House I've built a few with different degrees of success. Some of the operators use TPRs, some of them they just listen to events and react to them.

  • Postgres Operator (TPR): to create/destroy databases in the cluster or in the cloud.
  • Namespace Operator: to initialise namespaces (secrets, ingress, etc), and destroy ns once they're not needed anymore.
  • EIP Operator (TPR): whitelisting IPs and management of those IPs/labels

Since I was the only one with kubernetes knowledge, I expose the kube events using NATs to allow the other developers to build logic around what's happening in the cluster. For example, we have a couple of jobs that interface with banks and Salesforce and these jobs need to know what has been executed and what's in execution at runtime. I'm using Nats as a way of turning the Kube API into a kind of pub/sub event queue.

I will be talking at KubeCon about our solution and what it worked and what it didn't.

Copy link

resouer commented Feb 16, 2017

hypernetes is using TPR resource to manage network.

Copy link

sebgoa commented Feb 16, 2017

kubeless is using TPR . I would like to see better support for it in the incubating Python client

Copy link

pst commented Feb 16, 2017

I'm using TPRs for Kubestack operators.

Copy link

tamalsaha commented Feb 16, 2017

We, AppsCode, are using TPRs for

Helm project is looking into using TPRs to store release data:

Copy link

nebril commented Feb 16, 2017

AppController uses TPR to store deployment graphs.

Copy link

WIP for Spark on Kubernetes: kubernetes/kubernetes#34377 (comment)

Copy link

mrIncompetent commented Feb 17, 2017

We, Loodse -, use them but having the following issues:
-They don't get deleted with the namespace
-Having a TPR called makes kubectl get nodes return my tpr's instead of the actual cluster nodes

Edit: As reference we used:

Copy link

elevran commented Feb 19, 2017

WIP using TPR's for Amalgam8 microservice routing rules.

Copy link

hjacobs commented Feb 21, 2017

We are using TPRs at Zalando Technology for:

Copy link

ledzep2 commented Feb 27, 2017

We are building Archon which is a set of controllers that runs on k8s and manages the physical resources that k8s currently doesn't, like Instance, InstanceGroup, Network (defined as TPR). So the cluster managed can scale itself.

Copy link

adieu commented Mar 1, 2017

@hongchaodeng didn't get notification from github. But luckily my colleague found this gist.

@philips is it possible to put the link to archon repo at the end? I think it will make the format better. Thanks a lot.

Copy link

I use TPR for a Kafka Operator

Copy link

superbrothers commented Mar 13, 2017

We're also using TPRs to manage kubernetes clusters with kubernetes, and develop many controllers like KubernetesController, MachineController, MachineSetController, MachineDeploymentController, etc.

Implement Kubernetes as a Serivce using TPR (in Japanease)

Copy link

ryanj commented Mar 30, 2017

CrunchyData PostgreSQL operator:

Copy link

lpabon commented Apr 28, 2017

Copy link

pidah commented May 30, 2017

Copy link

pgburt commented Jun 15, 2017

Copy link

uoryon commented Jun 26, 2017

I use TPR for a Mongo Operator

Copy link

Using TPR for RDBMS Operator to support mainstream version Oracle, MySQL, MariaDB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment