{"action":"opened","issue":{"url":"https://api.github.com/repos/christopherhein/node-operator/issues/3","repository_url":"https://api.github.com/repos/christopherhein/node-operator","labels_url":"https://api.github.com/repos/christopherhein/node-operator/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/christopherhein/node-operator/issues/3/comments","events_url":"https://api.github.com/repos/christopherhein/node-operator/issues/3/events","html_url":"https://github.com/christopherhein/node-operator/issues/3","id":310722003,"number":3,"title":"Add Abstract to the Repo Make this more public so it can be reused.","user":{"login":"christopherhein","id":177822,"avatar_url":"https://avatars1.githubusercontent.com/u/177822?v=4","gravatar_id":"","url":"https://api.github.com/users/christopherhein","html_url":"https://github.com/christopherhein","followers_url":"https://api.github.com/users/christopherhein/followers","following_url":"https://api.github.com/users/christopherhein/following{/other_user}","gists_url":"https://api.github.com/users/christopherhein/gists{/gist_id}","starred_url":"https://api.github.com/users/christopherhein/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christopherhein/subscriptions","organizations_url":"https://api.github.com/users/christopherhein/orgs","repos_url":"https://api.github.com/users/christopherhein/repos","events_url":"https://api.github.com/users/christopherhein/events{/privacy}","received_events_url":"https://api.github.com/users/christopherhein/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-04-03T07:20:48Z","updated_at":"2018-04-03T07:20:48Z","closed_at":null,"author_association":"OWNER","body":"Within the Kubernetes community, there has always been a desire to continue to add new features and functionality into the apiserver; you see this every day from the version of each primitive you use. This desire grew so much that the community introduced custom aggregate apiservers these allow you to build custom apis and run them on the master with coordination from the exposed apiserver, but they require you to run your own storage layer or convince your cluster admin to let you use the primary etcd cluster. They then created ThirdPartyResources; these gave you the ability to create custom resources that were registered with the apiserver and were able to be run what CoreOS coined as the Operator pattern, TPRs. While great TPRs eventually were rebuilt and moved into apiextensions and renamed CRDs. In this talk we will build a CRD together using the Rook OperatorKit, which allows you to create CRDs easily defined with the k8s.io/code-generator then gives you hooks to create a golang operator that can be packaged and deployed to your k8s cluster."}}
{"actor":{"display_login":"christopherhein"}}