const DefaultServiceAccountName …
const EnforceMountableSecretsAnnotation …
const ServiceAccountVolumeName …
const DefaultAPITokenMountPath …
const PluginName …
func Register(plugins *admission.Plugins) { … }
var _ …
type Plugin …
var _ …
var _ …
var _ …
var _ …
func NewServiceAccount() *Plugin { … }
func (s *Plugin) SetExternalKubeClientSet(cl kubernetes.Interface) { … }
func (s *Plugin) SetExternalKubeInformerFactory(f informers.SharedInformerFactory) { … }
func (s *Plugin) ValidateInitialization() error { … }
func (s *Plugin) Admit(ctx context.Context, a admission.Attributes, o admission.ObjectInterfaces) (err error) { … }
func (s *Plugin) Validate(ctx context.Context, a admission.Attributes, o admission.ObjectInterfaces) (err error) { … }
func shouldIgnore(a admission.Attributes) bool { … }
func shouldAutomount(sa *corev1.ServiceAccount, pod *api.Pod) bool { … }
func (s *Plugin) enforceMountableSecrets(serviceAccount *corev1.ServiceAccount) bool { … }
func (s *Plugin) getServiceAccount(namespace string, name string) (*corev1.ServiceAccount, error) { … }
func (s *Plugin) limitSecretReferences(serviceAccount *corev1.ServiceAccount, pod *api.Pod) error { … }
func (s *Plugin) limitEphemeralContainerSecretReferences(pod *api.Pod, a admission.Attributes) error { … }
func (s *Plugin) mountServiceAccountToken(serviceAccount *corev1.ServiceAccount, pod *api.Pod) { … }
func TokenVolumeSource() *api.ProjectedVolumeSource { … }