apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: linkerds.linkerd.edge.ncr.com annotations: controller-gen.kubebuilder.io/version: (unknown) spec: group: linkerd.edge.ncr.com names: kind: Linkerd listKind: LinkerdList plural: linkerds shortNames: - l5d - l5ds singular: linkerd scope: Cluster versions: - name: v1alpha1 additionalPrinterColumns: - name: Ready type: string jsonPath: .status.conditions[?(@.type=="Ready")].status - name: Status type: string jsonPath: .status.conditions[?(@.type=="Ready")].message - name: Version type: string jsonPath: .status.version - name: Age type: date jsonPath: .metadata.creationTimestamp schema: openAPIV3Schema: type: object description: Linkerd is the Schema for the Linkerds API properties: apiVersion: type: string 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 kind: type: string 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 metadata: type: object spec: type: object description: LinkerdSpec defines the desired state of Linkerd properties: highAvailability: type: object description: 'HighAvailability when enabled, configures linkerd to run in high availability mode: https://linkerd.io/2.14/features/ha/' properties: enabled: type: boolean injection: type: object description: 'Injection when enabled, configures linkerd with automatic proxy injection: https://linkerd.io/2.14/features/proxy-injection/' properties: enabled: type: boolean exclude: type: object description: Exclude defines the exclusion rules for proxy injection properties: namespaces: type: array items: type: string monitoring: type: object default: enabled: true description: Monitoring when enabled, allows monitoring features such as prometheus properties: enabled: type: boolean status: type: object description: LinkerdStatus defines the observed state of Linkerd properties: clusterNetworks: type: string conditions: type: array description: Conditions reports the current status of the linkerd CR items: type: object description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" properties: type: type: string description: |- type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ status: type: string description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown lastTransitionTime: type: string description: |- lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time message: type: string description: |- message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 observedGeneration: type: integer description: |- observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 minimum: 0 reason: type: string description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ required: - lastTransitionTime - message - reason - status - type disabledNamespaces: type: array description: DisabledNamespaces reports list of namespaces that will not be injected with linkerd proxy items: type: string identityIssuer: type: object description: IdentityIssuer reports the duration and renew before configuration of identity certificates properties: certificate: type: object description: Certificate defines configuration for a cert-manager Certificate properties: durationHours: type: integer renewBeforeHours: type: integer required: - durationHours - renewBeforeHours required: - certificate infraVersion: type: string description: InfraVersion reports the current edge infra version injectedNamespaces: type: array description: InjectedNamespaces reports the list of namespaces that are to be injected items: type: string inventory: type: object description: Inventory reports the list of server and server authorizations that were created for each namespace to be injected properties: entries: type: array description: Entries of Kubernetes resource object references. items: type: object description: ResourceRef contains the information necessary to locate a resource within a cluster. properties: id: type: string description: |- ID is the string representation of the Kubernetes resource object's metadata, in the format '___'. v: type: string description: Version is the API version of the Kubernetes resource object's kind. required: - id - v issuanceLifetime: type: string description: IssuanceLifetime reports the amount of time before identity certificates expire nativeSidecarsEnabled: type: boolean description: NativeSidecarsEnabled reports if native sidecars are enabled for the cluster thickPos: type: boolean description: ThickPos reports if thick POS topolgy is enabled/disabled version: type: string description: Version reports the current linkerd version installed on the cluster served: true storage: true subresources: status: {}