Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
kubermatic-api
Package classification Kubermatic API.
|
Package classification Kubermatic API. |
codegen
|
|
pkg
|
|
controller
Package controller contains all our controllers.
|
Package controller contains all our controllers. |
controller/kubeletdnat
Package kubeletdnat contains the kubeletdnat controller which: * Is needed for all controlplane components running in the seed that need to reach nodes * Is not needed if reaching the pods is sufficient * Must be used in conjunction with the openvpn client * Creates NAT rules for both the public and private node IP that tunnels access to them via the VPN * Its counterpart runs within the openvpn client pod in the usercluster, is part of the openvpn addon and written in bash
|
Package kubeletdnat contains the kubeletdnat controller which: * Is needed for all controlplane components running in the seed that need to reach nodes * Is not needed if reaching the pods is sufficient * Must be used in conjunction with the openvpn client * Creates NAT rules for both the public and private node IP that tunnels access to them via the VPN * Its counterpart runs within the openvpn client pod in the usercluster, is part of the openvpn addon and written in bash |
controller/master-controller-manager
Package mastercontrollermanager contains all controllers that run within the master-controller-manager binary.
|
Package mastercontrollermanager contains all controllers that run within the master-controller-manager binary. |
controller/master-controller-manager/project-label-synchronizer
Package projectlabelsynchronizer contains a controller that synchronizes labels from a project onto all the clusters that belong to the project, without allowing them to be overridden.
|
Package projectlabelsynchronizer contains a controller that synchronizes labels from a project onto all the clusters that belong to the project, without allowing them to be overridden. |
controller/master-controller-manager/rbac
Package rbac contains a controller that is responsible for setting up RBAC to allow users to access the clusters they should be able to access.
|
Package rbac contains a controller that is responsible for setting up RBAC to allow users to access the clusters they should be able to access. |
controller/master-controller-manager/seed-proxy
Package seedproxy contains a controller that is responsible for creating various resources in the master cluster to be able to access the other seeds clusters prometheus, leveraring `kubectl proxy` under the hood.
|
Package seedproxy contains a controller that is responsible for creating various resources in the master cluster to be able to access the other seeds clusters prometheus, leveraring `kubectl proxy` under the hood. |
controller/master-controller-manager/seed-sync
Package seedsync contains a controller that is responsible for synchronizing the `Seed` custom resources onto the corresponding seed clusters, so that the seed-controller-manager can use them.
|
Package seedsync contains a controller that is responsible for synchronizing the `Seed` custom resources onto the corresponding seed clusters, so that the seed-controller-manager can use them. |
controller/master-controller-manager/usersshkeyssynchronizer
The usersshkeyssynchronizer controller is responsible for synchronizing usersshkeys into a secret in the cluster namespace.
|
The usersshkeyssynchronizer controller is responsible for synchronizing usersshkeys into a secret in the cluster namespace. |
controller/operator
Package operator contains all controllers that run within the kubermatic operator binary.
|
Package operator contains all controllers that run within the kubermatic operator binary. |
controller/operator/seed/resources/nodeportproxy
Package nodeportproxy is responsible for reconciling a seed-cluster-wide proxy based on Envoy and a custom envoy-manager/lb-updater tools.
|
Package nodeportproxy is responsible for reconciling a seed-cluster-wide proxy based on Envoy and a custom envoy-manager/lb-updater tools. |
controller/seed-controller-manager
Package seedcontrollermanager contains a package for each controller that runs within the seed controller manager binary.
|
Package seedcontrollermanager contains a package for each controller that runs within the seed controller manager binary. |
controller/seed-controller-manager/addon
Package addon contains a controller that applies addons based on a Addon CRD.
|
Package addon contains a controller that applies addons based on a Addon CRD. |
controller/seed-controller-manager/addoninstaller
Package addoninstaller contains a controller that is responsible for making sure a set of addons that are configured via a flag on the controller-manager and are required for basic cluster functionality exist for all clusters.
|
Package addoninstaller contains a controller that is responsible for making sure a set of addons that are configured via a flag on the controller-manager and are required for basic cluster functionality exist for all clusters. |
controller/seed-controller-manager/backup
Package backup contains a controller that is responsible for creating backup-related resources.
|
Package backup contains a controller that is responsible for creating backup-related resources. |
controller/seed-controller-manager/cloud
Package cloud contains a controller that is responsible for creating cluster-level resources at the cloud provider, like networks, subnets or security groups.
|
Package cloud contains a controller that is responsible for creating cluster-level resources at the cloud provider, like networks, subnets or security groups. |
controller/seed-controller-manager/clustercomponentdefaulter
Package clustercomponentdefaulter contains a controller that is responsible for applying some defaults for various controlplane components, but never overwrites them to make out-of-tree customization is still possible.
|
Package clustercomponentdefaulter contains a controller that is responsible for applying some defaults for various controlplane components, but never overwrites them to make out-of-tree customization is still possible. |
controller/seed-controller-manager/kubernetes
Package kubernetes contains a controller that reconciles all controlplane components in the seed needed for Kubernetes clusters.
|
Package kubernetes contains a controller that reconciles all controlplane components in the seed needed for Kubernetes clusters. |
controller/seed-controller-manager/monitoring
Package monitoring contains a controller that reconciles all monitoring-related components for all cluster types in the seed.
|
Package monitoring contains a controller that reconciles all monitoring-related components for all cluster types in the seed. |
controller/seed-controller-manager/openshift
Package openshift contains a controller that reconciles all controlplane components in the seed needed for Openshift clusters.
|
Package openshift contains a controller that reconciles all controlplane components in the seed needed for Openshift clusters. |
controller/seed-controller-manager/rancher
Package rancher contains a controller responsible for reconciling all rancher-related resources in the seed for Kubernetes clusters, as Rancher doesn't support openshift.
|
Package rancher contains a controller responsible for reconciling all rancher-related resources in the seed for Kubernetes clusters, as Rancher doesn't support openshift. |
controller/seed-controller-manager/seedresourcesuptodatecondition
Package seedresourcesuptodatecondition contains a controller that is responsible for: * Setting a condition on the cluster object when all Deployments and Statefulsets were fully rolled out * This condition serves the purpose of limiting the load imposed on the seed * All controllers that create Deployments or Statefulsets in the seed must respect it via `controllerutil.ClusterAvailableForReconciling`
|
Package seedresourcesuptodatecondition contains a controller that is responsible for: * Setting a condition on the cluster object when all Deployments and Statefulsets were fully rolled out * This condition serves the purpose of limiting the load imposed on the seed * All controllers that create Deployments or Statefulsets in the seed must respect it via `controllerutil.ClusterAvailableForReconciling` |
controller/seed-controller-manager/update
Package update contains a controller that auto applies updates to both the cluster version and the machine version based on a configuration file.
|
Package update contains a controller that auto applies updates to both the cluster version and the machine version based on a configuration file. |
controller/shared
Package shared contains all controllers that are imported by more than one controller-manager
|
Package shared contains all controllers that are imported by more than one controller-manager |
controller/user-cluster-controller-manager
Package userclustercontrollermanager contains all controllers running in the usercluster controller manager binary.
|
Package userclustercontrollermanager contains all controllers running in the usercluster controller manager binary. |
controller/user-cluster-controller-manager/cluster-role-labeler
Package clusterrolelabeler contains a controller that is responsible for ensuring that the viewer, editor and admin clusterroles have a `component: userClusterRole` label associated.
|
Package clusterrolelabeler contains a controller that is responsible for ensuring that the viewer, editor and admin clusterroles have a `component: userClusterRole` label associated. |
controller/user-cluster-controller-manager/container-linux
Package containerlinux contains the containerlinux controller that is responsible for deploying the [Container Linux Update Operator](https://github.com/coreos/container-linux-update-operator) operator and DaemonSet
|
Package containerlinux contains the containerlinux controller that is responsible for deploying the [Container Linux Update Operator](https://github.com/coreos/container-linux-update-operator) operator and DaemonSet |
controller/user-cluster-controller-manager/ipam
Package ipam contains a controller responsible for assigning IP addresses from a configured pool to machines that have an annotation keyed `machine-controller.kubermatic.io/initializers` which contains the value ipam.
|
Package ipam contains a controller responsible for assigning IP addresses from a configured pool to machines that have an annotation keyed `machine-controller.kubermatic.io/initializers` which contains the value ipam. |
controller/user-cluster-controller-manager/node-labeler
Package nodelabeler contains a controller that ensures Nodes have various labels present at all times: * A `x-kubernetes.io/distribution` label with a value of `centos`, `ubuntu`, `container-linux`, `rhel` or `sles` * A set of labels configured on the controller via a flag that are inherited from the cluster object
|
Package nodelabeler contains a controller that ensures Nodes have various labels present at all times: * A `x-kubernetes.io/distribution` label with a value of `centos`, `ubuntu`, `container-linux`, `rhel` or `sles` * A set of labels configured on the controller via a flag that are inherited from the cluster object |
controller/user-cluster-controller-manager/nodecsrapprover
Package nodecsrapprover contains a controller responsible for autoapproving CSRs created by nodes for serving certificates.
|
Package nodecsrapprover contains a controller responsible for autoapproving CSRs created by nodes for serving certificates. |
controller/user-cluster-controller-manager/openshift-master-node-labeler
Package openshiftmasternodelabeler contains a controller that makes sure there is always one randomly selected nodes with a `node-role.kubernetes.io/master` label on it.
|
Package openshiftmasternodelabeler contains a controller that makes sure there is always one randomly selected nodes with a `node-role.kubernetes.io/master` label on it. |
controller/user-cluster-controller-manager/openshift-seed-syncer
The openshiftseedsyncer controller is responsible for syncing resources from Openshift userclusters into the seed cluster namespace.
|
The openshiftseedsyncer controller is responsible for syncing resources from Openshift userclusters into the seed cluster namespace. |
controller/user-cluster-controller-manager/owner-binding-creator
The ownerbindingcreator controller is responsible for making sure that the binding exists and if it doesn't, will create it and use the cluster owner as subject.
|
The ownerbindingcreator controller is responsible for making sure that the binding exists and if it doesn't, will create it and use the cluster owner as subject. |
controller/user-cluster-controller-manager/resources
Package resources contains the resources controller responsible for making sure the various Kubernetes resources we need in the usercluster like RBAC, Deployments, ServiceAccounts and much more are present.
|
Package resources contains the resources controller responsible for making sure the various Kubernetes resources we need in the usercluster like RBAC, Deployments, ServiceAccounts and much more are present. |
controller/user-cluster-controller-manager/role-cloner
Package rolecloner contains a controller that duplicates all roles with the `component=userClusterRole` label that are in the kube-system namespace into all other namespaces.
|
Package rolecloner contains a controller that duplicates all roles with the `component=userClusterRole` label that are in the kube-system namespace into all other namespaces. |
controller/usersshkeysagent
Package usersshkeysagent contains the usersshkeysagent controller, which is deployed as a DaemonSet on all usercluster nodes and responsible for synchronizing the `$HOME/.ssh/authorized_keys` file for all users we know about (root, core, ubuntu, centos) and that exist with the content of a secret.
|
Package usersshkeysagent contains the usersshkeysagent controller, which is deployed as a DaemonSet on all usercluster nodes and responsible for synchronizing the `$HOME/.ssh/authorized_keys` file for all users we know about (root, core, ubuntu, centos) and that exist with the content of a secret. |
controller/util
Package util contains helpers for building controllers.
|
Package util contains helpers for building controllers. |
crd/client/clientset/versioned
This package has the automatically generated clientset.
|
This package has the automatically generated clientset. |
crd/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
|
This package has the automatically generated fake clientset. |
crd/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
|
This package contains the scheme of the automatically generated clientset. |
crd/client/clientset/versioned/typed/kubermatic/v1
This package has the automatically generated typed clients.
|
This package has the automatically generated typed clients. |
crd/client/clientset/versioned/typed/kubermatic/v1/fake
Package fake has the automatically generated clients.
|
Package fake has the automatically generated clients. |
crd/kubermatic/v1
+groupName=kubermatic.k8s.io
|
+groupName=kubermatic.k8s.io |
crd/operator/v1alpha1
+groupName=operator.kubermatic.io
|
+groupName=operator.kubermatic.io |
provider
Package provider contains abstract cloud provider types and interfaces.
|
Package provider contains abstract cloud provider types and interfaces. |
resources/certificates/triple
Package triple generates key-certificate pairs for the triple (CA, Server, Client).
|
Package triple generates key-certificate pairs for the triple (CA, Server, Client). |
resources/reconciling
This file is generated.
|
This file is generated. |
test/e2e/api/utils
TODO(2.13): Package utils is deprecated and only used for upgrade tests from pre 2.13 releases.
|
TODO(2.13): Package utils is deprecated and only used for upgrade tests from pre 2.13 releases. |
test/e2e/api/utils/oidc-proxy-client
DISCLAIMER: this code is based on https://github.com/dexidp/dex/tree/master/cmd/example-app
|
DISCLAIMER: this code is based on https://github.com/dexidp/dex/tree/master/cmd/example-app |
Click to show internal directories.
Click to hide internal directories.