...

Text file src/edge-infra.dev/pkg/f8n/warehouse/k8s/controllers/lumperctl/integration/testdata/linkerdctl/linkerd.yaml

Documentation: edge-infra.dev/pkg/f8n/warehouse/k8s/controllers/lumperctl/integration/testdata/linkerdctl

     1# CRDs taken directly from Linkerd installation manifests, installed
     2# alongside the linkerd controller so that the CRDs are available before Linkerd
     3# is installed.  This is needed so that components can include instances of these
     4# CRDs alongside their deployment manifests.  Otherwise, Flux will fail to apply
     5# those objects infinitely.  This could be resolved by applying the Linkerd
     6# controller first + an installation CRD, but is not really reasonable.
     7# These CRDs aren't generated from the source code to make it easy to keep in 
     8# lock step because of course Linkerd does some wild shit that makes it impossible
     9# to generate the CRDs using standard tooling such as controller-gen.  My goodness
    10# I hate Linkerd.
    11#
    12# These must be updated in lockstep with the embedded manifests that the Linkerd
    13# controller actually deploys.
    14apiVersion: apiextensions.k8s.io/v1
    15kind: CustomResourceDefinition
    16metadata:
    17  name: servers.policy.linkerd.io
    18  labels:
    19    helm.sh/chart: linkerd2-0.1.0
    20    linkerd.io/control-plane-ns: linkerd
    21  annotations:
    22    linkerd.io/created-by: linkerd/cli stable-2.11.4
    23spec:
    24  group: policy.linkerd.io
    25  names:
    26    kind: Server
    27    plural: servers
    28    shortNames: [srv]
    29    singular: server
    30  scope: Namespaced
    31  versions:
    32  - name: v1alpha1
    33    deprecated: true
    34    deprecationWarning: "policy.linkerd.io/v1alpha1 Server is deprecated; use policy.linkerd.io/v1beta1 Server"
    35    schema:
    36      openAPIV3Schema:
    37        type: object
    38        properties:
    39          spec:
    40            type: object
    41            properties:
    42              port:
    43                description: >-
    44                  A port name or number. Must exist in a pod spec.
    45                x-kubernetes-int-or-string: true
    46              podSelector:
    47                type: object
    48                description: >-
    49                  Selects pods in the same namespace.
    50                oneOf:
    51                - required: [matchExpressions]
    52                - required: [matchLabels]
    53                properties:
    54                  matchExpressions:
    55                    type: array
    56                    items:
    57                      type: object
    58                      properties:
    59                        key:
    60                          type: string
    61                        operator:
    62                          type: string
    63                          enum: [In, NotIn, Exists, DoesNotExist]
    64                        values:
    65                          type: array
    66                          items:
    67                            type: string
    68                      required: [key, operator]
    69                  matchLabels:
    70                    type: object
    71                    x-kubernetes-preserve-unknown-fields: true
    72              proxyProtocol:
    73                type: string
    74                default: unknown
    75                description: >-
    76                  Configures protocol discovery for inbound connections.
    77
    78                  Supersedes the `config.linkerd.io/opaque-ports` annotation.
    79                enum:
    80                - unknown
    81                - HTTP/1
    82                - HTTP/2
    83                - gRPC
    84                - opaque
    85                - TLS
    86            required:
    87            - podSelector
    88            - port
    89        required: [spec]
    90    served: true
    91    storage: false
    92  - name: v1beta1
    93    additionalPrinterColumns:
    94    - name: Port
    95      type: string
    96      description: The port the server is listening on
    97      jsonPath: .spec.port
    98    - name: Protocol
    99      type: string
   100      description: The protocol of the server
   101      jsonPath: .spec.proxyProtocol
   102    schema:
   103      openAPIV3Schema:
   104        type: object
   105        properties:
   106          spec:
   107            type: object
   108            properties:
   109              port:
   110                description: >-
   111                  A port name or number. Must exist in a pod spec.
   112                x-kubernetes-int-or-string: true
   113              podSelector:
   114                type: object
   115                description: >-
   116                  Selects pods in the same namespace.
   117
   118                  The result of matchLabels and matchExpressions are ANDed. Selects all if empty.
   119                properties:
   120                  matchExpressions:
   121                    type: array
   122                    items:
   123                      type: object
   124                      properties:
   125                        key:
   126                          type: string
   127                        operator:
   128                          type: string
   129                          enum: [In, NotIn, Exists, DoesNotExist]
   130                        values:
   131                          type: array
   132                          items:
   133                            type: string
   134                      required: [key, operator]
   135                  matchLabels:
   136                    type: object
   137                    x-kubernetes-preserve-unknown-fields: true
   138              proxyProtocol:
   139                type: string
   140                default: unknown
   141                description: >-
   142                  Configures protocol discovery for inbound connections.
   143
   144                  Supersedes the `config.linkerd.io/opaque-ports` annotation.
   145                enum:
   146                - unknown
   147                - HTTP/1
   148                - HTTP/2
   149                - gRPC
   150                - opaque
   151                - TLS
   152            required:
   153            - podSelector
   154            - port
   155        required: [spec]
   156    served: true
   157    storage: true
   158---
   159apiVersion: apiextensions.k8s.io/v1
   160kind: CustomResourceDefinition
   161metadata:
   162  name: serverauthorizations.policy.linkerd.io
   163  labels:
   164    helm.sh/chart: linkerd2-0.1.0
   165    linkerd.io/control-plane-ns: linkerd
   166  annotations:
   167    linkerd.io/created-by: linkerd/cli stable-2.11.4
   168spec:
   169  group: policy.linkerd.io
   170  names:
   171    kind: ServerAuthorization
   172    plural: serverauthorizations
   173    shortNames: [saz]
   174    singular: serverauthorization
   175  scope: Namespaced
   176  versions:
   177  - name: v1alpha1
   178    schema:
   179      openAPIV3Schema:
   180        type: object
   181        properties:
   182          spec:
   183            type: object
   184            description: >-
   185              Authorizes clients to communicate with Linkerd-proxied servers.
   186            properties:
   187              client:
   188                type: object
   189                description: Describes clients authorized to access a server.
   190                properties:
   191                  meshTLS:
   192                    type: object
   193                    properties:
   194                      identities:
   195                        type: array
   196                        description: >-
   197                          Authorizes clients with the provided proxy identity strings (as provided via MTLS)
   198
   199                          The `*` prefix can be used to match all identities in a domain. An identity string of `*` indicates that all authentication clients are authorized.
   200                        items:
   201                          type: string
   202                          pattern: '^(\*|[a-z0-9]([-a-z0-9]*[a-z0-9])?)(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'
   203                      serviceAccounts:
   204                        type: array
   205                        description: >-
   206                          Authorizes clients with the provided proxy identity service accounts (as provided via MTLS)
   207                        items:
   208                          type: object
   209                          properties:
   210                            name:
   211                              type: string
   212                              description: The ServiceAccount's name.
   213                              pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$'
   214                            namespace:
   215                              type: string
   216                              description: >-
   217                                The ServiceAccount's namespace. If unset, the authorization's namespace is used.
   218                              pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$'
   219                          required: [name]
   220                      unauthenticatedTLS:
   221                        type: boolean
   222                        description: >-
   223                          Indicates that no client identity is required for communication.
   224
   225                          This is mostly important for the identity controller, which must terminate TLS connections from clients that do not yet have a certificate.
   226                  networks:
   227                    type: array
   228                    description: >-
   229                      Limits the client IP addresses to which this authorization applies. If unset, the server chooses a default (typically, all IPs or the cluster's pod network).
   230                    items:
   231                      type: object
   232                      properties:
   233                        cidr:
   234                          type: string
   235                        except:
   236                          type: array
   237                          items:
   238                            type: string
   239                      required: [cidr]
   240                  unauthenticated:
   241                    type: boolean
   242                    description: >-
   243                      Authorizes unauthenticated clients to access a server.
   244              server:
   245                type: object
   246                description: >-
   247                  Identifies servers in the same namespace for which this authorization applies.
   248
   249                  Only one of `name` or `selector` may be specified.
   250                oneOf:
   251                - required: [name]
   252                - required: [selector]
   253                properties:
   254                  name:
   255                    type: string
   256                    description: References a `Server` instance by name
   257                    pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$'
   258                  selector:
   259                    type: object
   260                    description: >-
   261                      A label query over servers on which this authorization applies.
   262                    properties:
   263                      matchExpressions:
   264                        type: array
   265                        items:
   266                          type: object
   267                          properties:
   268                            key:
   269                              type: string
   270                            operator:
   271                              type: string
   272                              enum: [In, NotIn, Exists, DoesNotExist]
   273                            values:
   274                              type: array
   275                              items:
   276                                type: string
   277                          required: [key, operator]
   278                      matchLabels:
   279                        type: object
   280                        x-kubernetes-preserve-unknown-fields: true
   281            required: [server, client]
   282        required: [spec]
   283    served: true
   284    storage: false
   285  - name: v1beta1
   286    additionalPrinterColumns:
   287    - name: Server
   288      type: string
   289      description: The server that this grants access to
   290      jsonPath: .spec.server.name
   291    schema:
   292      openAPIV3Schema:
   293        type: object
   294        properties:
   295          spec:
   296            type: object
   297            description: >-
   298              Authorizes clients to communicate with Linkerd-proxied servers.
   299            properties:
   300              client:
   301                type: object
   302                description: Describes clients authorized to access a server.
   303                properties:
   304                  meshTLS:
   305                    type: object
   306                    properties:
   307                      identities:
   308                        type: array
   309                        description: >-
   310                          Authorizes clients with the provided proxy identity strings (as provided via MTLS)
   311
   312                          The `*` prefix can be used to match all identities in a domain. An identity string of `*` indicates that all authentication clients are authorized.
   313                        items:
   314                          type: string
   315                          pattern: '^(\*|[a-z0-9]([-a-z0-9]*[a-z0-9])?)(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'
   316                      serviceAccounts:
   317                        type: array
   318                        description: >-
   319                          Authorizes clients with the provided proxy identity service accounts (as provided via MTLS)
   320                        items:
   321                          type: object
   322                          properties:
   323                            name:
   324                              type: string
   325                              description: The ServiceAccount's name.
   326                              pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$'
   327                            namespace:
   328                              type: string
   329                              description: >-
   330                                The ServiceAccount's namespace. If unset, the authorization's namespace is used.
   331                              pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$'
   332                          required: [name]
   333                      unauthenticatedTLS:
   334                        type: boolean
   335                        description: >-
   336                          Indicates that no client identity is required for communication.
   337
   338                          This is mostly important for the identity controller, which must terminate TLS connections from clients that do not yet have a certificate.
   339                  networks:
   340                    type: array
   341                    description: >-
   342                      Limits the client IP addresses to which this authorization applies. If unset, the server chooses a default (typically, all IPs or the cluster's pod network).
   343                    items:
   344                      type: object
   345                      properties:
   346                        cidr:
   347                          type: string
   348                        except:
   349                          type: array
   350                          items:
   351                            type: string
   352                      required: [cidr]
   353                  unauthenticated:
   354                    type: boolean
   355                    description: >-
   356                      Authorizes unauthenticated clients to access a server.
   357              server:
   358                type: object
   359                description: >-
   360                  Identifies servers in the same namespace for which this authorization applies.
   361
   362                  Only one of `name` or `selector` may be specified.
   363                oneOf:
   364                - required: [name]
   365                - required: [selector]
   366                properties:
   367                  name:
   368                    type: string
   369                    description: References a `Server` instance by name
   370                    pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$'
   371                  selector:
   372                    type: object
   373                    description: >-
   374                      A label query over servers on which this authorization applies.
   375                    properties:
   376                      matchExpressions:
   377                        type: array
   378                        items:
   379                          type: object
   380                          properties:
   381                            key:
   382                              type: string
   383                            operator:
   384                              type: string
   385                              enum: [In, NotIn, Exists, DoesNotExist]
   386                            values:
   387                              type: array
   388                              items:
   389                                type: string
   390                          required: [key, operator]
   391                      matchLabels:
   392                        type: object
   393                        x-kubernetes-preserve-unknown-fields: true
   394            required: [server, client]
   395        required: [spec]
   396    served: true
   397    storage: true
   398---
   399###
   400### Service Profile CRD
   401###
   402apiVersion: apiextensions.k8s.io/v1
   403kind: CustomResourceDefinition
   404metadata:
   405  name: serviceprofiles.linkerd.io
   406  labels:
   407    linkerd.io/control-plane-ns: linkerd
   408  annotations:
   409    linkerd.io/created-by: linkerd/cli stable-2.11.4
   410spec:
   411  group: linkerd.io
   412  names:
   413    kind: ServiceProfile
   414    plural: serviceprofiles
   415    shortNames:
   416    - sp
   417    singular: serviceprofile
   418  preserveUnknownFields: false
   419  scope: Namespaced
   420  versions:
   421  - name: v1alpha1
   422    schema:
   423      openAPIV3Schema:
   424        type: object
   425        properties:
   426          spec:
   427            type: object
   428            description: Spec is the custom resource spec
   429            properties:
   430              dstOverrides:
   431                type: array
   432                items:
   433                  type: object
   434                  description: WeightedDst is a weighted alternate destination.
   435                  properties:
   436                    authority:
   437                      type: string
   438                    weight:
   439                      anyOf:
   440                      - type: integer
   441                      - type: string
   442                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   443                      x-kubernetes-int-or-string: true
   444                required:
   445                - authority
   446                - weight
   447              opaquePorts:
   448                type: array
   449                items:
   450                  type: string
   451              retryBudget:
   452                type: object
   453                description: RetryBudget describes the maximum number of retries that should be issued to this service.
   454                properties:
   455                  minRetriesPerSecond:
   456                    type: integer
   457                    format: int32
   458                  retryRatio:
   459                    type: number
   460                    format: float
   461                  ttl:
   462                    type: string
   463                required:
   464                - minRetriesPerSecond
   465                - retryRatio
   466                - ttl
   467              routes:
   468                type: array
   469                items:
   470                  type: object
   471                  description: RouteSpec specifies a Route resource.
   472                  properties:
   473                    name:
   474                      type: string
   475                    condition:
   476                      type: object
   477                      description: RequestMatch describes the conditions under which to match a Route.
   478                      properties:
   479                        all:
   480                          type: array
   481                          items:
   482                            type: object
   483                            x-kubernetes-preserve-unknown-fields: true
   484                        any:
   485                          type: array
   486                          items:
   487                            type: object
   488                            x-kubernetes-preserve-unknown-fields: true
   489                        method:
   490                          type: string
   491                        not:
   492                          type: array
   493                          items:
   494                            type: object
   495                            x-kubernetes-preserve-unknown-fields: true
   496                        pathRegex:
   497                          type: string
   498                    isRetryable:
   499                      type: boolean
   500                    responseClasses:
   501                      type: array
   502                      items:
   503                        type: object
   504                        description: ResponseClass describes how to classify a response (e.g. success or failures).
   505                        properties:
   506                          condition:
   507                            type: object
   508                            description: ResponseMatch describes the conditions under which to classify a response.
   509                            properties:
   510                              status:
   511                                type: object
   512                                description: Range describes a range of integers (e.g. status codes).
   513                                properties:
   514                                  max:
   515                                    type: integer
   516                                    format: int32
   517                                  min:
   518                                    type: integer
   519                                    format: int32
   520                              all:
   521                                type: array
   522                                items:
   523                                  type: object
   524                                  x-kubernetes-preserve-unknown-fields: true
   525                              any:
   526                                type: array
   527                                items:
   528                                  type: object
   529                                  x-kubernetes-preserve-unknown-fields: true
   530                              not:
   531                                type: array
   532                                items:
   533                                  type: object
   534                                  x-kubernetes-preserve-unknown-fields: true
   535                          isFailure:
   536                            type: boolean
   537                        required:
   538                        - condition
   539                    timeout:
   540                      type: string
   541                  required:
   542                  - condition
   543                  - name
   544            required:
   545            - routes
   546    served: true
   547    storage: false
   548  - name: v1alpha2
   549    schema:
   550      openAPIV3Schema:
   551        type: object
   552        properties:
   553          spec:
   554            type: object
   555            description: Spec is the custom resource spec
   556            properties:
   557              dstOverrides:
   558                type: array
   559                items:
   560                  type: object
   561                  description: WeightedDst is a weighted alternate destination.
   562                  properties:
   563                    authority:
   564                      type: string
   565                    weight:
   566                      anyOf:
   567                      - type: integer
   568                      - type: string
   569                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
   570                      x-kubernetes-int-or-string: true
   571                required:
   572                - authority
   573                - weight
   574              opaquePorts:
   575                type: array
   576                items:
   577                  type: string
   578              retryBudget:
   579                type: object
   580                description: RetryBudget describes the maximum number of retries that should be issued to this service.
   581                properties:
   582                  minRetriesPerSecond:
   583                    type: integer
   584                    format: int32
   585                  retryRatio:
   586                    type: number
   587                    format: float
   588                  ttl:
   589                    type: string
   590                required:
   591                - minRetriesPerSecond
   592                - retryRatio
   593                - ttl
   594              routes:
   595                type: array
   596                items:
   597                  type: object
   598                  description: RouteSpec specifies a Route resource.
   599                  properties:
   600                    name:
   601                      type: string
   602                    condition:
   603                      type: object
   604                      description: RequestMatch describes the conditions under which to match a Route.
   605                      properties:
   606                        all:
   607                          type: array
   608                          items:
   609                            type: object
   610                            x-kubernetes-preserve-unknown-fields: true
   611                        any:
   612                          type: array
   613                          items:
   614                            type: object
   615                            x-kubernetes-preserve-unknown-fields: true
   616                        method:
   617                          type: string
   618                        not:
   619                          type: array
   620                          items:
   621                            type: object
   622                            x-kubernetes-preserve-unknown-fields: true
   623                        pathRegex:
   624                          type: string
   625                    isRetryable:
   626                      type: boolean
   627                    responseClasses:
   628                      type: array
   629                      items:
   630                        type: object
   631                        description: ResponseClass describes how to classify a response (e.g. success or failures).
   632                        properties:
   633                          condition:
   634                            type: object
   635                            description: ResponseMatch describes the conditions under which to classify a response.
   636                            properties:
   637                              status:
   638                                type: object
   639                                description: Range describes a range of integers (e.g. status codes).
   640                                properties:
   641                                  max:
   642                                    type: integer
   643                                    format: int32
   644                                  min:
   645                                    type: integer
   646                                    format: int32
   647                              all:
   648                                type: array
   649                                items:
   650                                  type: object
   651                                  x-kubernetes-preserve-unknown-fields: true
   652                              any:
   653                                type: array
   654                                items:
   655                                  type: object
   656                                  x-kubernetes-preserve-unknown-fields: true
   657                              not:
   658                                type: array
   659                                items:
   660                                  type: object
   661                                  x-kubernetes-preserve-unknown-fields: true
   662                          isFailure:
   663                            type: boolean
   664                        required:
   665                        - condition
   666                    timeout:
   667                      type: string
   668                  required:
   669                  - condition
   670                  - name
   671    served: true
   672    storage: true
   673---
   674###
   675### TrafficSplit CRD
   676### Copied from github.com/servicemeshinterface/smi-sdk-go/blob/d4e76b1cd7a33ead5f38d1262dd838a31c80f4e5/crds/split.yaml
   677###
   678apiVersion: apiextensions.k8s.io/v1
   679kind: CustomResourceDefinition
   680metadata:
   681  name: trafficsplits.split.smi-spec.io
   682  labels:
   683    linkerd.io/control-plane-ns: linkerd
   684  annotations:
   685    linkerd.io/created-by: linkerd/cli stable-2.11.4
   686spec:
   687  conversion:
   688    strategy: None
   689  group: split.smi-spec.io
   690  names:
   691    kind: TrafficSplit
   692    listKind: TrafficSplitList
   693    plural: trafficsplits
   694    shortNames:
   695    - ts
   696    singular: trafficsplit
   697  preserveUnknownFields: false
   698  scope: Namespaced
   699  versions:
   700  - name: v1alpha1
   701    additionalPrinterColumns:
   702    - name: Service
   703      type: string
   704      description: The apex service of this split.
   705      jsonPath: .spec.service
   706    schema:
   707      openAPIV3Schema:
   708        type: object
   709        properties:
   710          spec:
   711            type: object
   712            properties:
   713              service:
   714                type: string
   715                description: The apex service of this split.
   716              backends:
   717                type: array
   718                description: The backend services of this split.
   719                items:
   720                  type: object
   721                  properties:
   722                    service:
   723                      type: string
   724                      description: Name of the Kubernetes service.
   725                    weight:
   726                      description: Traffic weight value of this backend.
   727                      x-kubernetes-int-or-string: true
   728                  required: ['service', 'weight']
   729            required:
   730            - service
   731            - backends
   732    served: true
   733    storage: true
   734  - name: v1alpha2
   735    additionalPrinterColumns:
   736    - name: Service
   737      type: string
   738      description: The apex service of this split.
   739      jsonPath: .spec.service
   740    schema:
   741      openAPIV3Schema:
   742        type: object
   743        properties:
   744          spec:
   745            type: object
   746            properties:
   747              service:
   748                type: string
   749                description: The apex service of this split.
   750              backends:
   751                type: array
   752                description: The backend services of this split.
   753                items:
   754                  type: object
   755                  properties:
   756                    service:
   757                      type: string
   758                      description: Name of the Kubernetes service.
   759                    weight:
   760                      type: number
   761                      description: Traffic weight value of this backend.
   762                  required: ['service', 'weight']
   763            required:
   764            - service
   765            - backends
   766    served: true
   767    storage: false
   768---
   769apiVersion: apiextensions.k8s.io/v1
   770kind: CustomResourceDefinition
   771metadata:
   772  name: linkerds.linkerd.edge.ncr.com
   773  annotations:
   774    controller-gen.kubebuilder.io/version: (unknown)
   775spec:
   776  group: linkerd.edge.ncr.com
   777  names:
   778    kind: Linkerd
   779    listKind: LinkerdList
   780    plural: linkerds
   781    shortNames:
   782    - l5d
   783    - l5ds
   784    singular: linkerd
   785  scope: Cluster
   786  versions:
   787  - name: v1alpha1
   788    additionalPrinterColumns:
   789    - name: Ready
   790      type: string
   791      jsonPath: .status.conditions[?(@.type=="Ready")].status
   792    - name: Status
   793      type: string
   794      jsonPath: .status.conditions[?(@.type=="Ready")].message
   795    - name: Version
   796      type: string
   797      jsonPath: .status.version
   798    - name: Age
   799      type: date
   800      jsonPath: .metadata.creationTimestamp
   801    schema:
   802      openAPIV3Schema:
   803        type: object
   804        description: Linkerd is the Schema for the Linkerds API
   805        properties:
   806          apiVersion:
   807            type: string
   808            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'
   809          kind:
   810            type: string
   811            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'
   812          metadata:
   813            type: object
   814          spec:
   815            type: object
   816            description: LinkerdSpec defines the desired state of Linkerd
   817            properties:
   818              highAvailability:
   819                type: object
   820                description: HighAvailability contains the HighAvailability configuration options for a Linkerd installation
   821                properties:
   822                  enabled:
   823                    type: boolean
   824              injection:
   825                type: object
   826                description: Injection defines the configuration for automated proxy injection
   827                properties:
   828                  enabled:
   829                    type: boolean
   830                  exclude:
   831                    type: object
   832                    description: Exclude defines the exclusion rules for proxy injection
   833                    properties:
   834                      namespaces:
   835                        type: array
   836                        items:
   837                          type: string
   838              monitoring:
   839                type: object
   840                default:
   841                  enabled: true
   842                description: Monitoring will be used to control monitoring features such as prometheus
   843                properties:
   844                  enabled:
   845                    type: boolean
   846          status:
   847            type: object
   848            description: LinkerdStatus defines the observed state of Linkerd
   849            properties:
   850              conditions:
   851                type: array
   852                items:
   853                  type: object
   854                  description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions.  For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
   855                  properties:
   856                    type:
   857                      type: string
   858                      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)
   859                      maxLength: 316
   860                      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])$
   861                    status:
   862                      type: string
   863                      description: status of the condition, one of True, False, Unknown.
   864                      enum:
   865                      - "True"
   866                      - "False"
   867                      - Unknown
   868                    lastTransitionTime:
   869                      type: string
   870                      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.
   871                      format: date-time
   872                    message:
   873                      type: string
   874                      description: message is a human readable message indicating details about the transition. This may be an empty string.
   875                      maxLength: 32768
   876                    observedGeneration:
   877                      type: integer
   878                      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.
   879                      format: int64
   880                      minimum: 0
   881                    reason:
   882                      type: string
   883                      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.
   884                      maxLength: 1024
   885                      minLength: 1
   886                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   887                  required:
   888                  - lastTransitionTime
   889                  - message
   890                  - reason
   891                  - status
   892                  - type
   893              disabledNamespaces:
   894                type: array
   895                items:
   896                  type: string
   897              injectedNamespaces:
   898                type: array
   899                items:
   900                  type: string
   901              inventory:
   902                type: object
   903                description: ResourceInventory contains a list of Kubernetes resource object references that have been applied.
   904                properties:
   905                  entries:
   906                    type: array
   907                    description: Entries of Kubernetes resource object references.
   908                    items:
   909                      type: object
   910                      description: ResourceRef contains the information necessary to locate a resource within a cluster.
   911                      properties:
   912                        id:
   913                          type: string
   914                          description: ID is the string representation of the Kubernetes resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
   915                        v:
   916                          type: string
   917                          description: Version is the API version of the Kubernetes resource object's kind.
   918                      required:
   919                      - id
   920                      - v
   921              version:
   922                type: string
   923    served: true
   924    storage: true
   925    subresources:
   926      status: {}
   927---
   928apiVersion: linkerd.edge.ncr.com/v1alpha1
   929kind: Linkerd
   930metadata:
   931  name: linkerd.edge.ncr.com
   932spec:
   933  highAvailability:
   934    enabled: false
   935  injection:
   936    enabled: false
   937    exclude:
   938      namespaces:
   939      - metallb
   940      - piraeus
   941      - ganesha
   942      - sds

View as plain text