k8s.io/kubernetes@v1.29.3/pkg/controller/certificates/signer/config/types.go (about)

     1  /*
     2  Copyright 2019 The Kubernetes Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package config
    18  
    19  import (
    20  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    21  )
    22  
    23  // CSRSigningControllerConfiguration contains elements describing CSRSigningController.
    24  type CSRSigningControllerConfiguration struct {
    25  	// clusterSigningCertFile is the filename containing a PEM-encoded
    26  	// X509 CA certificate used to issue cluster-scoped certificates
    27  	ClusterSigningCertFile string
    28  	// clusterSigningCertFile is the filename containing a PEM-encoded
    29  	// RSA or ECDSA private key used to issue cluster-scoped certificates
    30  	ClusterSigningKeyFile string
    31  
    32  	// kubeletServingSignerConfiguration holds the certificate and key used to issue certificates for the kubernetes.io/kubelet-serving signer
    33  	KubeletServingSignerConfiguration CSRSigningConfiguration
    34  	// kubeletClientSignerConfiguration holds the certificate and key used to issue certificates for the kubernetes.io/kube-apiserver-client-kubelet
    35  	KubeletClientSignerConfiguration CSRSigningConfiguration
    36  	// kubeAPIServerClientSignerConfiguration holds the certificate and key used to issue certificates for the kubernetes.io/kube-apiserver-client
    37  	KubeAPIServerClientSignerConfiguration CSRSigningConfiguration
    38  	// legacyUnknownSignerConfiguration holds the certificate and key used to issue certificates for the kubernetes.io/legacy-unknown
    39  	LegacyUnknownSignerConfiguration CSRSigningConfiguration
    40  
    41  	// clusterSigningDuration is the max length of duration signed certificates will be given.
    42  	// Individual CSRs may request shorter certs by setting spec.expirationSeconds.
    43  	ClusterSigningDuration metav1.Duration
    44  }
    45  
    46  // CSRSigningConfiguration holds information about a particular CSR signer
    47  type CSRSigningConfiguration struct {
    48  	// certFile is the filename containing a PEM-encoded
    49  	// X509 CA certificate used to issue certificates
    50  	CertFile string
    51  	// keyFile is the filename containing a PEM-encoded
    52  	// RSA or ECDSA private key used to issue certificates
    53  	KeyFile string
    54  }