Module

Kubernetes.Api.AdmissionRegistration.V1Beta1

Package
purescript-kubernetes
Repository
hoodunit/purescript-kubernetes

#MutatingWebhookConfiguration Source

newtype MutatingWebhookConfiguration

MutatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and may change the object.

Fields:

Constructors

Instances

#RuleWithOperations Source

newtype RuleWithOperations

RuleWithOperations is a tuple of Operations and Resources. It is recommended to make sure that all the tuple expansions are valid.

Fields:

  • apiGroups: APIGroups is the API groups the resources belong to. '' is all groups. If '' is present, the length of the slice must be one. Required.

  • apiVersions: APIVersions is the API versions the resources belong to. '' is all versions. If '' is present, the length of the slice must be one. Required.

  • operations: Operations is the operations the admission hook cares about - CREATE, UPDATE, or * for all operations. If '*' is present, the length of the slice must be one. Required.

  • resources: Resources is a list of resources this rule applies to.

    For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '' means all resources, but not subresources. 'pods/' means all subresources of pods. '/scale' means all scale subresources. '/*' means all resources and their subresources.

    If wildcard is present, the validation rule will ensure resources do not overlap with each other.

    Depending on the enclosing object, subresources might not be allowed. Required.

Constructors

Instances

#ServiceReference Source

newtype ServiceReference

ServiceReference holds a reference to Service.legacy.k8s.io

Fields:

  • name: name is the name of the service. Required
  • namespace: namespace is the namespace of the service. Required
  • path: path is an optional URL path which will be sent in any request to this service.

Constructors

Instances

#ValidatingWebhookConfiguration Source

newtype ValidatingWebhookConfiguration

ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.

Fields:

Constructors

Instances

#Webhook Source

newtype Webhook

Webhook describes an admission webhook and the resources and operations it applies to.

Fields:

  • clientConfig: ClientConfig defines how to communicate with the hook. Required

  • failurePolicy: FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.

  • name: The name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of the webhook, and kubernetes.io is the name of the organization. Required.

  • namespaceSelector: NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is other cluster scoped resource, it is not subjected to the webhook.

    For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] }

    If instead you want to only run the webhook on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] }

    See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.

    Default to the empty LabelSelector, which matches everything.

  • rules: Rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches any Rule.

Constructors

Instances

#WebhookClientConfig Source

newtype WebhookClientConfig

WebhookClientConfig contains the information to make a TLS connection with the webhook

