├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ └── feature_request.md ├── LICENSE ├── README.md └── docs ├── assets ├── add_to_queue.png ├── cleaner_rbacs.png ├── conflict.png ├── controller_directory_structure.png ├── deployment_controller.png ├── directory_structure.png ├── extension_apiserver.png ├── finalizer.png ├── finalizer_with_etcd.png ├── kubernetes_object.png ├── kubernetes_rest_paths.png ├── new_controller.gif ├── pick_next_resource_to_reconcile.png ├── profile_rbac.png ├── queueing_to_dirty_set.png ├── reconcile_loop.png ├── reconciler_queue.png ├── replicaset_controller.png ├── request_resource.png ├── retry.png ├── single_kind_cluster.png ├── status_subresource.png ├── sveltos_addon_controller.png ├── two_kind_clusters.png └── watcher_filter_transformation.gif ├── concurrent_reconciling.md ├── custom-resources.md ├── long-running-jobs.md ├── multiple_versions.md ├── reconciler.md └── testing.md /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: gianlucam76 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/README.md -------------------------------------------------------------------------------- /docs/assets/add_to_queue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/add_to_queue.png -------------------------------------------------------------------------------- /docs/assets/cleaner_rbacs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/cleaner_rbacs.png -------------------------------------------------------------------------------- /docs/assets/conflict.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/conflict.png -------------------------------------------------------------------------------- /docs/assets/controller_directory_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/controller_directory_structure.png -------------------------------------------------------------------------------- /docs/assets/deployment_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/deployment_controller.png -------------------------------------------------------------------------------- /docs/assets/directory_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/directory_structure.png -------------------------------------------------------------------------------- /docs/assets/extension_apiserver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/extension_apiserver.png -------------------------------------------------------------------------------- /docs/assets/finalizer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/finalizer.png -------------------------------------------------------------------------------- /docs/assets/finalizer_with_etcd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/finalizer_with_etcd.png -------------------------------------------------------------------------------- /docs/assets/kubernetes_object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/kubernetes_object.png -------------------------------------------------------------------------------- /docs/assets/kubernetes_rest_paths.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/kubernetes_rest_paths.png -------------------------------------------------------------------------------- /docs/assets/new_controller.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/new_controller.gif -------------------------------------------------------------------------------- /docs/assets/pick_next_resource_to_reconcile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/pick_next_resource_to_reconcile.png -------------------------------------------------------------------------------- /docs/assets/profile_rbac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/profile_rbac.png -------------------------------------------------------------------------------- /docs/assets/queueing_to_dirty_set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/queueing_to_dirty_set.png -------------------------------------------------------------------------------- /docs/assets/reconcile_loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/reconcile_loop.png -------------------------------------------------------------------------------- /docs/assets/reconciler_queue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/reconciler_queue.png -------------------------------------------------------------------------------- /docs/assets/replicaset_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/replicaset_controller.png -------------------------------------------------------------------------------- /docs/assets/request_resource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/request_resource.png -------------------------------------------------------------------------------- /docs/assets/retry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/retry.png -------------------------------------------------------------------------------- /docs/assets/single_kind_cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/single_kind_cluster.png -------------------------------------------------------------------------------- /docs/assets/status_subresource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/status_subresource.png -------------------------------------------------------------------------------- /docs/assets/sveltos_addon_controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/sveltos_addon_controller.png -------------------------------------------------------------------------------- /docs/assets/two_kind_clusters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/two_kind_clusters.png -------------------------------------------------------------------------------- /docs/assets/watcher_filter_transformation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/assets/watcher_filter_transformation.gif -------------------------------------------------------------------------------- /docs/concurrent_reconciling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/concurrent_reconciling.md -------------------------------------------------------------------------------- /docs/custom-resources.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/custom-resources.md -------------------------------------------------------------------------------- /docs/long-running-jobs.md: -------------------------------------------------------------------------------- 1 | WIP: Get notified! Star this repo or follow [me](https://github.com/gianlucam76) -------------------------------------------------------------------------------- /docs/multiple_versions.md: -------------------------------------------------------------------------------- 1 | WIP: Get notified! Star this repo or follow [me](https://github.com/gianlucam76) -------------------------------------------------------------------------------- /docs/reconciler.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/reconciler.md -------------------------------------------------------------------------------- /docs/testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gianlucam76/kubernetes-controller-tutorial/HEAD/docs/testing.md --------------------------------------------------------------------------------