Merge pull request #60373 from sttts/sttts-1.10-cfssl

Automatic merge from submit-queue (batch tested with PRs 60373, 61098, 61352, 61359, 61362). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Bump cfssl to be compatible with Go 1.10

Kubernetes-commit: ef3539e69e4c897f48ecd6b2dd73417ce0416b08
This commit is contained in:
Kubernetes Publisher 2018-03-21 22:39:09 -07:00
commit e4d1759a29
11 changed files with 435 additions and 433 deletions

300
Godeps/Godeps.json generated
View File

@ -92,7 +92,7 @@
}, },
{ {
"ImportPath": "golang.org/x/crypto/ssh/terminal", "ImportPath": "golang.org/x/crypto/ssh/terminal",
"Rev": "81e90905daefcd6fd217b62423c0908922eadb30" "Rev": "49796115aa4b964c318aad4f3084fdb41e9aa067"
}, },
{ {
"ImportPath": "golang.org/x/net/context", "ImportPath": "golang.org/x/net/context",
@ -152,115 +152,115 @@
}, },
{ {
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1", "ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/admissionregistration/v1beta1", "ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/apps/v1", "ImportPath": "k8s.io/api/apps/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/apps/v1beta1", "ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/apps/v1beta2", "ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/authentication/v1", "ImportPath": "k8s.io/api/authentication/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/authentication/v1beta1", "ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/authorization/v1", "ImportPath": "k8s.io/api/authorization/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/authorization/v1beta1", "ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/autoscaling/v1", "ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/autoscaling/v2beta1", "ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/batch/v1", "ImportPath": "k8s.io/api/batch/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/batch/v1beta1", "ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/batch/v2alpha1", "ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/certificates/v1beta1", "ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/core/v1", "ImportPath": "k8s.io/api/core/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/events/v1beta1", "ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/extensions/v1beta1", "ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/networking/v1", "ImportPath": "k8s.io/api/networking/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/policy/v1beta1", "ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/rbac/v1", "ImportPath": "k8s.io/api/rbac/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/rbac/v1alpha1", "ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/rbac/v1beta1", "ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/scheduling/v1alpha1", "ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/settings/v1alpha1", "ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/storage/v1", "ImportPath": "k8s.io/api/storage/v1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/storage/v1alpha1", "ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/api/storage/v1beta1", "ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "2448346d4164b057ffdbe114c1a85e5c6742a1f0" "Rev": "7e796de92438aede7cb5d6bcf6c10f4fa65db560"
}, },
{ {
"ImportPath": "k8s.io/apimachinery/pkg/api/errors", "ImportPath": "k8s.io/apimachinery/pkg/api/errors",
@ -428,487 +428,487 @@
}, },
{ {
"ImportPath": "k8s.io/client-go/discovery", "ImportPath": "k8s.io/client-go/discovery",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/discovery/fake", "ImportPath": "k8s.io/client-go/discovery/fake",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers", "ImportPath": "k8s.io/client-go/informers",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/admissionregistration", "ImportPath": "k8s.io/client-go/informers/admissionregistration",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/apps", "ImportPath": "k8s.io/client-go/informers/apps",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/apps/v1", "ImportPath": "k8s.io/client-go/informers/apps/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/apps/v1beta1", "ImportPath": "k8s.io/client-go/informers/apps/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/apps/v1beta2", "ImportPath": "k8s.io/client-go/informers/apps/v1beta2",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/autoscaling", "ImportPath": "k8s.io/client-go/informers/autoscaling",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/autoscaling/v1", "ImportPath": "k8s.io/client-go/informers/autoscaling/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/batch", "ImportPath": "k8s.io/client-go/informers/batch",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/batch/v1", "ImportPath": "k8s.io/client-go/informers/batch/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/batch/v1beta1", "ImportPath": "k8s.io/client-go/informers/batch/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/certificates", "ImportPath": "k8s.io/client-go/informers/certificates",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/core", "ImportPath": "k8s.io/client-go/informers/core",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/core/v1", "ImportPath": "k8s.io/client-go/informers/core/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/events", "ImportPath": "k8s.io/client-go/informers/events",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/events/v1beta1", "ImportPath": "k8s.io/client-go/informers/events/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/extensions", "ImportPath": "k8s.io/client-go/informers/extensions",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/internalinterfaces", "ImportPath": "k8s.io/client-go/informers/internalinterfaces",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/networking", "ImportPath": "k8s.io/client-go/informers/networking",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/networking/v1", "ImportPath": "k8s.io/client-go/informers/networking/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/policy", "ImportPath": "k8s.io/client-go/informers/policy",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/policy/v1beta1", "ImportPath": "k8s.io/client-go/informers/policy/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/rbac", "ImportPath": "k8s.io/client-go/informers/rbac",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/rbac/v1", "ImportPath": "k8s.io/client-go/informers/rbac/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/scheduling", "ImportPath": "k8s.io/client-go/informers/scheduling",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/settings", "ImportPath": "k8s.io/client-go/informers/settings",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/storage", "ImportPath": "k8s.io/client-go/informers/storage",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/storage/v1", "ImportPath": "k8s.io/client-go/informers/storage/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/informers/storage/v1beta1", "ImportPath": "k8s.io/client-go/informers/storage/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes", "ImportPath": "k8s.io/client-go/kubernetes",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/scheme", "ImportPath": "k8s.io/client-go/kubernetes/scheme",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/apps/v1", "ImportPath": "k8s.io/client-go/listers/apps/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/apps/v1beta1", "ImportPath": "k8s.io/client-go/listers/apps/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/apps/v1beta2", "ImportPath": "k8s.io/client-go/listers/apps/v1beta2",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/autoscaling/v1", "ImportPath": "k8s.io/client-go/listers/autoscaling/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/batch/v1", "ImportPath": "k8s.io/client-go/listers/batch/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/batch/v1beta1", "ImportPath": "k8s.io/client-go/listers/batch/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/core/v1", "ImportPath": "k8s.io/client-go/listers/core/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/events/v1beta1", "ImportPath": "k8s.io/client-go/listers/events/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/networking/v1", "ImportPath": "k8s.io/client-go/listers/networking/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/policy/v1beta1", "ImportPath": "k8s.io/client-go/listers/policy/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/rbac/v1", "ImportPath": "k8s.io/client-go/listers/rbac/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/storage/v1", "ImportPath": "k8s.io/client-go/listers/storage/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/listers/storage/v1beta1", "ImportPath": "k8s.io/client-go/listers/storage/v1beta1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication", "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1", "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/pkg/version", "ImportPath": "k8s.io/client-go/pkg/version",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec", "ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/rest", "ImportPath": "k8s.io/client-go/rest",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/rest/watch", "ImportPath": "k8s.io/client-go/rest/watch",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/testing", "ImportPath": "k8s.io/client-go/testing",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/auth", "ImportPath": "k8s.io/client-go/tools/auth",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/cache", "ImportPath": "k8s.io/client-go/tools/cache",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/clientcmd", "ImportPath": "k8s.io/client-go/tools/clientcmd",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/clientcmd/api", "ImportPath": "k8s.io/client-go/tools/clientcmd/api",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/metrics", "ImportPath": "k8s.io/client-go/tools/metrics",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/pager", "ImportPath": "k8s.io/client-go/tools/pager",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/record", "ImportPath": "k8s.io/client-go/tools/record",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/tools/reference", "ImportPath": "k8s.io/client-go/tools/reference",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/transport", "ImportPath": "k8s.io/client-go/transport",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/util/buffer", "ImportPath": "k8s.io/client-go/util/buffer",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/util/cert", "ImportPath": "k8s.io/client-go/util/cert",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/util/flowcontrol", "ImportPath": "k8s.io/client-go/util/flowcontrol",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/util/homedir", "ImportPath": "k8s.io/client-go/util/homedir",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/util/integer", "ImportPath": "k8s.io/client-go/util/integer",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/util/retry", "ImportPath": "k8s.io/client-go/util/retry",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/client-go/util/workqueue", "ImportPath": "k8s.io/client-go/util/workqueue",
"Rev": "01eabee36475d015bbae57ff4f5d09492fe9fbe9" "Rev": "30089d3674f3dd2ecf53eb0505b40ab05e3ad04f"
}, },
{ {
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto", "ImportPath": "k8s.io/kube-openapi/pkg/util/proto",

2
Godeps/OWNERS generated
View File

@ -1,4 +1,2 @@
reviewers:
- dep-reviewers
approvers: approvers:
- dep-approvers - dep-approvers

View File

@ -617,7 +617,7 @@ func writeWithCRLF(w io.Writer, buf []byte) (n int, err error) {
if _, err = w.Write(crlf); err != nil { if _, err = w.Write(crlf); err != nil {
return n, err return n, err
} }
n += 1 n++
buf = buf[1:] buf = buf[1:]
} }
} }

View File