Fields:

  • caBundle: caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. Required.

  • service: service is a reference to the service for this webhook. Either service or url must be specified.

    If the webhook is running within the cluster, then you should use service.

    If there is only one port open for the service, that port will be used. If there are multiple ports open, port 443 will be used if it is open, otherwise it is an error.

  • url: url gives the location of the webhook, in standard URL form ([scheme://]host:port/path). Exactly one of url or service must be specified.

    The host should not refer to a service running in the cluster; use the service field instead. The host might be resolved via external DNS in some apiservers (e.g., kube-apiserver cannot resolve in-cluster DNS as that would be a layering violation). host may also be an IP address.

    Please note that using localhost or 127.0.0.1 as a host is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.

    The scheme must be "https"; the URL must begin with "https://".

    A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.

    Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments ("#...") and query parameters ("?...") are not allowed, either.

Constructors

Instances

#getAPIResources Source

getAPIResources :: Config -> Aff (Either Status APIResourceList)

get available resources

Modules
Kubernetes.Api.APIExtensions
Kubernetes.Api.APIExtensions.V1Beta1
Kubernetes.Api.APIExtensions.V1Beta1.CustomResourceDefinition
Kubernetes.Api.AdmissionRegistration
Kubernetes.Api.AdmissionRegistration.V1Alpha1
Kubernetes.Api.AdmissionRegistration.V1Alpha1.InitializerConfiguration
Kubernetes.Api.AdmissionRegistration.V1Beta1
Kubernetes.Api.AdmissionRegistration.V1Beta1.MutatingWebhookConfiguration
Kubernetes.Api.AdmissionRegistration.V1Beta1.ValidatingWebhookConfiguration
Kubernetes.Api.ApiRegistration
Kubernetes.Api.ApiRegistration.V1Beta1
Kubernetes.Api.ApiRegistration.V1Beta1.APIService
Kubernetes.Api.Apis
Kubernetes.Api.Apps
Kubernetes.Api.Apps.V1
Kubernetes.Api.Apps.V1.ControllerRevision
Kubernetes.Api.Apps.V1.DaemonSet
Kubernetes.Api.Apps.V1.Deployment
Kubernetes.Api.Apps.V1.ReplicaSet
Kubernetes.Api.Apps.V1.StatefulSet
Kubernetes.Api.Apps.V1Beta1
Kubernetes.Api.Apps.V1Beta1.ControllerRevision
Kubernetes.Api.Apps.V1Beta1.Deployment
Kubernetes.Api.Apps.V1Beta1.DeploymentRollback
Kubernetes.Api.Apps.V1Beta1.Scale
Kubernetes.Api.Apps.V1Beta1.StatefulSet
Kubernetes.Api.Apps.V1Beta2
Kubernetes.Api.Apps.V1Beta2.ControllerRevision
Kubernetes.Api.Apps.V1Beta2.DaemonSet
Kubernetes.Api.Apps.V1Beta2.Deployment
Kubernetes.Api.Apps.V1Beta2.ReplicaSet
Kubernetes.Api.Apps.V1Beta2.Scale
Kubernetes.Api.Apps.V1Beta2.StatefulSet
Kubernetes.Api.Authentication
Kubernetes.Api.Authentication.V1
Kubernetes.Api.Authentication.V1.TokenReview
Kubernetes.Api.Authentication.V1Beta1
Kubernetes.Api.Authentication.V1Beta1.TokenReview
Kubernetes.Api.Authorization
Kubernetes.Api.Authorization.V1
Kubernetes.Api.Authorization.V1.LocalSubjectAccessReview
Kubernetes.Api.Authorization.V1.SelfSubjectAccessReview
Kubernetes.Api.Authorization.V1.SelfSubjectRulesReview
Kubernetes.Api.Authorization.V1.SubjectAccessReview
Kubernetes.Api.Authorization.V1Beta1
Kubernetes.Api.Authorization.V1Beta1.LocalSubjectAccessReview
Kubernetes.Api.Authorization.V1Beta1.SelfSubjectAccessReview
Kubernetes.Api.Authorization.V1Beta1.SelfSubjectRulesReview
Kubernetes.Api.Authorization.V1Beta1.SubjectAccessReview
Kubernetes.Api.Autoscaling
Kubernetes.Api.Autoscaling.V1
Kubernetes.Api.Autoscaling.V1.HorizontalPodAutoscaler
Kubernetes.Api.Autoscaling.V1.Scale
Kubernetes.Api.Autoscaling.V2Beta1
Kubernetes.Api.Autoscaling.V2Beta1.HorizontalPodAutoscaler
Kubernetes.Api.Batch
Kubernetes.Api.Batch.V1
Kubernetes.Api.Batch.V1.Job
Kubernetes.Api.Batch.V1Beta1
Kubernetes.Api.Batch.V1Beta1.CronJob
Kubernetes.Api.Batch.V2Alpha1
Kubernetes.Api.Batch.V2Alpha1.CronJob
Kubernetes.Api.Certificates
Kubernetes.Api.Certificates.V1Beta1
Kubernetes.Api.Certificates.V1Beta1.CertificateSigningRequest
Kubernetes.Api.Core
Kubernetes.Api.Core.V1
Kubernetes.Api.Core.V1.Binding
Kubernetes.Api.Core.V1.ComponentStatus
Kubernetes.Api.Core.V1.ConfigMap
Kubernetes.Api.Core.V1.Endpoints
Kubernetes.Api.Core.V1.Event
Kubernetes.Api.Core.V1.LimitRange
Kubernetes.Api.Core.V1.Namespace
Kubernetes.Api.Core.V1.Node
Kubernetes.Api.Core.V1.PersistentVolume
Kubernetes.Api.Core.V1.PersistentVolumeClaim
Kubernetes.Api.Core.V1.Pod
Kubernetes.Api.Core.V1.PodTemplate
Kubernetes.Api.Core.V1.ReplicationController
Kubernetes.Api.Core.V1.ResourceQuota
Kubernetes.Api.Core.V1.Secret
Kubernetes.Api.Core.V1.Service
Kubernetes.Api.Core.V1.ServiceAccount
Kubernetes.Api.Events
Kubernetes.Api.Events.Event
Kubernetes.Api.Extensions
Kubernetes.Api.Extensions.V1Beta1
Kubernetes.Api.Extensions.V1Beta1.DaemonSet
Kubernetes.Api.Extensions.V1Beta1.Deployment
Kubernetes.Api.Extensions.V1Beta1.DeploymentRollback
Kubernetes.Api.Extensions.V1Beta1.Ingress
Kubernetes.Api.Extensions.V1Beta1.NetworkPolicy
Kubernetes.Api.Extensions.V1Beta1.PodSecurityPolicy
Kubernetes.Api.Extensions.V1Beta1.ReplicaSet
Kubernetes.Api.Extensions.V1Beta1.Scale
Kubernetes.Api.Lens
Kubernetes.Api.Logs
Kubernetes.Api.Meta.V1
Kubernetes.Api.Networking
Kubernetes.Api.Networking.V1
Kubernetes.Api.Networking.V1.NetworkPolicy
Kubernetes.Api.Policy
Kubernetes.Api.Policy.V1Beta1
Kubernetes.Api.Policy.V1Beta1.Eviction
Kubernetes.Api.Policy.V1Beta1.PodDisruptionBudget
Kubernetes.Api.Rbac
Kubernetes.Api.Rbac.V1
Kubernetes.Api.Rbac.V1.ClusterRole
Kubernetes.Api.Rbac.V1.ClusterRoleBinding
Kubernetes.Api.Rbac.V1.Role
Kubernetes.Api.Rbac.V1.RoleBinding
Kubernetes.Api.Rbac.V1Alpha1
Kubernetes.Api.Rbac.V1Alpha1.ClusterRole
Kubernetes.Api.Rbac.V1Alpha1.ClusterRoleBinding
Kubernetes.Api.Rbac.V1Alpha1.Role
Kubernetes.Api.Rbac.V1Alpha1.RoleBinding
Kubernetes.Api.Rbac.V1Beta1
Kubernetes.Api.Rbac.V1Beta1.ClusterRole
Kubernetes.Api.Rbac.V1Beta1.ClusterRoleBinding
Kubernetes.Api.Rbac.V1Beta1.Role
Kubernetes.Api.Rbac.V1Beta1.RoleBinding
Kubernetes.Api.Resource
Kubernetes.Api.Runtime
Kubernetes.Api.Scheduling
Kubernetes.Api.Scheduling.V1Alpha1
Kubernetes.Api.Scheduling.V1Alpha1.PriorityClass
Kubernetes.Api.Settings
Kubernetes.Api.Settings.V1Alpha1
Kubernetes.Api.Settings.V1Alpha1.PodPreset
Kubernetes.Api.Storage
Kubernetes.Api.Storage.V1
Kubernetes.Api.Storage.V1.StorageClass
Kubernetes.Api.Storage.V1Alpha1
Kubernetes.Api.Storage.V1Alpha1.VolumeAttachment
Kubernetes.Api.Storage.V1Beta1
Kubernetes.Api.Storage.V1Beta1.StorageClass
Kubernetes.Api.Util
Kubernetes.Api.Version
Kubernetes.Client
Kubernetes.Config
Kubernetes.Default
Kubernetes.Generation.AST
Kubernetes.Generation.Emitter
Kubernetes.Generation.GenerateApi
Kubernetes.Generation.GenerateDefinitions
Kubernetes.Generation.GenerateSchemaType
Kubernetes.Generation.Generation
Kubernetes.Generation.JsonSchema
Kubernetes.Generation.Main
Kubernetes.Generation.Names
Kubernetes.Generation.Passes.AddDependencyImports
Kubernetes.Generation.Passes.GenerateLenses
Kubernetes.Generation.Passes.HelperLenses
Kubernetes.Generation.Passes.PrefixNamespace
Kubernetes.Generation.Passes.ResolveLocalRefs
Kubernetes.Generation.PathParsing
Kubernetes.Generation.Swagger
Kubernetes.Json
Kubernetes.QueryString
Kubernetes.Request
Kubernetes.RequestOptions
Kubernetes.SchemaExtensions