mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-02-14 09:59:57 +00:00
120 lines
5.8 KiB
YAML
120 lines
5.8 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.10.0
|
|
name: capsuleconfigurations.capsule.clastix.io
|
|
spec:
|
|
conversion:
|
|
strategy: Webhook
|
|
webhook:
|
|
clientConfig:
|
|
service:
|
|
name: capsule-webhook-service
|
|
namespace: capsule-system
|
|
path: /convert
|
|
conversionReviewVersions:
|
|
- v1beta1
|
|
- v1beta2
|
|
group: capsule.clastix.io
|
|
names:
|
|
kind: CapsuleConfiguration
|
|
listKind: CapsuleConfigurationList
|
|
plural: capsuleconfigurations
|
|
singular: capsuleconfiguration
|
|
scope: Cluster
|
|
versions:
|
|
- name: v1beta2
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: CapsuleConfiguration is the Schema for the Capsule configuration API.
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: CapsuleConfigurationSpec defines the Capsule configuration.
|
|
properties:
|
|
enableTLSReconciler:
|
|
default: true
|
|
description: Toggles the TLS reconciler, the controller that is able to generate CA and certificates for the webhooks when not using an already provided CA and certificate, or when these are managed externally with Vault, or cert-manager.
|
|
type: boolean
|
|
forceTenantPrefix:
|
|
default: false
|
|
description: Enforces the Tenant owner, during Namespace creation, to name it using the selected Tenant name as prefix, separated by a dash. This is useful to avoid Namespace name collision in a public CaaS environment.
|
|
type: boolean
|
|
nodeMetadata:
|
|
description: Allows to set the forbidden metadata for the worker nodes that could be patched by a Tenant. This applies only if the Tenant has an active NodeSelector, and the Owner have right to patch their nodes.
|
|
properties:
|
|
forbiddenAnnotations:
|
|
description: Define the annotations that a Tenant Owner cannot set for their nodes.
|
|
properties:
|
|
denied:
|
|
items:
|
|
type: string
|
|
type: array
|
|
deniedRegex:
|
|
type: string
|
|
type: object
|
|
forbiddenLabels:
|
|
description: Define the labels that a Tenant Owner cannot set for their nodes.
|
|
properties:
|
|
denied:
|
|
items:
|
|
type: string
|
|
type: array
|
|
deniedRegex:
|
|
type: string
|
|
type: object
|
|
required:
|
|
- forbiddenAnnotations
|
|
- forbiddenLabels
|
|
type: object
|
|
overrides:
|
|
default:
|
|
TLSSecretName: capsule-tls
|
|
mutatingWebhookConfigurationName: capsule-mutating-webhook-configuration
|
|
validatingWebhookConfigurationName: capsule-validating-webhook-configuration
|
|
description: Allows to set different name rather than the canonical one for the Capsule configuration objects, such as webhook secret or configurations.
|
|
properties:
|
|
TLSSecretName:
|
|
default: capsule-tls
|
|
description: Defines the Secret name used for the webhook server. Must be in the same Namespace where the Capsule Deployment is deployed.
|
|
type: string
|
|
mutatingWebhookConfigurationName:
|
|
default: capsule-mutating-webhook-configuration
|
|
description: Name of the MutatingWebhookConfiguration which contains the dynamic admission controller paths and resources.
|
|
type: string
|
|
validatingWebhookConfigurationName:
|
|
default: capsule-validating-webhook-configuration
|
|
description: Name of the ValidatingWebhookConfiguration which contains the dynamic admission controller paths and resources.
|
|
type: string
|
|
required:
|
|
- TLSSecretName
|
|
- mutatingWebhookConfigurationName
|
|
- validatingWebhookConfigurationName
|
|
type: object
|
|
protectedNamespaceRegex:
|
|
description: Disallow creation of namespaces, whose name matches this regexp
|
|
type: string
|
|
userGroups:
|
|
default:
|
|
- capsule.clastix.io
|
|
description: Names of the groups for Capsule users.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- enableTLSReconciler
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|