@ -17,44 +17,41 @@
package terminal package terminal
import ( import (
"syscall"
"unsafe"
"golang.org/x/sys/unix" "golang.org/x/sys/unix"
) )
// State contains the state of a terminal. // State contains the state of a terminal.
type State struct { type State struct {
termios syscall.Termios termios unix.Termios
} }
// IsTerminal returns true if the given file descriptor is a terminal. // IsTerminal returns true if the given file descriptor is a terminal.
func IsTerminal(fd int) bool { func IsTerminal(fd int) bool {
var termios syscall.Termios _, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
_, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) return err == nil
return err == 0
} }
// MakeRaw put the terminal connected to the given file descriptor into raw // MakeRaw put the terminal connected to the given file descriptor into raw
// mode and returns the previous state of the terminal so that it can be // mode and returns the previous state of the terminal so that it can be
// restored. // restored.
func MakeRaw(fd int) (*State, error) { func MakeRaw(fd int) (*State, error) {
var oldState State termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState.termios)), 0, 0, 0); err != 0 { if err != nil {
return nil, err return nil, err
} }
newState := oldState.termios oldState := State{termios: *termios}
// This attempts to replicate the behaviour documented for cfmakeraw in // This attempts to replicate the behaviour documented for cfmakeraw in
// the termios(3) manpage. // the termios(3) manpage.
newState.Iflag &^= syscall.IGNBRK | syscall.BRKINT | syscall.PARMRK | syscall.ISTRIP | syscall.INLCR | syscall.IGNCR | syscall.ICRNL | syscall.IXON termios.Iflag &^= unix.IGNBRK | unix.BRKINT | unix.PARMRK | unix.ISTRIP | unix.INLCR | unix.IGNCR | unix.ICRNL | unix.IXON
newState.Oflag &^= syscall.OPOST termios.Oflag &^= unix.OPOST
newState.Lflag &^= syscall.ECHO | syscall.ECHONL | syscall.ICANON | syscall.ISIG | syscall.IEXTEN termios.Lflag &^= unix.ECHO | unix.ECHONL | unix.ICANON | unix.ISIG | unix.IEXTEN
newState.Cflag &^= syscall.CSIZE | syscall.PARENB termios.Cflag &^= unix.CSIZE | unix.PARENB
newState.Cflag |= syscall.CS8 termios.Cflag |= unix.CS8
newState.Cc[unix.VMIN] = 1 termios.Cc[unix.VMIN] = 1
newState.Cc[unix.VTIME] = 0 termios.Cc[unix.VTIME] = 0
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 { if err := unix.IoctlSetTermios(fd, ioctlWriteTermios, termios); err != nil {
return nil, err return nil, err
} }
@ -64,59 +61,55 @@ func MakeRaw(fd int) (*State, error) {
// GetState returns the current state of a terminal which may be useful to // GetState returns the current state of a terminal which may be useful to
// restore the terminal after a signal. // restore the terminal after a signal.
func GetState(fd int) (*State, error) { func GetState(fd int) (*State, error) {
var oldState State termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState.termios)), 0, 0, 0); err != 0 { if err != nil {
return nil, err return nil, err
} }
return &oldState, nil return &State{termios: *termios}, nil
} }
// Restore restores the terminal connected to the given file descriptor to a // Restore restores the terminal connected to the given file descriptor to a
// previous state. // previous state.
func Restore(fd int, state *State) error { func Restore(fd int, state *State) error {
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&state.termios)), 0, 0, 0); err != 0 { return unix.IoctlSetTermios(fd, ioctlWriteTermios, &state.termios)
return err
}
return nil
} }
// GetSize returns the dimensions of the given terminal. // GetSize returns the dimensions of the given terminal.
func GetSize(fd int) (width, height int, err error) { func GetSize(fd int) (width, height int, err error) {
var dimensions [4]uint16 ws, err := unix.IoctlGetWinsize(fd, unix.TIOCGWINSZ)
if err != nil {
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), uintptr(syscall.TIOCGWINSZ), uintptr(unsafe.Pointer(&dimensions)), 0, 0, 0); err != 0 {
return -1, -1, err return -1, -1, err
} }
return int(dimensions[1]), int(dimensions[0]), nil return int(ws.Col), int(ws.Row), nil
} }
// passwordReader is an io.Reader that reads from a specific file descriptor. // passwordReader is an io.Reader that reads from a specific file descriptor.
type passwordReader int type passwordReader int
func (r passwordReader) Read(buf []byte) (int, error) { func (r passwordReader) Read(buf []byte) (int, error) {
return syscall.Read(int(r), buf) return unix.Read(int(r), buf)
} }
// ReadPassword reads a line of input from a terminal without local echo. This // ReadPassword reads a line of input from a terminal without local echo. This
// is commonly used for inputting passwords and other sensitive data. The slice // is commonly used for inputting passwords and other sensitive data. The slice
// returned does not include the \n. // returned does not include the \n.
func ReadPassword(fd int) ([]byte, error) { func ReadPassword(fd int) ([]byte, error) {
var oldState syscall.Termios termios, err := unix.IoctlGetTermios(fd, ioctlReadTermios)
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&oldState)), 0, 0, 0); err != 0 { if err != nil {
return nil, err return nil, err
} }
newState := oldState newState := *termios
newState.Lflag &^= syscall.ECHO newState.Lflag &^= unix.ECHO
newState.Lflag |= syscall.ICANON | syscall.ISIG newState.Lflag |= unix.ICANON | unix.ISIG
newState.Iflag |= syscall.ICRNL newState.Iflag |= unix.ICRNL
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 { if err := unix.IoctlSetTermios(fd, ioctlWriteTermios, &newState); err != nil {
return nil, err return nil, err
} }
defer func() { defer func() {
syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&oldState)), 0, 0, 0) unix.IoctlSetTermios(fd, ioctlWriteTermios, termios)
}() }()
return readPasswordLine(passwordReader(fd)) return readPasswordLine(passwordReader(fd))

View File

@ -17,6 +17,8 @@
package terminal package terminal
import ( import (
"os"
"golang.org/x/sys/windows" "golang.org/x/sys/windows"
) )
@ -71,13 +73,6 @@ func GetSize(fd int) (width, height int, err error) {
return int(info.Size.X), int(info.Size.Y), nil return int(info.Size.X), int(info.Size.Y), nil
} }
// passwordReader is an io.Reader that reads from a specific Windows HANDLE.
type passwordReader int
func (r passwordReader) Read(buf []byte) (int, error) {
return windows.Read(windows.Handle(r), buf)
}
// ReadPassword reads a line of input from a terminal without local echo. This // ReadPassword reads a line of input from a terminal without local echo. This
// is commonly used for inputting passwords and other sensitive data. The slice // is commonly used for inputting passwords and other sensitive data. The slice
// returned does not include the \n. // returned does not include the \n.
@ -98,5 +93,13 @@ func ReadPassword(fd int) ([]byte, error) {
windows.SetConsoleMode(windows.Handle(fd), old) windows.SetConsoleMode(windows.Handle(fd), old)
}() }()
return readPasswordLine(passwordReader(fd)) var h windows.Handle
p, _ := windows.GetCurrentProcess()
if err := windows.DuplicateHandle(p, windows.Handle(fd), p, &h, 0, false, windows.DUPLICATE_SAME_ACCESS); err != nil {
return nil, err
}
f := os.NewFile(uintptr(h), "stdin")
defer f.Close()
return readPasswordLine(f)
} }

View File

