Skip to content

Instantly share code, notes, and snippets.

@philips
Last active June 19, 2026 17:29
Show Gist options
  • Select an option

  • Save philips/a97a143546c87b86b870a82a753db14c to your computer and use it in GitHub Desktop.

Select an option

Save philips/a97a143546c87b86b870a82a753db14c to your computer and use it in GitHub Desktop.
Kubernetes Third-Party Resource Users

NOTICE

This list has moved to a GitHub repo for easier tracking: https://github.com/coreos/awesome-kubernetes-extensions

List

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

Known Users:

TODO:

Resources:

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

@ipedrazas

Copy link
Copy Markdown

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.

@resouer

resouer commented Feb 16, 2017

Copy link
Copy Markdown

hypernetes is using TPR resource to manage network. https://github.com/hyperhq/hypernetes/

@sebgoa

sebgoa commented Feb 16, 2017

Copy link
Copy Markdown

kubeless https://github.com/skippbox/kubeless is using TPR . I would like to see better support for it in the incubating Python client

@pst

pst commented Feb 16, 2017

Copy link
Copy Markdown

I'm using TPRs for Kubestack operators.

@tamalsaha

tamalsaha commented Feb 16, 2017 •

Copy link
Copy Markdown

We, AppsCode, are using TPRs for

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

@nebril

nebril commented Feb 16, 2017

Copy link
Copy Markdown

AppController uses TPR to store deployment graphs.

https://github.com/Mirantis/k8s-AppController

@khrisrichardson

Copy link
Copy Markdown

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

@mrIncompetent

mrIncompetent commented Feb 17, 2017 •

Copy link
Copy Markdown

We, Loodse - https://beta.kubermatic.io, use them but having the following issues:
-They don't get deleted with the namespace
-Having a TPR called node.example.org makes kubectl get nodes return my tpr's instead of the actual cluster nodes

Edit: As reference we used: https://github.com/Mirantis/k8s-externalipcontroller/tree/master/pkg/extensions

@elevran

elevran commented Feb 19, 2017

Copy link
Copy Markdown

WIP using TPR's for Amalgam8 microservice routing rules.

@hjacobs

hjacobs commented Feb 21, 2017

Copy link
Copy Markdown

We are using TPRs at Zalando Technology for:

@ledzep2

ledzep2 commented Feb 27, 2017 •

Copy link
Copy Markdown

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.

@adieu

adieu commented Mar 1, 2017

Copy link
Copy Markdown

@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.

@krallistic

Copy link
Copy Markdown

I use TPR for a Kafka Operator
https://github.com/krallistic/kafka-operator

@superbrothers

superbrothers commented Mar 13, 2017 •

Copy link
Copy Markdown

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)

@ryanj

ryanj commented Mar 30, 2017

Copy link
Copy Markdown

@lpabon

lpabon commented Apr 28, 2017

Copy link
Copy Markdown

@pidah

pidah commented May 30, 2017

Copy link
Copy Markdown

@pgburt

pgburt commented Jun 15, 2017

Copy link
Copy Markdown

@uoryon

uoryon commented Jun 26, 2017

Copy link
Copy Markdown

@orainxiong

Copy link
Copy Markdown

Using TPR for RDBMS Operator to support mainstream version Oracle, MySQL, MariaDB
https://docs.google.com/document/d/1zPigFS-VqysjIn569TZgd42whyBlspKcudRaLSrB5Aw/edit#

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