--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: (unknown) name: linkerds.linkerd.edge.ncr.com spec: group: linkerd.edge.ncr.com names: kind: Linkerd listKind: LinkerdList plural: linkerds shortNames: - l5d - l5ds singular: linkerd scope: Cluster versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=="Ready")].status name: Ready type: string - jsonPath: .status.conditions[?(@.type=="Ready")].message name: Status type: string - jsonPath: .status.version name: Version type: string - jsonPath: .metadata.creationTimestamp name: Age type: date name: v1alpha1 schema: openAPIV3Schema: description: Linkerd is the Schema for the Linkerds 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: LinkerdSpec defines the desired state of Linkerd properties: highAvailability: description: 'HighAvailability when enabled, configures linkerd to run in high availability mode: https://linkerd.io/2.14/features/ha/' properties: enabled: type: boolean type: object injection: description: 'Injection when enabled, configures linkerd with automatic proxy injection: https://linkerd.io/2.14/features/proxy-injection/' properties: enabled: type: boolean exclude: description: Exclude defines the exclusion rules for proxy injection properties: namespaces: items: type: string type: array type: object type: object monitoring: default: enabled: true description: Monitoring when enabled, allows monitoring features such as prometheus properties: enabled: type: boolean type: object type: object status: description: LinkerdStatus defines the observed state of Linkerd properties: clusterNetworks: type: string conditions: description: Conditions reports the current status of the linkerd CR items: 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: lastTransitionTime: 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 type: string message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. maxLength: 32768 type: string observedGeneration: 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 type: integer reason: 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_])?$ type: string status: description: status of the condition, one of True, False, Unknown. enum: - "True" - "False" - Unknown type: string type: 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])$ type: string required: - lastTransitionTime - message - reason - status - type type: object type: array disabledNamespaces: description: DisabledNamespaces reports list of namespaces that will not be injected with linkerd proxy items: type: string type: array identityIssuer: description: IdentityIssuer reports the duration and renew before configuration of identity certificates properties: certificate: description: Certificate defines configuration for a cert-manager Certificate properties: durationHours: type: integer renewBeforeHours: type: integer required: - durationHours - renewBeforeHours type: object required: - certificate type: object infraVersion: description: InfraVersion reports the current edge infra version type: string injectedNamespaces: description: InjectedNamespaces reports the list of namespaces that are to be injected items: type: string type: array inventory: description: Inventory reports the list of server and server authorizations that were created for each namespace to be injected properties: entries: description: Entries of Kubernetes resource object references. items: description: ResourceRef contains the information necessary to locate a resource within a cluster. properties: id: description: |- ID is the string representation of the Kubernetes resource object's metadata, in the format '___'. type: string v: description: Version is the API version of the Kubernetes resource object's kind. type: string required: - id - v type: object type: array type: object issuanceLifetime: description: IssuanceLifetime reports the amount of time before identity certificates expire type: string nativeSidecarsEnabled: description: NativeSidecarsEnabled reports if native sidecars are enabled for the cluster type: boolean thickPos: description: ThickPos reports if thick POS topolgy is enabled/disabled type: boolean version: description: Version reports the current linkerd version installed on the cluster type: string type: object type: object served: true storage: true subresources: status: {}