@ -34,14 +34,14 @@ option go_package = "v1beta1";
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used. // AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
message AllowedFlexVolume { message AllowedFlexVolume {
// Driver is the name of the Flexvolume driver. // driver is the name of the Flexvolume driver.
optional string driver = 1; optional string driver = 1;
} }
// defines the host volume conditions that will be enabled by a policy // AllowedHostPath defines the host volume conditions that will be enabled by a policy
// for pods to use. It requires the path prefix to be defined. // for pods to use. It requires the path prefix to be defined.
message AllowedHostPath { message AllowedHostPath {
// is the path prefix that the host volume must match. // pathPrefix is the path prefix that the host volume must match.
// It does not support `*`. // It does not support `*`.
// Trailing slashes are trimmed when validating the path prefix with a host path. // Trailing slashes are trimmed when validating the path prefix with a host path.
// //
@ -410,12 +410,12 @@ message DeploymentStrategy {
// FSGroupStrategyOptions defines the strategy type and options used to create the strategy. // FSGroupStrategyOptions defines the strategy type and options used to create the strategy.
message FSGroupStrategyOptions { message FSGroupStrategyOptions {
// Rule is the strategy that will dictate what FSGroup is used in the SecurityContext. // rule is the strategy that will dictate what FSGroup is used in the SecurityContext.
// +optional // +optional
optional string rule = 1; optional string rule = 1;
// Ranges are the allowed ranges of fs groups. If you would like to force a single // ranges are the allowed ranges of fs groups. If you would like to force a single
// fs group then supply a single range with the same start and end. // fs group then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
repeated IDRange ranges = 2; repeated IDRange ranges = 2;
} }
@ -460,10 +460,10 @@ message HostPortRange {
// IDRange provides a min/max of an allowed range of IDs. // IDRange provides a min/max of an allowed range of IDs.
message IDRange { message IDRange {
// Min is the start of the range, inclusive. // min is the start of the range, inclusive.
optional int64 min = 1; optional int64 min = 1;
// Max is the end of the range, inclusive. // max is the end of the range, inclusive.
optional int64 max = 2; optional int64 max = 2;
} }
@ -775,7 +775,7 @@ message PodSecurityPolicyList {
// +optional // +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
// Items is a list of schema objects. // items is a list of schema objects.
repeated PodSecurityPolicy items = 2; repeated PodSecurityPolicy items = 2;
} }
@ -785,26 +785,26 @@ message PodSecurityPolicySpec {
// +optional // +optional
optional bool privileged = 1; optional bool privileged = 1;
// DefaultAddCapabilities is the default set of capabilities that will be added to the container // defaultAddCapabilities is the default set of capabilities that will be added to the container
// unless the pod spec specifically drops the capability. You may not list a capability in both // unless the pod spec specifically drops the capability. You may not list a capability in both
// DefaultAddCapabilities and RequiredDropCapabilities. Capabilities added here are implicitly // defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly
// allowed, and need not be included in the AllowedCapabilities list. // allowed, and need not be included in the allowedCapabilities list.
// +optional // +optional
repeated string defaultAddCapabilities = 2; repeated string defaultAddCapabilities = 2;
// RequiredDropCapabilities are the capabilities that will be dropped from the container. These // requiredDropCapabilities are the capabilities that will be dropped from the container. These
// are required to be dropped and cannot be added. // are required to be dropped and cannot be added.
// +optional // +optional
repeated string requiredDropCapabilities = 3; repeated string requiredDropCapabilities = 3;
// AllowedCapabilities is a list of capabilities that can be requested to add to the container. // allowedCapabilities is a list of capabilities that can be requested to add to the container.
// Capabilities in this field may be added at the pod author's discretion. // Capabilities in this field may be added at the pod author's discretion.
// You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. // You must not list a capability in both allowedCapabilities and requiredDropCapabilities.
// +optional // +optional
repeated string allowedCapabilities = 4; repeated string allowedCapabilities = 4;
// volumes is a white list of allowed volume plugins. Empty indicates that all plugins // volumes is a white list of allowed volume plugins. Empty indicates that
// may be used. // no volumes may be used. To allow all volumes you may use '*'.
// +optional // +optional
repeated string volumes = 5; repeated string volumes = 5;
@ -830,13 +830,13 @@ message PodSecurityPolicySpec {
// runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set. // runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.
optional RunAsUserStrategyOptions runAsUser = 11; optional RunAsUserStrategyOptions runAsUser = 11;
// SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. // supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.
optional SupplementalGroupsStrategyOptions supplementalGroups = 12; optional SupplementalGroupsStrategyOptions supplementalGroups = 12;
// FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. // fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.
optional FSGroupStrategyOptions fsGroup = 13; optional FSGroupStrategyOptions fsGroup = 13;
// ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file // readOnlyRootFilesystem when set to true will force containers to run with a read only root file
// system. If the container specifically requests to run with a non-read only root file system // system. If the container specifically requests to run with a non-read only root file system
// the PSP should deny the pod. // the PSP should deny the pod.
// If set to false the container may run with a read only root file system if it wishes but it // If set to false the container may run with a read only root file system if it wishes but it
@ -844,23 +844,24 @@ message PodSecurityPolicySpec {
// +optional // +optional
optional bool readOnlyRootFilesystem = 14; optional bool readOnlyRootFilesystem = 14;
// DefaultAllowPrivilegeEscalation controls the default setting for whether a // defaultAllowPrivilegeEscalation controls the default setting for whether a
// process can gain more privileges than its parent process. // process can gain more privileges than its parent process.
// +optional // +optional
optional bool defaultAllowPrivilegeEscalation = 15; optional bool defaultAllowPrivilegeEscalation = 15;
// AllowPrivilegeEscalation determines if a pod can request to allow // allowPrivilegeEscalation determines if a pod can request to allow
// privilege escalation. If unspecified, defaults to true. // privilege escalation. If unspecified, defaults to true.
// +optional // +optional
optional bool allowPrivilegeEscalation = 16; optional bool allowPrivilegeEscalation = 16;
// is a white list of allowed host paths. Empty indicates that all host paths may be used. // allowedHostPaths is a white list of allowed host paths. Empty indicates
// that all host paths may be used.
// +optional // +optional
repeated AllowedHostPath allowedHostPaths = 17; repeated AllowedHostPath allowedHostPaths = 17;
// AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all // allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all
// Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes // Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes
// is allowed in the "Volumes" field. // is allowed in the "volumes" field.
// +optional // +optional
repeated AllowedFlexVolume allowedFlexVolumes = 18; repeated AllowedFlexVolume allowedFlexVolumes = 18;
} }
@ -1043,17 +1044,18 @@ message RollingUpdateDeployment {
// RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. // RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.
message RunAsUserStrategyOptions { message RunAsUserStrategyOptions {
// Rule is the strategy that will dictate the allowable RunAsUser values that may be set. // rule is the strategy that will dictate the allowable RunAsUser values that may be set.
optional string rule = 1; optional string rule = 1;
// Ranges are the allowed ranges of uids that may be used. // ranges are the allowed ranges of uids that may be used. If you would like to force a single uid
// then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
repeated IDRange ranges = 2; repeated IDRange ranges = 2;
} }
// SELinuxStrategyOptions defines the strategy type and any options used to create the strategy. // SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.
message SELinuxStrategyOptions { message SELinuxStrategyOptions {
// type is the strategy that will dictate the allowable labels that may be set. // rule is the strategy that will dictate the allowable labels that may be set.
optional string rule = 1; optional string rule = 1;
// seLinuxOptions required to run as; required for MustRunAs // seLinuxOptions required to run as; required for MustRunAs
@ -1105,12 +1107,12 @@ message ScaleStatus {
// SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. // SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.
message SupplementalGroupsStrategyOptions { message SupplementalGroupsStrategyOptions {
// Rule is the strategy that will dictate what supplemental groups is used in the SecurityContext. // rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.
// +optional // +optional
optional string rule = 1; optional string rule = 1;
// Ranges are the allowed ranges of supplemental groups. If you would like to force a single // ranges are the allowed ranges of supplemental groups. If you would like to force a single
// supplemental group then supply a single range with the same start and end. // supplemental group then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
repeated IDRange ranges = 2; repeated IDRange ranges = 2;
} }

View File

@ -881,23 +881,23 @@ type PodSecurityPolicySpec struct {
// privileged determines if a pod can request to be run as privileged. // privileged determines if a pod can request to be run as privileged.
// +optional // +optional
Privileged bool `json:"privileged,omitempty" protobuf:"varint,1,opt,name=privileged"` Privileged bool `json:"privileged,omitempty" protobuf:"varint,1,opt,name=privileged"`
// DefaultAddCapabilities is the default set of capabilities that will be added to the container // defaultAddCapabilities is the default set of capabilities that will be added to the container
// unless the pod spec specifically drops the capability. You may not list a capability in both // unless the pod spec specifically drops the capability. You may not list a capability in both
// DefaultAddCapabilities and RequiredDropCapabilities. Capabilities added here are implicitly // defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly
// allowed, and need not be included in the AllowedCapabilities list. // allowed, and need not be included in the allowedCapabilities list.
// +optional // +optional
DefaultAddCapabilities []v1.Capability `json:"defaultAddCapabilities,omitempty" protobuf:"bytes,2,rep,name=defaultAddCapabilities,casttype=k8s.io/api/core/v1.Capability"` DefaultAddCapabilities []v1.Capability `json:"defaultAddCapabilities,omitempty" protobuf:"bytes,2,rep,name=defaultAddCapabilities,casttype=k8s.io/api/core/v1.Capability"`
// RequiredDropCapabilities are the capabilities that will be dropped from the container. These // requiredDropCapabilities are the capabilities that will be dropped from the container. These
// are required to be dropped and cannot be added. // are required to be dropped and cannot be added.
// +optional // +optional
RequiredDropCapabilities []v1.Capability `json:"requiredDropCapabilities,omitempty" protobuf:"bytes,3,rep,name=requiredDropCapabilities,casttype=k8s.io/api/core/v1.Capability"` RequiredDropCapabilities []v1.Capability `json:"requiredDropCapabilities,omitempty" protobuf:"bytes,3,rep,name=requiredDropCapabilities,casttype=k8s.io/api/core/v1.Capability"`
// AllowedCapabilities is a list of capabilities that can be requested to add to the container. // allowedCapabilities is a list of capabilities that can be requested to add to the container.
// Capabilities in this field may be added at the pod author's discretion. // Capabilities in this field may be added at the pod author's discretion.
// You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. // You must not list a capability in both allowedCapabilities and requiredDropCapabilities.
// +optional // +optional
AllowedCapabilities []v1.Capability `json:"allowedCapabilities,omitempty" protobuf:"bytes,4,rep,name=allowedCapabilities,casttype=k8s.io/api/core/v1.Capability"` AllowedCapabilities []v1.Capability `json:"allowedCapabilities,omitempty" protobuf:"bytes,4,rep,name=allowedCapabilities,casttype=k8s.io/api/core/v1.Capability"`
// volumes is a white list of allowed volume plugins. Empty indicates that all plugins // volumes is a white list of allowed volume plugins. Empty indicates that
// may be used. // no volumes may be used. To allow all volumes you may use '*'.
// +optional // +optional
Volumes []FSType `json:"volumes,omitempty" protobuf:"bytes,5,rep,name=volumes,casttype=FSType"` Volumes []FSType `json:"volumes,omitempty" protobuf:"bytes,5,rep,name=volumes,casttype=FSType"`
// hostNetwork determines if the policy allows the use of HostNetwork in the pod spec. // hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.
@ -916,39 +916,40 @@ type PodSecurityPolicySpec struct {
SELinux SELinuxStrategyOptions `json:"seLinux" protobuf:"bytes,10,opt,name=seLinux"` SELinux SELinuxStrategyOptions `json:"seLinux" protobuf:"bytes,10,opt,name=seLinux"`
// runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set. // runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.
RunAsUser RunAsUserStrategyOptions `json:"runAsUser" protobuf:"bytes,11,opt,name=runAsUser"` RunAsUser RunAsUserStrategyOptions `json:"runAsUser" protobuf:"bytes,11,opt,name=runAsUser"`
// SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. // supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.
SupplementalGroups SupplementalGroupsStrategyOptions `json:"supplementalGroups" protobuf:"bytes,12,opt,name=supplementalGroups"` SupplementalGroups SupplementalGroupsStrategyOptions `json:"supplementalGroups" protobuf:"bytes,12,opt,name=supplementalGroups"`
// FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. // fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.
FSGroup FSGroupStrategyOptions `json:"fsGroup" protobuf:"bytes,13,opt,name=fsGroup"` FSGroup FSGroupStrategyOptions `json:"fsGroup" protobuf:"bytes,13,opt,name=fsGroup"`
// ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file // readOnlyRootFilesystem when set to true will force containers to run with a read only root file
// system. If the container specifically requests to run with a non-read only root file system // system. If the container specifically requests to run with a non-read only root file system
// the PSP should deny the pod. // the PSP should deny the pod.
// If set to false the container may run with a read only root file system if it wishes but it // If set to false the container may run with a read only root file system if it wishes but it
// will not be forced to. // will not be forced to.
// +optional // +optional
ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem,omitempty" protobuf:"varint,14,opt,name=readOnlyRootFilesystem"` ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem,omitempty" protobuf:"varint,14,opt,name=readOnlyRootFilesystem"`
// DefaultAllowPrivilegeEscalation controls the default setting for whether a // defaultAllowPrivilegeEscalation controls the default setting for whether a
// process can gain more privileges than its parent process. // process can gain more privileges than its parent process.
// +optional // +optional
DefaultAllowPrivilegeEscalation *bool `json:"defaultAllowPrivilegeEscalation,omitempty" protobuf:"varint,15,opt,name=defaultAllowPrivilegeEscalation"` DefaultAllowPrivilegeEscalation *bool `json:"defaultAllowPrivilegeEscalation,omitempty" protobuf:"varint,15,opt,name=defaultAllowPrivilegeEscalation"`
// AllowPrivilegeEscalation determines if a pod can request to allow // allowPrivilegeEscalation determines if a pod can request to allow
// privilege escalation. If unspecified, defaults to true. // privilege escalation. If unspecified, defaults to true.
// +optional // +optional
AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty" protobuf:"varint,16,opt,name=allowPrivilegeEscalation"` AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty" protobuf:"varint,16,opt,name=allowPrivilegeEscalation"`
// is a white list of allowed host paths. Empty indicates that all host paths may be used. // allowedHostPaths is a white list of allowed host paths. Empty indicates
// that all host paths may be used.
// +optional // +optional
AllowedHostPaths []AllowedHostPath `json:"allowedHostPaths,omitempty" protobuf:"bytes,17,rep,name=allowedHostPaths"` AllowedHostPaths []AllowedHostPath `json:"allowedHostPaths,omitempty" protobuf:"bytes,17,rep,name=allowedHostPaths"`
// AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all // allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all
// Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes // Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes
// is allowed in the "Volumes" field. // is allowed in the "volumes" field.
// +optional // +optional
AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,18,rep,name=allowedFlexVolumes"` AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,18,rep,name=allowedFlexVolumes"`
} }
// defines the host volume conditions that will be enabled by a policy // AllowedHostPath defines the host volume conditions that will be enabled by a policy
// for pods to use. It requires the path prefix to be defined. // for pods to use. It requires the path prefix to be defined.
type AllowedHostPath struct { type AllowedHostPath struct {
// is the path prefix that the host volume must match. // pathPrefix is the path prefix that the host volume must match.
// It does not support `*`. // It does not support `*`.
// Trailing slashes are trimmed when validating the path prefix with a host path. // Trailing slashes are trimmed when validating the path prefix with a host path.
// //
@ -988,7 +989,7 @@ var (
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used. // AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
type AllowedFlexVolume struct { type AllowedFlexVolume struct {
// Driver is the name of the Flexvolume driver. // driver is the name of the Flexvolume driver.
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"` Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
} }
@ -1003,7 +1004,7 @@ type HostPortRange struct {
// SELinuxStrategyOptions defines the strategy type and any options used to create the strategy. // SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.
type SELinuxStrategyOptions struct { type SELinuxStrategyOptions struct {
// type is the strategy that will dictate the allowable labels that may be set. // rule is the strategy that will dictate the allowable labels that may be set.
Rule SELinuxStrategy `json:"rule" protobuf:"bytes,1,opt,name=rule,casttype=SELinuxStrategy"` Rule SELinuxStrategy `json:"rule" protobuf:"bytes,1,opt,name=rule,casttype=SELinuxStrategy"`
// seLinuxOptions required to run as; required for MustRunAs // seLinuxOptions required to run as; required for MustRunAs
// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
@ -1016,26 +1017,27 @@ type SELinuxStrategyOptions struct {
type SELinuxStrategy string type SELinuxStrategy string
const ( const (
// container must have SELinux labels of X applied. // SELinuxStrategyMustRunAs means that container must have SELinux labels of X applied.
SELinuxStrategyMustRunAs SELinuxStrategy = "MustRunAs" SELinuxStrategyMustRunAs SELinuxStrategy = "MustRunAs"
// container may make requests for any SELinux context labels. // SELinuxStrategyRunAsAny means that container may make requests for any SELinux context labels.
SELinuxStrategyRunAsAny SELinuxStrategy = "RunAsAny" SELinuxStrategyRunAsAny SELinuxStrategy = "RunAsAny"
) )
// RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. // RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.
type RunAsUserStrategyOptions struct { type RunAsUserStrategyOptions struct {
// Rule is the strategy that will dictate the allowable RunAsUser values that may be set. // rule is the strategy that will dictate the allowable RunAsUser values that may be set.
Rule RunAsUserStrategy `json:"rule" protobuf:"bytes,1,opt,name=rule,casttype=RunAsUserStrategy"` Rule RunAsUserStrategy `json:"rule" protobuf:"bytes,1,opt,name=rule,casttype=RunAsUserStrategy"`
// Ranges are the allowed ranges of uids that may be used. // ranges are the allowed ranges of uids that may be used. If you would like to force a single uid
// then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"`
} }
// IDRange provides a min/max of an allowed range of IDs. // IDRange provides a min/max of an allowed range of IDs.
type IDRange struct { type IDRange struct {
// Min is the start of the range, inclusive. // min is the start of the range, inclusive.
Min int64 `json:"min" protobuf:"varint,1,opt,name=min"` Min int64 `json:"min" protobuf:"varint,1,opt,name=min"`
// Max is the end of the range, inclusive. // max is the end of the range, inclusive.
Max int64 `json:"max" protobuf:"varint,2,opt,name=max"` Max int64 `json:"max" protobuf:"varint,2,opt,name=max"`
} }
@ -1044,21 +1046,21 @@ type IDRange struct {
type RunAsUserStrategy string type RunAsUserStrategy string
const ( const (
// container must run as a particular uid. // RunAsUserStrategyMustRunAs means that container must run as a particular uid.
RunAsUserStrategyMustRunAs RunAsUserStrategy = "MustRunAs" RunAsUserStrategyMustRunAs RunAsUserStrategy = "MustRunAs"
// container must run as a non-root uid // RunAsUserStrategyMustRunAsNonRoot means that container must run as a non-root uid.
RunAsUserStrategyMustRunAsNonRoot RunAsUserStrategy = "MustRunAsNonRoot" RunAsUserStrategyMustRunAsNonRoot RunAsUserStrategy = "MustRunAsNonRoot"
// container may make requests for any uid. // RunAsUserStrategyRunAsAny means that container may make requests for any uid.
RunAsUserStrategyRunAsAny RunAsUserStrategy = "RunAsAny" RunAsUserStrategyRunAsAny RunAsUserStrategy = "RunAsAny"
) )
// FSGroupStrategyOptions defines the strategy type and options used to create the strategy. // FSGroupStrategyOptions defines the strategy type and options used to create the strategy.
type FSGroupStrategyOptions struct { type FSGroupStrategyOptions struct {
// Rule is the strategy that will dictate what FSGroup is used in the SecurityContext. // rule is the strategy that will dictate what FSGroup is used in the SecurityContext.
// +optional // +optional
Rule FSGroupStrategyType `json:"rule,omitempty" protobuf:"bytes,1,opt,name=rule,casttype=FSGroupStrategyType"` Rule FSGroupStrategyType `json:"rule,omitempty" protobuf:"bytes,1,opt,name=rule,casttype=FSGroupStrategyType"`
// Ranges are the allowed ranges of fs groups. If you would like to force a single // ranges are the allowed ranges of fs groups. If you would like to force a single
// fs group then supply a single range with the same start and end. // fs group then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"`
} }
@ -1068,19 +1070,19 @@ type FSGroupStrategyOptions struct {
type FSGroupStrategyType string type FSGroupStrategyType string
const ( const (
// container must have FSGroup of X applied. // FSGroupStrategyMustRunAs meant that container must have FSGroup of X applied.
FSGroupStrategyMustRunAs FSGroupStrategyType = "MustRunAs" FSGroupStrategyMustRunAs FSGroupStrategyType = "MustRunAs"
// container may make requests for any FSGroup labels. // FSGroupStrategyRunAsAny means that container may make requests for any FSGroup labels.
FSGroupStrategyRunAsAny FSGroupStrategyType = "RunAsAny" FSGroupStrategyRunAsAny FSGroupStrategyType = "RunAsAny"
) )
// SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. // SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.
type SupplementalGroupsStrategyOptions struct { type SupplementalGroupsStrategyOptions struct {
// Rule is the strategy that will dictate what supplemental groups is used in the SecurityContext. // rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.
// +optional // +optional
Rule SupplementalGroupsStrategyType `json:"rule,omitempty" protobuf:"bytes,1,opt,name=rule,casttype=SupplementalGroupsStrategyType"` Rule SupplementalGroupsStrategyType `json:"rule,omitempty" protobuf:"bytes,1,opt,name=rule,casttype=SupplementalGroupsStrategyType"`
// Ranges are the allowed ranges of supplemental groups. If you would like to force a single // ranges are the allowed ranges of supplemental groups. If you would like to force a single
// supplemental group then supply a single range with the same start and end. // supplemental group then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"`
} }
@ -1090,9 +1092,9 @@ type SupplementalGroupsStrategyOptions struct {
type SupplementalGroupsStrategyType string type SupplementalGroupsStrategyType string
const ( const (
// container must run as a particular gid. // SupplementalGroupsStrategyMustRunAs means that container must run as a particular gid.
SupplementalGroupsStrategyMustRunAs SupplementalGroupsStrategyType = "MustRunAs" SupplementalGroupsStrategyMustRunAs SupplementalGroupsStrategyType = "MustRunAs"
// container may make requests for any gid. // SupplementalGroupsStrategyRunAsAny means that container may make requests for any gid.
SupplementalGroupsStrategyRunAsAny SupplementalGroupsStrategyType = "RunAsAny" SupplementalGroupsStrategyRunAsAny SupplementalGroupsStrategyType = "RunAsAny"
) )
@ -1106,7 +1108,7 @@ type PodSecurityPolicyList struct {
// +optional // +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Items is a list of schema objects. // items is a list of schema objects.
Items []PodSecurityPolicy `json:"items" protobuf:"bytes,2,rep,name=items"` Items []PodSecurityPolicy `json:"items" protobuf:"bytes,2,rep,name=items"`
} }

View File

@ -29,7 +29,7 @@ package v1beta1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT. // AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_AllowedFlexVolume = map[string]string{ var map_AllowedFlexVolume = map[string]string{
"": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used.", "": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used.",
"driver": "Driver is the name of the Flexvolume driver.", "driver": "driver is the name of the Flexvolume driver.",
} }
func (AllowedFlexVolume) SwaggerDoc() map[string]string { func (AllowedFlexVolume) SwaggerDoc() map[string]string {
@ -37,8 +37,8 @@ func (AllowedFlexVolume) SwaggerDoc() map[string]string {
} }
var map_AllowedHostPath = map[string]string{ var map_AllowedHostPath = map[string]string{
"": "defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined.", "": "AllowedHostPath defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined.",
"pathPrefix": "is the path prefix that the host volume must match. It does not support `*`. Trailing slashes are trimmed when validating the path prefix with a host path.\n\nExamples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo`", "pathPrefix": "pathPrefix is the path prefix that the host volume must match. It does not support `*`. Trailing slashes are trimmed when validating the path prefix with a host path.\n\nExamples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo`",
} }
func (AllowedHostPath) SwaggerDoc() map[string]string { func (AllowedHostPath) SwaggerDoc() map[string]string {
@ -230,8 +230,8 @@ func (DeploymentStrategy) SwaggerDoc() map[string]string {
var map_FSGroupStrategyOptions = map[string]string{ var map_FSGroupStrategyOptions = map[string]string{
"": "FSGroupStrategyOptions defines the strategy type and options used to create the strategy.", "": "FSGroupStrategyOptions defines the strategy type and options used to create the strategy.",
"rule": "Rule is the strategy that will dictate what FSGroup is used in the SecurityContext.", "rule": "rule is the strategy that will dictate what FSGroup is used in the SecurityContext.",
"ranges": "Ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end.", "ranges": "ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end. Required for MustRunAs.",
} }
func (FSGroupStrategyOptions) SwaggerDoc() map[string]string { func (FSGroupStrategyOptions) SwaggerDoc() map[string]string {
@ -269,8 +269,8 @@ func (HostPortRange) SwaggerDoc() map[string]string {
var map_IDRange = map[string]string{ var map_IDRange = map[string]string{
"": "IDRange provides a min/max of an allowed range of IDs.", "": "IDRange provides a min/max of an allowed range of IDs.",
"min": "Min is the start of the range, inclusive.", "min": "min is the start of the range, inclusive.",
"max": "Max is the end of the range, inclusive.", "max": "max is the end of the range, inclusive.",
} }
func (IDRange) SwaggerDoc() map[string]string { func (IDRange) SwaggerDoc() map[string]string {
@ -451,7 +451,7 @@ func (PodSecurityPolicy) SwaggerDoc() map[string]string {
var map_PodSecurityPolicyList = map[string]string{ var map_PodSecurityPolicyList = map[string]string{
"": "PodSecurityPolicyList is a list of PodSecurityPolicy objects.", "": "PodSecurityPolicyList is a list of PodSecurityPolicy objects.",
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
"items": "Items is a list of schema objects.", "items": "items is a list of schema objects.",
} }
func (PodSecurityPolicyList) SwaggerDoc() map[string]string { func (PodSecurityPolicyList) SwaggerDoc() map[string]string {
@ -461,23 +461,23 @@ func (PodSecurityPolicyList) SwaggerDoc() map[string]string {
var map_PodSecurityPolicySpec = map[string]string{ var map_PodSecurityPolicySpec = map[string]string{
"": "PodSecurityPolicySpec defines the policy enforced.", "": "PodSecurityPolicySpec defines the policy enforced.",
"privileged": "privileged determines if a pod can request to be run as privileged.", "privileged": "privileged determines if a pod can request to be run as privileged.",
"defaultAddCapabilities": "DefaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capability in both DefaultAddCapabilities and RequiredDropCapabilities. Capabilities added here are implicitly allowed, and need not be included in the AllowedCapabilities list.", "defaultAddCapabilities": "defaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capability in both defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly allowed, and need not be included in the allowedCapabilities list.",
"requiredDropCapabilities": "RequiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.", "requiredDropCapabilities": "requiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.",
"allowedCapabilities": "AllowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities.", "allowedCapabilities": "allowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both allowedCapabilities and requiredDropCapabilities.",
"volumes": "volumes is a white list of allowed volume plugins. Empty indicates that all plugins may be used.", "volumes": "volumes is a white list of allowed volume plugins. Empty indicates that no volumes may be used. To allow all volumes you may use '*'.",
"hostNetwork": "hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.", "hostNetwork": "hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.",
"hostPorts": "hostPorts determines which host port ranges are allowed to be exposed.", "hostPorts": "hostPorts determines which host port ranges are allowed to be exposed.",
"hostPID": "hostPID determines if the policy allows the use of HostPID in the pod spec.", "hostPID": "hostPID determines if the policy allows the use of HostPID in the pod spec.",
"hostIPC": "hostIPC determines if the policy allows the use of HostIPC in the pod spec.", "hostIPC": "hostIPC determines if the policy allows the use of HostIPC in the pod spec.",
"seLinux": "seLinux is the strategy that will dictate the allowable labels that may be set.", "seLinux": "seLinux is the strategy that will dictate the allowable labels that may be set.",
"runAsUser": "runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.", "runAsUser": "runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.",
"supplementalGroups": "SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.", "supplementalGroups": "supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.",
"fsGroup": "FSGroup is the strategy that will dictate what fs group is used by the SecurityContext.", "fsGroup": "fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.",
"readOnlyRootFilesystem": "ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.", "readOnlyRootFilesystem": "readOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.",
"defaultAllowPrivilegeEscalation": "DefaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.", "defaultAllowPrivilegeEscalation": "defaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.",
"allowPrivilegeEscalation": "AllowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.", "allowPrivilegeEscalation": "allowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.",
"allowedHostPaths": "is a white list of allowed host paths. Empty indicates that all host paths may be used.", "allowedHostPaths": "allowedHostPaths is a white list of allowed host paths. Empty indicates that all host paths may be used.",
"allowedFlexVolumes": "AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"Volumes\" field.", "allowedFlexVolumes": "allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"volumes\" field.",
} }
func (PodSecurityPolicySpec) SwaggerDoc() map[string]string { func (PodSecurityPolicySpec) SwaggerDoc() map[string]string {
@ -582,8 +582,8 @@ func (RollingUpdateDeployment) SwaggerDoc() map[string]string {
var map_RunAsUserStrategyOptions = map[string]string{ var map_RunAsUserStrategyOptions = map[string]string{
"": "RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.", "": "RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.",
"rule": "Rule is the strategy that will dictate the allowable RunAsUser values that may be set.", "rule": "rule is the strategy that will dictate the allowable RunAsUser values that may be set.",
"ranges": "Ranges are the allowed ranges of uids that may be used.", "ranges": "ranges are the allowed ranges of uids that may be used. If you would like to force a single uid then supply a single range with the same start and end. Required for MustRunAs.",
} }
func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string { func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string {
@ -592,7 +592,7 @@ func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string {
var map_SELinuxStrategyOptions = map[string]string{ var map_SELinuxStrategyOptions = map[string]string{
"": "SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.", "": "SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.",
"rule": "type is the strategy that will dictate the allowable labels that may be set.", "rule": "rule is the strategy that will dictate the allowable labels that may be set.",
"seLinuxOptions": "seLinuxOptions required to run as; required for MustRunAs More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/", "seLinuxOptions": "seLinuxOptions required to run as; required for MustRunAs More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
} }
@ -633,8 +633,8 @@ func (ScaleStatus) SwaggerDoc() map[string]string {
var map_SupplementalGroupsStrategyOptions = map[string]string{ var map_SupplementalGroupsStrategyOptions = map[string]string{
"": "SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.", "": "SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.",
"rule": "Rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.", "rule": "rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.",
"ranges": "Ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end.", "ranges": "ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end. Required for MustRunAs.",
} }
func (SupplementalGroupsStrategyOptions) SwaggerDoc() map[string]string { func (SupplementalGroupsStrategyOptions) SwaggerDoc() map[string]string {

View File

@ -32,14 +32,14 @@ option go_package = "v1beta1";
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used. // AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
message AllowedFlexVolume { message AllowedFlexVolume {
// Driver is the name of the Flexvolume driver. // driver is the name of the Flexvolume driver.
optional string driver = 1; optional string driver = 1;
} }
// defines the host volume conditions that will be enabled by a policy // AllowedHostPath defines the host volume conditions that will be enabled by a policy
// for pods to use. It requires the path prefix to be defined. // for pods to use. It requires the path prefix to be defined.
message AllowedHostPath { message AllowedHostPath {
// is the path prefix that the host volume must match. // pathPrefix is the path prefix that the host volume must match.
// It does not support `*`. // It does not support `*`.
// Trailing slashes are trimmed when validating the path prefix with a host path. // Trailing slashes are trimmed when validating the path prefix with a host path.
// //
@ -62,12 +62,12 @@ message Eviction {
// FSGroupStrategyOptions defines the strategy type and options used to create the strategy. // FSGroupStrategyOptions defines the strategy type and options used to create the strategy.
message FSGroupStrategyOptions { message FSGroupStrategyOptions {
// Rule is the strategy that will dictate what FSGroup is used in the SecurityContext. // rule is the strategy that will dictate what FSGroup is used in the SecurityContext.
// +optional // +optional
optional string rule = 1; optional string rule = 1;
// Ranges are the allowed ranges of fs groups. If you would like to force a single // ranges are the allowed ranges of fs groups. If you would like to force a single
// fs group then supply a single range with the same start and end. // fs group then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
repeated IDRange ranges = 2; repeated IDRange ranges = 2;
} }
@ -84,10 +84,10 @@ message HostPortRange {
// IDRange provides a min/max of an allowed range of IDs. // IDRange provides a min/max of an allowed range of IDs.
message IDRange { message IDRange {
// Min is the start of the range, inclusive. // min is the start of the range, inclusive.
optional int64 min = 1; optional int64 min = 1;
// Max is the end of the range, inclusive. // max is the end of the range, inclusive.
optional int64 max = 2; optional int64 max = 2;
} }
@ -182,7 +182,7 @@ message PodSecurityPolicyList {
// +optional // +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
// Items is a list of schema objects. // items is a list of schema objects.
repeated PodSecurityPolicy items = 2; repeated PodSecurityPolicy items = 2;
} }
@ -192,26 +192,26 @@ message PodSecurityPolicySpec {
// +optional // +optional
optional bool privileged = 1; optional bool privileged = 1;
// DefaultAddCapabilities is the default set of capabilities that will be added to the container // defaultAddCapabilities is the default set of capabilities that will be added to the container
// unless the pod spec specifically drops the capability. You may not list a capability in both // unless the pod spec specifically drops the capability. You may not list a capability in both
// DefaultAddCapabilities and RequiredDropCapabilities. Capabilities added here are implicitly // defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly
// allowed, and need not be included in the AllowedCapabilities list. // allowed, and need not be included in the allowedCapabilities list.
// +optional // +optional
repeated string defaultAddCapabilities = 2; repeated string defaultAddCapabilities = 2;
// RequiredDropCapabilities are the capabilities that will be dropped from the container. These // requiredDropCapabilities are the capabilities that will be dropped from the container. These
// are required to be dropped and cannot be added. // are required to be dropped and cannot be added.
// +optional // +optional
repeated string requiredDropCapabilities = 3; repeated string requiredDropCapabilities = 3;
// AllowedCapabilities is a list of capabilities that can be requested to add to the container. // allowedCapabilities is a list of capabilities that can be requested to add to the container.
// Capabilities in this field may be added at the pod author's discretion. // Capabilities in this field may be added at the pod author's discretion.
// You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. // You must not list a capability in both allowedCapabilities and requiredDropCapabilities.
// +optional // +optional
repeated string allowedCapabilities = 4; repeated string allowedCapabilities = 4;
// volumes is a white list of allowed volume plugins. Empty indicates that all plugins // volumes is a white list of allowed volume plugins. Empty indicates that
// may be used. // no volumes may be used. To allow all volumes you may use '*'.
// +optional // +optional
repeated string volumes = 5; repeated string volumes = 5;
@ -237,13 +237,13 @@ message PodSecurityPolicySpec {
// runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set. // runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.
optional RunAsUserStrategyOptions runAsUser = 11; optional RunAsUserStrategyOptions runAsUser = 11;
// SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. // supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.
optional SupplementalGroupsStrategyOptions supplementalGroups = 12; optional SupplementalGroupsStrategyOptions supplementalGroups = 12;
// FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. // fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.
optional FSGroupStrategyOptions fsGroup = 13; optional FSGroupStrategyOptions fsGroup = 13;
// ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file // readOnlyRootFilesystem when set to true will force containers to run with a read only root file
// system. If the container specifically requests to run with a non-read only root file system // system. If the container specifically requests to run with a non-read only root file system
// the PSP should deny the pod. // the PSP should deny the pod.
// If set to false the container may run with a read only root file system if it wishes but it // If set to false the container may run with a read only root file system if it wishes but it
@ -251,40 +251,42 @@ message PodSecurityPolicySpec {
// +optional // +optional
optional bool readOnlyRootFilesystem = 14; optional bool readOnlyRootFilesystem = 14;
// DefaultAllowPrivilegeEscalation controls the default setting for whether a // defaultAllowPrivilegeEscalation controls the default setting for whether a
// process can gain more privileges than its parent process. // process can gain more privileges than its parent process.
// +optional // +optional
optional bool defaultAllowPrivilegeEscalation = 15; optional bool defaultAllowPrivilegeEscalation = 15;
// AllowPrivilegeEscalation determines if a pod can request to allow // allowPrivilegeEscalation determines if a pod can request to allow
// privilege escalation. If unspecified, defaults to true. // privilege escalation. If unspecified, defaults to true.
// +optional // +optional
optional bool allowPrivilegeEscalation = 16; optional bool allowPrivilegeEscalation = 16;
// is a white list of allowed host paths. Empty indicates that all host paths may be used. // allowedHostPaths is a white list of allowed host paths. Empty indicates
// that all host paths may be used.
// +optional // +optional
repeated AllowedHostPath allowedHostPaths = 17; repeated AllowedHostPath allowedHostPaths = 17;
// AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all // allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all
// Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes // Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes
// is allowed in the "Volumes" field. // is allowed in the "volumes" field.
// +optional // +optional
repeated AllowedFlexVolume allowedFlexVolumes = 18; repeated AllowedFlexVolume allowedFlexVolumes = 18;
} }
// RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. // RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.
message RunAsUserStrategyOptions { message RunAsUserStrategyOptions {
// Rule is the strategy that will dictate the allowable RunAsUser values that may be set. // rule is the strategy that will dictate the allowable RunAsUser values that may be set.
optional string rule = 1; optional string rule = 1;
// Ranges are the allowed ranges of uids that may be used. // ranges are the allowed ranges of uids that may be used. If you would like to force a single uid
// then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
repeated IDRange ranges = 2; repeated IDRange ranges = 2;
} }
// SELinuxStrategyOptions defines the strategy type and any options used to create the strategy. // SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.
message SELinuxStrategyOptions { message SELinuxStrategyOptions {
// type is the strategy that will dictate the allowable labels that may be set. // rule is the strategy that will dictate the allowable labels that may be set.
optional string rule = 1; optional string rule = 1;
// seLinuxOptions required to run as; required for MustRunAs // seLinuxOptions required to run as; required for MustRunAs
@ -295,12 +297,12 @@ message SELinuxStrategyOptions {
// SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. // SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.
message SupplementalGroupsStrategyOptions { message SupplementalGroupsStrategyOptions {
// Rule is the strategy that will dictate what supplemental groups is used in the SecurityContext. // rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.
// +optional // +optional
optional string rule = 1; optional string rule = 1;
// Ranges are the allowed ranges of supplemental groups. If you would like to force a single // ranges are the allowed ranges of supplemental groups. If you would like to force a single
// supplemental group then supply a single range with the same start and end. // supplemental group then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
repeated IDRange ranges = 2; repeated IDRange ranges = 2;
} }

View File

@ -138,23 +138,23 @@ type PodSecurityPolicySpec struct {
// privileged determines if a pod can request to be run as privileged. // privileged determines if a pod can request to be run as privileged.
// +optional // +optional
Privileged bool `json:"privileged,omitempty" protobuf:"varint,1,opt,name=privileged"` Privileged bool `json:"privileged,omitempty" protobuf:"varint,1,opt,name=privileged"`
// DefaultAddCapabilities is the default set of capabilities that will be added to the container // defaultAddCapabilities is the default set of capabilities that will be added to the container
// unless the pod spec specifically drops the capability. You may not list a capability in both // unless the pod spec specifically drops the capability. You may not list a capability in both
// DefaultAddCapabilities and RequiredDropCapabilities. Capabilities added here are implicitly // defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly
// allowed, and need not be included in the AllowedCapabilities list. // allowed, and need not be included in the allowedCapabilities list.
// +optional // +optional
DefaultAddCapabilities []v1.Capability `json:"defaultAddCapabilities,omitempty" protobuf:"bytes,2,rep,name=defaultAddCapabilities,casttype=k8s.io/api/core/v1.Capability"` DefaultAddCapabilities []v1.Capability `json:"defaultAddCapabilities,omitempty" protobuf:"bytes,2,rep,name=defaultAddCapabilities,casttype=k8s.io/api/core/v1.Capability"`
// RequiredDropCapabilities are the capabilities that will be dropped from the container. These // requiredDropCapabilities are the capabilities that will be dropped from the container. These
// are required to be dropped and cannot be added. // are required to be dropped and cannot be added.
// +optional // +optional
RequiredDropCapabilities []v1.Capability `json:"requiredDropCapabilities,omitempty" protobuf:"bytes,3,rep,name=requiredDropCapabilities,casttype=k8s.io/api/core/v1.Capability"` RequiredDropCapabilities []v1.Capability `json:"requiredDropCapabilities,omitempty" protobuf:"bytes,3,rep,name=requiredDropCapabilities,casttype=k8s.io/api/core/v1.Capability"`
// AllowedCapabilities is a list of capabilities that can be requested to add to the container. // allowedCapabilities is a list of capabilities that can be requested to add to the container.
// Capabilities in this field may be added at the pod author's discretion. // Capabilities in this field may be added at the pod author's discretion.
// You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. // You must not list a capability in both allowedCapabilities and requiredDropCapabilities.
// +optional // +optional
AllowedCapabilities []v1.Capability `json:"allowedCapabilities,omitempty" protobuf:"bytes,4,rep,name=allowedCapabilities,casttype=k8s.io/api/core/v1.Capability"` AllowedCapabilities []v1.Capability `json:"allowedCapabilities,omitempty" protobuf:"bytes,4,rep,name=allowedCapabilities,casttype=k8s.io/api/core/v1.Capability"`
// volumes is a white list of allowed volume plugins. Empty indicates that all plugins // volumes is a white list of allowed volume plugins. Empty indicates that
// may be used. // no volumes may be used. To allow all volumes you may use '*'.
// +optional // +optional
Volumes []FSType `json:"volumes,omitempty" protobuf:"bytes,5,rep,name=volumes,casttype=FSType"` Volumes []FSType `json:"volumes,omitempty" protobuf:"bytes,5,rep,name=volumes,casttype=FSType"`
// hostNetwork determines if the policy allows the use of HostNetwork in the pod spec. // hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.
@ -173,39 +173,40 @@ type PodSecurityPolicySpec struct {
SELinux SELinuxStrategyOptions `json:"seLinux" protobuf:"bytes,10,opt,name=seLinux"` SELinux SELinuxStrategyOptions `json:"seLinux" protobuf:"bytes,10,opt,name=seLinux"`
// runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set. // runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.
RunAsUser RunAsUserStrategyOptions `json:"runAsUser" protobuf:"bytes,11,opt,name=runAsUser"` RunAsUser RunAsUserStrategyOptions `json:"runAsUser" protobuf:"bytes,11,opt,name=runAsUser"`
// SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. // supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.
SupplementalGroups SupplementalGroupsStrategyOptions `json:"supplementalGroups" protobuf:"bytes,12,opt,name=supplementalGroups"` SupplementalGroups SupplementalGroupsStrategyOptions `json:"supplementalGroups" protobuf:"bytes,12,opt,name=supplementalGroups"`
// FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. // fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.
FSGroup FSGroupStrategyOptions `json:"fsGroup" protobuf:"bytes,13,opt,name=fsGroup"` FSGroup FSGroupStrategyOptions `json:"fsGroup" protobuf:"bytes,13,opt,name=fsGroup"`
// ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file // readOnlyRootFilesystem when set to true will force containers to run with a read only root file
// system. If the container specifically requests to run with a non-read only root file system // system. If the container specifically requests to run with a non-read only root file system
// the PSP should deny the pod. // the PSP should deny the pod.
// If set to false the container may run with a read only root file system if it wishes but it // If set to false the container may run with a read only root file system if it wishes but it
// will not be forced to. // will not be forced to.
// +optional // +optional
ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem,omitempty" protobuf:"varint,14,opt,name=readOnlyRootFilesystem"` ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem,omitempty" protobuf:"varint,14,opt,name=readOnlyRootFilesystem"`
// DefaultAllowPrivilegeEscalation controls the default setting for whether a // defaultAllowPrivilegeEscalation controls the default setting for whether a
// process can gain more privileges than its parent process. // process can gain more privileges than its parent process.
// +optional // +optional
DefaultAllowPrivilegeEscalation *bool `json:"defaultAllowPrivilegeEscalation,omitempty" protobuf:"varint,15,opt,name=defaultAllowPrivilegeEscalation"` DefaultAllowPrivilegeEscalation *bool `json:"defaultAllowPrivilegeEscalation,omitempty" protobuf:"varint,15,opt,name=defaultAllowPrivilegeEscalation"`
// AllowPrivilegeEscalation determines if a pod can request to allow // allowPrivilegeEscalation determines if a pod can request to allow
// privilege escalation. If unspecified, defaults to true. // privilege escalation. If unspecified, defaults to true.
// +optional // +optional
AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty" protobuf:"varint,16,opt,name=allowPrivilegeEscalation"` AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty" protobuf:"varint,16,opt,name=allowPrivilegeEscalation"`
// is a white list of allowed host paths. Empty indicates that all host paths may be used. // allowedHostPaths is a white list of allowed host paths. Empty indicates
// that all host paths may be used.
// +optional // +optional
AllowedHostPaths []AllowedHostPath `json:"allowedHostPaths,omitempty" protobuf:"bytes,17,rep,name=allowedHostPaths"` AllowedHostPaths []AllowedHostPath `json:"allowedHostPaths,omitempty" protobuf:"bytes,17,rep,name=allowedHostPaths"`
// AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all // allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all
// Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes // Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes
// is allowed in the "Volumes" field. // is allowed in the "volumes" field.
// +optional // +optional
AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,18,rep,name=allowedFlexVolumes"` AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,18,rep,name=allowedFlexVolumes"`
} }
// defines the host volume conditions that will be enabled by a policy // AllowedHostPath defines the host volume conditions that will be enabled by a policy
// for pods to use. It requires the path prefix to be defined. // for pods to use. It requires the path prefix to be defined.
type AllowedHostPath struct { type AllowedHostPath struct {
// is the path prefix that the host volume must match. // pathPrefix is the path prefix that the host volume must match.
// It does not support `*`. // It does not support `*`.
// Trailing slashes are trimmed when validating the path prefix with a host path. // Trailing slashes are trimmed when validating the path prefix with a host path.
// //
@ -245,7 +246,7 @@ var (
// AllowedFlexVolume represents a single Flexvolume that is allowed to be used. // AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
type AllowedFlexVolume struct { type AllowedFlexVolume struct {
// Driver is the name of the Flexvolume driver. // driver is the name of the Flexvolume driver.
Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"` Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
} }
@ -260,7 +261,7 @@ type HostPortRange struct {
// SELinuxStrategyOptions defines the strategy type and any options used to create the strategy. // SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.
type SELinuxStrategyOptions struct { type SELinuxStrategyOptions struct {
// type is the strategy that will dictate the allowable labels that may be set. // rule is the strategy that will dictate the allowable labels that may be set.
Rule SELinuxStrategy `json:"rule" protobuf:"bytes,1,opt,name=rule,casttype=SELinuxStrategy"` Rule SELinuxStrategy `json:"rule" protobuf:"bytes,1,opt,name=rule,casttype=SELinuxStrategy"`
// seLinuxOptions required to run as; required for MustRunAs // seLinuxOptions required to run as; required for MustRunAs
// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
@ -273,26 +274,27 @@ type SELinuxStrategyOptions struct {
type SELinuxStrategy string type SELinuxStrategy string
const ( const (
// container must have SELinux labels of X applied. // SELinuxStrategyMustRunAs means that container must have SELinux labels of X applied.
SELinuxStrategyMustRunAs SELinuxStrategy = "MustRunAs" SELinuxStrategyMustRunAs SELinuxStrategy = "MustRunAs"
// container may make requests for any SELinux context labels. // SELinuxStrategyRunAsAny means that container may make requests for any SELinux context labels.
SELinuxStrategyRunAsAny SELinuxStrategy = "RunAsAny" SELinuxStrategyRunAsAny SELinuxStrategy = "RunAsAny"
) )
// RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. // RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.
type RunAsUserStrategyOptions struct { type RunAsUserStrategyOptions struct {
// Rule is the strategy that will dictate the allowable RunAsUser values that may be set. // rule is the strategy that will dictate the allowable RunAsUser values that may be set.
Rule RunAsUserStrategy `json:"rule" protobuf:"bytes,1,opt,name=rule,casttype=RunAsUserStrategy"` Rule RunAsUserStrategy `json:"rule" protobuf:"bytes,1,opt,name=rule,casttype=RunAsUserStrategy"`
// Ranges are the allowed ranges of uids that may be used. // ranges are the allowed ranges of uids that may be used. If you would like to force a single uid
// then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"`
} }
// IDRange provides a min/max of an allowed range of IDs. // IDRange provides a min/max of an allowed range of IDs.
type IDRange struct { type IDRange struct {
// Min is the start of the range, inclusive. // min is the start of the range, inclusive.
Min int64 `json:"min" protobuf:"varint,1,opt,name=min"` Min int64 `json:"min" protobuf:"varint,1,opt,name=min"`
// Max is the end of the range, inclusive. // max is the end of the range, inclusive.
Max int64 `json:"max" protobuf:"varint,2,opt,name=max"` Max int64 `json:"max" protobuf:"varint,2,opt,name=max"`
} }
@ -301,21 +303,21 @@ type IDRange struct {
type RunAsUserStrategy string type RunAsUserStrategy string
const ( const (
// container must run as a particular uid. // RunAsUserStrategyMustRunAs means that container must run as a particular uid.
RunAsUserStrategyMustRunAs RunAsUserStrategy = "MustRunAs" RunAsUserStrategyMustRunAs RunAsUserStrategy = "MustRunAs"
// container must run as a non-root uid // RunAsUserStrategyMustRunAsNonRoot means that container must run as a non-root uid.
RunAsUserStrategyMustRunAsNonRoot RunAsUserStrategy = "MustRunAsNonRoot" RunAsUserStrategyMustRunAsNonRoot RunAsUserStrategy = "MustRunAsNonRoot"
// container may make requests for any uid. // RunAsUserStrategyRunAsAny means that container may make requests for any uid.
RunAsUserStrategyRunAsAny RunAsUserStrategy = "RunAsAny" RunAsUserStrategyRunAsAny RunAsUserStrategy = "RunAsAny"
) )
// FSGroupStrategyOptions defines the strategy type and options used to create the strategy. // FSGroupStrategyOptions defines the strategy type and options used to create the strategy.
type FSGroupStrategyOptions struct { type FSGroupStrategyOptions struct {
// Rule is the strategy that will dictate what FSGroup is used in the SecurityContext. // rule is the strategy that will dictate what FSGroup is used in the SecurityContext.
// +optional // +optional
Rule FSGroupStrategyType `json:"rule,omitempty" protobuf:"bytes,1,opt,name=rule,casttype=FSGroupStrategyType"` Rule FSGroupStrategyType `json:"rule,omitempty" protobuf:"bytes,1,opt,name=rule,casttype=FSGroupStrategyType"`
// Ranges are the allowed ranges of fs groups. If you would like to force a single // ranges are the allowed ranges of fs groups. If you would like to force a single
// fs group then supply a single range with the same start and end. // fs group then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"`
} }
@ -325,19 +327,19 @@ type FSGroupStrategyOptions struct {
type FSGroupStrategyType string type FSGroupStrategyType string
const ( const (
// container must have FSGroup of X applied. // FSGroupStrategyMustRunAs meant that container must have FSGroup of X applied.
FSGroupStrategyMustRunAs FSGroupStrategyType = "MustRunAs" FSGroupStrategyMustRunAs FSGroupStrategyType = "MustRunAs"
// container may make requests for any FSGroup labels. // FSGroupStrategyRunAsAny means that container may make requests for any FSGroup labels.
FSGroupStrategyRunAsAny FSGroupStrategyType = "RunAsAny" FSGroupStrategyRunAsAny FSGroupStrategyType = "RunAsAny"
) )
// SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. // SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.
type SupplementalGroupsStrategyOptions struct { type SupplementalGroupsStrategyOptions struct {
// Rule is the strategy that will dictate what supplemental groups is used in the SecurityContext. // rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.
// +optional // +optional
Rule SupplementalGroupsStrategyType `json:"rule,omitempty" protobuf:"bytes,1,opt,name=rule,casttype=SupplementalGroupsStrategyType"` Rule SupplementalGroupsStrategyType `json:"rule,omitempty" protobuf:"bytes,1,opt,name=rule,casttype=SupplementalGroupsStrategyType"`
// Ranges are the allowed ranges of supplemental groups. If you would like to force a single // ranges are the allowed ranges of supplemental groups. If you would like to force a single
// supplemental group then supply a single range with the same start and end. // supplemental group then supply a single range with the same start and end. Required for MustRunAs.
// +optional // +optional
Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"`
} }
@ -347,9 +349,9 @@ type SupplementalGroupsStrategyOptions struct {
type SupplementalGroupsStrategyType string type SupplementalGroupsStrategyType string
const ( const (
// container must run as a particular gid. // SupplementalGroupsStrategyMustRunAs means that container must run as a particular gid.
SupplementalGroupsStrategyMustRunAs SupplementalGroupsStrategyType = "MustRunAs" SupplementalGroupsStrategyMustRunAs SupplementalGroupsStrategyType = "MustRunAs"
// container may make requests for any gid. // SupplementalGroupsStrategyRunAsAny means that container may make requests for any gid.
SupplementalGroupsStrategyRunAsAny SupplementalGroupsStrategyType = "RunAsAny" SupplementalGroupsStrategyRunAsAny SupplementalGroupsStrategyType = "RunAsAny"
) )
@ -363,6 +365,6 @@ type PodSecurityPolicyList struct {
// +optional // +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Items is a list of schema objects. // items is a list of schema objects.
Items []PodSecurityPolicy `json:"items" protobuf:"bytes,2,rep,name=items"` Items []PodSecurityPolicy `json:"items" protobuf:"bytes,2,rep,name=items"`
} }

View File

@ -29,7 +29,7 @@ package v1beta1
// AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT. // AUTO-GENERATED FUNCTIONS START HERE. DO NOT EDIT.
var map_AllowedFlexVolume = map[string]string{ var map_AllowedFlexVolume = map[string]string{
"": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used.", "": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used.",
"driver": "Driver is the name of the Flexvolume driver.", "driver": "driver is the name of the Flexvolume driver.",
} }
func (AllowedFlexVolume) SwaggerDoc() map[string]string { func (AllowedFlexVolume) SwaggerDoc() map[string]string {
@ -37,8 +37,8 @@ func (AllowedFlexVolume) SwaggerDoc() map[string]string {
} }
var map_AllowedHostPath = map[string]string{ var map_AllowedHostPath = map[string]string{
"": "defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined.", "": "AllowedHostPath defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined.",
"pathPrefix": "is the path prefix that the host volume must match. It does not support `*`. Trailing slashes are trimmed when validating the path prefix with a host path.\n\nExamples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo`", "pathPrefix": "pathPrefix is the path prefix that the host volume must match. It does not support `*`. Trailing slashes are trimmed when validating the path prefix with a host path.\n\nExamples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo`",
} }
func (AllowedHostPath) SwaggerDoc() map[string]string { func (AllowedHostPath) SwaggerDoc() map[string]string {
@ -57,8 +57,8 @@ func (Eviction) SwaggerDoc() map[string]string {
var map_FSGroupStrategyOptions = map[string]string{ var map_FSGroupStrategyOptions = map[string]string{
"": "FSGroupStrategyOptions defines the strategy type and options used to create the strategy.", "": "FSGroupStrategyOptions defines the strategy type and options used to create the strategy.",
"rule": "Rule is the strategy that will dictate what FSGroup is used in the SecurityContext.", "rule": "rule is the strategy that will dictate what FSGroup is used in the SecurityContext.",
"ranges": "Ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end.", "ranges": "ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end. Required for MustRunAs.",
} }
func (FSGroupStrategyOptions) SwaggerDoc() map[string]string { func (FSGroupStrategyOptions) SwaggerDoc() map[string]string {
@ -77,8 +77,8 @@ func (HostPortRange) SwaggerDoc() map[string]string {
var map_IDRange = map[string]string{ var map_IDRange = map[string]string{
"": "IDRange provides a min/max of an allowed range of IDs.", "": "IDRange provides a min/max of an allowed range of IDs.",
"min": "Min is the start of the range, inclusive.", "min": "min is the start of the range, inclusive.",
"max": "Max is the end of the range, inclusive.", "max": "max is the end of the range, inclusive.",
} }
func (IDRange) SwaggerDoc() map[string]string { func (IDRange) SwaggerDoc() map[string]string {
@ -141,7 +141,7 @@ func (PodSecurityPolicy) SwaggerDoc() map[string]string {
var map_PodSecurityPolicyList = map[string]string{ var map_PodSecurityPolicyList = map[string]string{
"": "PodSecurityPolicyList is a list of PodSecurityPolicy objects.", "": "PodSecurityPolicyList is a list of PodSecurityPolicy objects.",
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
"items": "Items is a list of schema objects.", "items": "items is a list of schema objects.",
} }
func (PodSecurityPolicyList) SwaggerDoc() map[string]string { func (PodSecurityPolicyList) SwaggerDoc() map[string]string {
@ -151,23 +151,23 @@ func (PodSecurityPolicyList) SwaggerDoc() map[string]string {
var map_PodSecurityPolicySpec = map[string]string{ var map_PodSecurityPolicySpec = map[string]string{
"": "PodSecurityPolicySpec defines the policy enforced.", "": "PodSecurityPolicySpec defines the policy enforced.",
"privileged": "privileged determines if a pod can request to be run as privileged.", "privileged": "privileged determines if a pod can request to be run as privileged.",
"defaultAddCapabilities": "DefaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capability in both DefaultAddCapabilities and RequiredDropCapabilities. Capabilities added here are implicitly allowed, and need not be included in the AllowedCapabilities list.", "defaultAddCapabilities": "defaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capability in both defaultAddCapabilities and requiredDropCapabilities. Capabilities added here are implicitly allowed, and need not be included in the allowedCapabilities list.",
"requiredDropCapabilities": "RequiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.", "requiredDropCapabilities": "requiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.",
"allowedCapabilities": "AllowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities.", "allowedCapabilities": "allowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field may be added at the pod author's discretion. You must not list a capability in both allowedCapabilities and requiredDropCapabilities.",
"volumes": "volumes is a white list of allowed volume plugins. Empty indicates that all plugins may be used.", "volumes": "volumes is a white list of allowed volume plugins. Empty indicates that no volumes may be used. To allow all volumes you may use '*'.",
"hostNetwork": "hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.", "hostNetwork": "hostNetwork determines if the policy allows the use of HostNetwork in the pod spec.",
"hostPorts": "hostPorts determines which host port ranges are allowed to be exposed.", "hostPorts": "hostPorts determines which host port ranges are allowed to be exposed.",
"hostPID": "hostPID determines if the policy allows the use of HostPID in the pod spec.", "hostPID": "hostPID determines if the policy allows the use of HostPID in the pod spec.",
"hostIPC": "hostIPC determines if the policy allows the use of HostIPC in the pod spec.", "hostIPC": "hostIPC determines if the policy allows the use of HostIPC in the pod spec.",
"seLinux": "seLinux is the strategy that will dictate the allowable labels that may be set.", "seLinux": "seLinux is the strategy that will dictate the allowable labels that may be set.",
"runAsUser": "runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.", "runAsUser": "runAsUser is the strategy that will dictate the allowable RunAsUser values that may be set.",
"supplementalGroups": "SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.", "supplementalGroups": "supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.",
"fsGroup": "FSGroup is the strategy that will dictate what fs group is used by the SecurityContext.", "fsGroup": "fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.",
"readOnlyRootFilesystem": "ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.", "readOnlyRootFilesystem": "readOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the PSP should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.",
"defaultAllowPrivilegeEscalation": "DefaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.", "defaultAllowPrivilegeEscalation": "defaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.",
"allowPrivilegeEscalation": "AllowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.", "allowPrivilegeEscalation": "allowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.",
"allowedHostPaths": "is a white list of allowed host paths. Empty indicates that all host paths may be used.", "allowedHostPaths": "allowedHostPaths is a white list of allowed host paths. Empty indicates that all host paths may be used.",
"allowedFlexVolumes": "AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"Volumes\" field.", "allowedFlexVolumes": "allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"volumes\" field.",
} }
func (PodSecurityPolicySpec) SwaggerDoc() map[string]string { func (PodSecurityPolicySpec) SwaggerDoc() map[string]string {
@ -176,8 +176,8 @@ func (PodSecurityPolicySpec) SwaggerDoc() map[string]string {
var map_RunAsUserStrategyOptions = map[string]string{ var map_RunAsUserStrategyOptions = map[string]string{
"": "RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.", "": "RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.",
"rule": "Rule is the strategy that will dictate the allowable RunAsUser values that may be set.", "rule": "rule is the strategy that will dictate the allowable RunAsUser values that may be set.",
"ranges": "Ranges are the allowed ranges of uids that may be used.", "ranges": "ranges are the allowed ranges of uids that may be used. If you would like to force a single uid then supply a single range with the same start and end. Required for MustRunAs.",
} }
func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string { func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string {
@ -186,7 +186,7 @@ func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string {
var map_SELinuxStrategyOptions = map[string]string{ var map_SELinuxStrategyOptions = map[string]string{
"": "SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.", "": "SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.",
"rule": "type is the strategy that will dictate the allowable labels that may be set.", "rule": "rule is the strategy that will dictate the allowable labels that may be set.",
"seLinuxOptions": "seLinuxOptions required to run as; required for MustRunAs More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/", "seLinuxOptions": "seLinuxOptions required to run as; required for MustRunAs More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
} }
@ -196,8 +196,8 @@ func (SELinuxStrategyOptions) SwaggerDoc() map[string]string {
var map_SupplementalGroupsStrategyOptions = map[string]string{ var map_SupplementalGroupsStrategyOptions = map[string]string{
"": "SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.", "": "SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.",
"rule": "Rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.", "rule": "rule is the strategy that will dictate what supplemental groups is used in the SecurityContext.",
"ranges": "Ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end.", "ranges": "ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end. Required for MustRunAs.",
} }
func (SupplementalGroupsStrategyOptions) SwaggerDoc() map[string]string { func (SupplementalGroupsStrategyOptions) SwaggerDoc() map[string]string {