Merge pull request #69884 from liggitt/self-sign-in-memory
Allow components to generate certificates in-memory Kubernetes-commit: d196d63c01719b78c96571775fc8c0c2b6eb30a0
This commit is contained in:
commit
bcc4ccc10c
|
@ -880,347 +880,347 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/admission/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/apps/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/apps/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/apps/v1beta2",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/auditregistration/v1alpha1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/authentication/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/authentication/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/authorization/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/authorization/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/autoscaling/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/batch/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/batch/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/batch/v2alpha1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/certificates/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/coordination/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/core/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/events/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/extensions/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/networking/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/policy/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/rbac/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/rbac/v1alpha1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/rbac/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/scheduling/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/settings/v1alpha1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/storage/v1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/storage/v1alpha1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/api/storage/v1beta1",
|
||||
"Rev": "9fcf73cc980bd64f38a4f721a7371b0ebb72e1ff"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/fuzzer",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/roundtrip",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/validation",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/api/validation/path",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/fields",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/labels",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/selection",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/types",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/naming",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/rand",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/uuid",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/waitgroup",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/version",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/pkg/watch",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
|
||||
"Rev": "b7f9f1fa80aef2c4d97c27d38bba371e6caccb47"
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/discovery",
|
||||
|
@ -1230,14 +1230,6 @@
|
|||
"ImportPath": "k8s.io/client-go/discovery/fake",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/dynamic",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers/admissionregistration",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
|
@ -1422,10 +1414,6 @@
|
|||
"ImportPath": "k8s.io/client-go/kubernetes",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/fake",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
|
@ -1838,10 +1826,6 @@
|
|||
"ImportPath": "k8s.io/client-go/tools/cache",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
|
@ -1918,6 +1902,78 @@
|
|||
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",
|
||||
"Rev": "0cf8f7e6ed1d2e3d47d02e3b6e559369af24d803"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/discovery",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/dynamic",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/informers",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/fake",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/scheme",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/listers/core/v1",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/rest",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/testing",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/cache",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/cert",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/client-go/util/flowcontrol",
|
||||
"Rev": "585e98112a2f5f80d5b9d421f67028aa905b880e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "k8s.io/utils/pointer",
|
||||
"Rev": "66066c83e385e385ccc3c964b44fd7dcd413d0ed"
|
||||
|
|
|
@ -75,19 +75,25 @@ type CertKey struct {
|
|||
}
|
||||
|
||||
type GeneratableKeyCert struct {
|
||||
// CertKey allows setting an explicit cert/key file to use.
|
||||
CertKey CertKey
|
||||
|
||||
// CertDirectory is a directory that will contain the certificates. If the cert and key aren't specifically set
|
||||
// this will be used to derive a match with the "pair-name"
|
||||
// CertDirectory specifies a directory to write generated certificates to if CertFile/KeyFile aren't explicitly set.
|
||||
// PairName is used to determine the filenames within CertDirectory.
|
||||
// If CertDirectory and PairName are not set, an in-memory certificate will be generated.
|
||||
CertDirectory string
|
||||
// PairName is the name which will be used with CertDirectory to make a cert and key filenames.
|
||||
// It becomes CertDirectory/PairName.crt and CertDirectory/PairName.key
|
||||
PairName string
|
||||
|
||||
// GeneratedCert holds an in-memory generated certificate if CertFile/KeyFile aren't explicitly set, and CertDirectory/PairName are not set.
|
||||
GeneratedCert *tls.Certificate
|
||||
|
||||
// FixtureDirectory is a directory that contains test fixture used to avoid regeneration of certs during tests.
|
||||
// The format is:
|
||||
// <host>_<ip>-<ip>_<alternateDNS>-<alternateDNS>.crt
|
||||
// <host>_<ip>-<ip>_<alternateDNS>-<alternateDNS>.key
|
||||
FixtureDirectory string
|
||||
// PairName is the name which will be used with CertDirectory to make a cert and key names
|
||||
// It becomes CertDirector/PairName.crt and CertDirector/PairName.key
|
||||
PairName string
|
||||
}
|
||||
|
||||
func NewSecureServingOptions() *SecureServingOptions {
|
||||
|
@ -121,6 +127,10 @@ func (s *SecureServingOptions) Validate() []error {
|
|||
errors = append(errors, fmt.Errorf("--secure-port %v must be between 0 and 65535, inclusive. 0 for turning off secure port", s.BindPort))
|
||||
}
|
||||
|
||||
if (len(s.ServerCert.CertKey.CertFile) != 0 || len(s.ServerCert.CertKey.KeyFile) != 0) && s.ServerCert.GeneratedCert != nil {
|
||||
errors = append(errors, fmt.Errorf("cert/key file and in-memory certificate cannot both be set"))
|
||||
}
|
||||
|
||||
return errors
|
||||
}
|
||||
|
||||
|
@ -219,6 +229,8 @@ func (s *SecureServingOptions) ApplyTo(config **server.SecureServingInfo) error
|
|||
return fmt.Errorf("unable to load server certificate: %v", err)
|
||||
}
|
||||
c.Cert = &tlsCert
|
||||
} else if s.ServerCert.GeneratedCert != nil {
|
||||
c.Cert = s.ServerCert.GeneratedCert
|
||||
}
|
||||
|
||||
if len(s.CipherSuites) != 0 {
|
||||
|
@ -264,13 +276,20 @@ func (s *SecureServingOptions) MaybeDefaultWithSelfSignedCerts(publicAddress str
|
|||
return nil
|
||||
}
|
||||
|
||||
keyCert.CertFile = path.Join(s.ServerCert.CertDirectory, s.ServerCert.PairName+".crt")
|
||||
keyCert.KeyFile = path.Join(s.ServerCert.CertDirectory, s.ServerCert.PairName+".key")
|
||||
|
||||
canReadCertAndKey, err := certutil.CanReadCertAndKey(keyCert.CertFile, keyCert.KeyFile)
|
||||
if err != nil {
|
||||
return err
|
||||
canReadCertAndKey := false
|
||||
if len(s.ServerCert.CertDirectory) > 0 {
|
||||
if len(s.ServerCert.PairName) == 0 {
|
||||
return fmt.Errorf("PairName is required if CertDirectory is set")
|
||||
}
|
||||
keyCert.CertFile = path.Join(s.ServerCert.CertDirectory, s.ServerCert.PairName+".crt")
|
||||
keyCert.KeyFile = path.Join(s.ServerCert.CertDirectory, s.ServerCert.PairName+".key")
|
||||
if canRead, err := certutil.CanReadCertAndKey(keyCert.CertFile, keyCert.KeyFile); err != nil {
|
||||
return err
|
||||
} else {
|
||||
canReadCertAndKey = canRead
|
||||
}
|
||||
}
|
||||
|
||||
if !canReadCertAndKey {
|
||||
// add either the bind address or localhost to the valid alternates
|
||||
bindIP := s.BindAddress.String()
|
||||
|
@ -282,15 +301,21 @@ func (s *SecureServingOptions) MaybeDefaultWithSelfSignedCerts(publicAddress str
|
|||
|
||||
if cert, key, err := certutil.GenerateSelfSignedCertKeyWithFixtures(publicAddress, alternateIPs, alternateDNS, s.ServerCert.FixtureDirectory); err != nil {
|
||||
return fmt.Errorf("unable to generate self signed cert: %v", err)
|
||||
} else {
|
||||
} else if len(keyCert.CertFile) > 0 && len(keyCert.KeyFile) > 0 {
|
||||
if err := certutil.WriteCert(keyCert.CertFile, cert); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := certutil.WriteKey(keyCert.KeyFile, key); err != nil {
|
||||
return err
|
||||
}
|
||||
glog.Infof("Generated self-signed cert (%s, %s)", keyCert.CertFile, keyCert.KeyFile)
|
||||
} else {
|
||||
tlsCert, err := tls.X509KeyPair(cert, key)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to generate self signed cert: %v", err)
|
||||
}
|
||||
s.ServerCert.GeneratedCert = &tlsCert
|
||||
glog.Infof("Generated self-signed cert in-memory")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue