...

Text file src/edge-infra.dev/test/fixtures/crds/fluxcd/source.toolkit.fluxcd.io_gitrepositories.yaml

Documentation: edge-infra.dev/test/fixtures/crds/fluxcd

     1---
     2apiVersion: apiextensions.k8s.io/v1
     3kind: CustomResourceDefinition
     4metadata:
     5  annotations:
     6    controller-gen.kubebuilder.io/version: (unknown)
     7  name: gitrepositories.source.toolkit.fluxcd.io
     8spec:
     9  group: source.toolkit.fluxcd.io
    10  names:
    11    kind: GitRepository
    12    listKind: GitRepositoryList
    13    plural: gitrepositories
    14    shortNames:
    15    - gitrepo
    16    singular: gitrepository
    17  scope: Namespaced
    18  versions:
    19  - additionalPrinterColumns:
    20    - jsonPath: .spec.url
    21      name: URL
    22      type: string
    23    - jsonPath: .metadata.creationTimestamp
    24      name: Age
    25      type: date
    26    - jsonPath: .status.conditions[?(@.type=="Ready")].status
    27      name: Ready
    28      type: string
    29    - jsonPath: .status.conditions[?(@.type=="Ready")].message
    30      name: Status
    31      type: string
    32    name: v1
    33    schema:
    34      openAPIV3Schema:
    35        description: GitRepository is the Schema for the gitrepositories API.
    36        properties:
    37          apiVersion:
    38            description: |-
    39              APIVersion defines the versioned schema of this representation of an object.
    40              Servers should convert recognized schemas to the latest internal value, and
    41              may reject unrecognized values.
    42              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    43            type: string
    44          kind:
    45            description: |-
    46              Kind is a string value representing the REST resource this object represents.
    47              Servers may infer this from the endpoint the client submits requests to.
    48              Cannot be updated.
    49              In CamelCase.
    50              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    51            type: string
    52          metadata:
    53            type: object
    54          spec:
    55            description: |-
    56              GitRepositorySpec specifies the required configuration to produce an
    57              Artifact for a Git repository.
    58            properties:
    59              ignore:
    60                description: |-
    61                  Ignore overrides the set of excluded patterns in the .sourceignore format
    62                  (which is the same as .gitignore). If not provided, a default will be used,
    63                  consult the documentation for your version to find out what those are.
    64                type: string
    65              include:
    66                description: |-
    67                  Include specifies a list of GitRepository resources which Artifacts
    68                  should be included in the Artifact produced for this GitRepository.
    69                items:
    70                  description: |-
    71                    GitRepositoryInclude specifies a local reference to a GitRepository which
    72                    Artifact (sub-)contents must be included, and where they should be placed.
    73                  properties:
    74                    fromPath:
    75                      description: |-
    76                        FromPath specifies the path to copy contents from, defaults to the root
    77                        of the Artifact.
    78                      type: string
    79                    repository:
    80                      description: |-
    81                        GitRepositoryRef specifies the GitRepository which Artifact contents
    82                        must be included.
    83                      properties:
    84                        name:
    85                          description: Name of the referent.
    86                          type: string
    87                      required:
    88                      - name
    89                      type: object
    90                    toPath:
    91                      description: |-
    92                        ToPath specifies the path to copy contents to, defaults to the name of
    93                        the GitRepositoryRef.
    94                      type: string
    95                  required:
    96                  - repository
    97                  type: object
    98                type: array
    99              interval:
   100                description: |-
   101                  Interval at which the GitRepository URL is checked for updates.
   102                  This interval is approximate and may be subject to jitter to ensure
   103                  efficient use of resources.
   104                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   105                type: string
   106              provider:
   107                description: |-
   108                  Provider used for authentication, can be 'azure', 'generic'.
   109                  When not specified, defaults to 'generic'.
   110                enum:
   111                - generic
   112                - azure
   113                type: string
   114              proxySecretRef:
   115                description: |-
   116                  ProxySecretRef specifies the Secret containing the proxy configuration
   117                  to use while communicating with the Git server.
   118                properties:
   119                  name:
   120                    description: Name of the referent.
   121                    type: string
   122                required:
   123                - name
   124                type: object
   125              recurseSubmodules:
   126                description: |-
   127                  RecurseSubmodules enables the initialization of all submodules within
   128                  the GitRepository as cloned from the URL, using their default settings.
   129                type: boolean
   130              ref:
   131                description: |-
   132                  Reference specifies the Git reference to resolve and monitor for
   133                  changes, defaults to the 'master' branch.
   134                properties:
   135                  branch:
   136                    description: Branch to check out, defaults to 'master' if no other
   137                      field is defined.
   138                    type: string
   139                  commit:
   140                    description: |-
   141                      Commit SHA to check out, takes precedence over all reference fields.
   142
   143
   144                      This can be combined with Branch to shallow clone the branch, in which
   145                      the commit is expected to exist.
   146                    type: string
   147                  name:
   148                    description: |-
   149                      Name of the reference to check out; takes precedence over Branch, Tag and SemVer.
   150
   151
   152                      It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description
   153                      Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head"
   154                    type: string
   155                  semver:
   156                    description: SemVer tag expression to check out, takes precedence
   157                      over Tag.
   158                    type: string
   159                  tag:
   160                    description: Tag to check out, takes precedence over Branch.
   161                    type: string
   162                type: object
   163              secretRef:
   164                description: |-
   165                  SecretRef specifies the Secret containing authentication credentials for
   166                  the GitRepository.
   167                  For HTTPS repositories the Secret must contain 'username' and 'password'
   168                  fields for basic auth or 'bearerToken' field for token auth.
   169                  For SSH repositories the Secret must contain 'identity'
   170                  and 'known_hosts' fields.
   171                properties:
   172                  name:
   173                    description: Name of the referent.
   174                    type: string
   175                required:
   176                - name
   177                type: object
   178              suspend:
   179                description: |-
   180                  Suspend tells the controller to suspend the reconciliation of this
   181                  GitRepository.
   182                type: boolean
   183              timeout:
   184                default: 60s
   185                description: Timeout for Git operations like cloning, defaults to
   186                  60s.
   187                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
   188                type: string
   189              url:
   190                description: URL specifies the Git repository URL, it can be an HTTP/S
   191                  or SSH address.
   192                pattern: ^(http|https|ssh)://.*$
   193                type: string
   194              verify:
   195                description: |-
   196                  Verification specifies the configuration to verify the Git commit
   197                  signature(s).
   198                properties:
   199                  mode:
   200                    default: HEAD
   201                    description: |-
   202                      Mode specifies which Git object(s) should be verified.
   203
   204
   205                      The variants "head" and "HEAD" both imply the same thing, i.e. verify
   206                      the commit that the HEAD of the Git repository points to. The variant
   207                      "head" solely exists to ensure backwards compatibility.
   208                    enum:
   209                    - head
   210                    - HEAD
   211                    - Tag
   212                    - TagAndHEAD
   213                    type: string
   214                  secretRef:
   215                    description: |-
   216                      SecretRef specifies the Secret containing the public keys of trusted Git
   217                      authors.
   218                    properties:
   219                      name:
   220                        description: Name of the referent.
   221                        type: string
   222                    required:
   223                    - name
   224                    type: object
   225                required:
   226                - secretRef
   227                type: object
   228            required:
   229            - interval
   230            - url
   231            type: object
   232          status:
   233            default:
   234              observedGeneration: -1
   235            description: GitRepositoryStatus records the observed state of a Git repository.
   236            properties:
   237              artifact:
   238                description: Artifact represents the last successful GitRepository
   239                  reconciliation.
   240                properties:
   241                  digest:
   242                    description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
   243                    pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
   244                    type: string
   245                  lastUpdateTime:
   246                    description: |-
   247                      LastUpdateTime is the timestamp corresponding to the last update of the
   248                      Artifact.
   249                    format: date-time
   250                    type: string
   251                  metadata:
   252                    additionalProperties:
   253                      type: string
   254                    description: Metadata holds upstream information such as OCI annotations.
   255                    type: object
   256                  path:
   257                    description: |-
   258                      Path is the relative file path of the Artifact. It can be used to locate
   259                      the file in the root of the Artifact storage on the local file system of
   260                      the controller managing the Source.
   261                    type: string
   262                  revision:
   263                    description: |-
   264                      Revision is a human-readable identifier traceable in the origin source
   265                      system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
   266                    type: string
   267                  size:
   268                    description: Size is the number of bytes in the file.
   269                    format: int64
   270                    type: integer
   271                  url:
   272                    description: |-
   273                      URL is the HTTP address of the Artifact as exposed by the controller
   274                      managing the Source. It can be used to retrieve the Artifact for
   275                      consumption, e.g. by another controller applying the Artifact contents.
   276                    type: string
   277                required:
   278                - lastUpdateTime
   279                - path
   280                - revision
   281                - url
   282                type: object
   283              conditions:
   284                description: Conditions holds the conditions for the GitRepository.
   285                items:
   286                  description: "Condition contains details for one aspect of the current
   287                    state of this API Resource.\n---\nThis struct is intended for
   288                    direct use as an array at the field path .status.conditions.  For
   289                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
   290                    observations of a foo's current state.\n\t    // Known .status.conditions.type
   291                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
   292                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
   293                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
   294                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
   295                    \   // other fields\n\t}"
   296                  properties:
   297                    lastTransitionTime:
   298                      description: |-
   299                        lastTransitionTime is the last time the condition transitioned from one status to another.
   300                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
   301                      format: date-time
   302                      type: string
   303                    message:
   304                      description: |-
   305                        message is a human readable message indicating details about the transition.
   306                        This may be an empty string.
   307                      maxLength: 32768
   308                      type: string
   309                    observedGeneration:
   310                      description: |-
   311                        observedGeneration represents the .metadata.generation that the condition was set based upon.
   312                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
   313                        with respect to the current state of the instance.
   314                      format: int64
   315                      minimum: 0
   316                      type: integer
   317                    reason:
   318                      description: |-
   319                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
   320                        Producers of specific condition types may define expected values and meanings for this field,
   321                        and whether the values are considered a guaranteed API.
   322                        The value should be a CamelCase string.
   323                        This field may not be empty.
   324                      maxLength: 1024
   325                      minLength: 1
   326                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   327                      type: string
   328                    status:
   329                      description: status of the condition, one of True, False, Unknown.
   330                      enum:
   331                      - "True"
   332                      - "False"
   333                      - Unknown
   334                      type: string
   335                    type:
   336                      description: |-
   337                        type of condition in CamelCase or in foo.example.com/CamelCase.
   338                        ---
   339                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   340                        useful (see .node.status.conditions), the ability to deconflict is important.
   341                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   342                      maxLength: 316
   343                      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])$
   344                      type: string
   345                  required:
   346                  - lastTransitionTime
   347                  - message
   348                  - reason
   349                  - status
   350                  - type
   351                  type: object
   352                type: array
   353              includedArtifacts:
   354                description: |-
   355                  IncludedArtifacts contains a list of the last successfully included
   356                  Artifacts as instructed by GitRepositorySpec.Include.
   357                items:
   358                  description: Artifact represents the output of a Source reconciliation.
   359                  properties:
   360                    digest:
   361                      description: Digest is the digest of the file in the form of
   362                        '<algorithm>:<checksum>'.
   363                      pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
   364                      type: string
   365                    lastUpdateTime:
   366                      description: |-
   367                        LastUpdateTime is the timestamp corresponding to the last update of the
   368                        Artifact.
   369                      format: date-time
   370                      type: string
   371                    metadata:
   372                      additionalProperties:
   373                        type: string
   374                      description: Metadata holds upstream information such as OCI
   375                        annotations.
   376                      type: object
   377                    path:
   378                      description: |-
   379                        Path is the relative file path of the Artifact. It can be used to locate
   380                        the file in the root of the Artifact storage on the local file system of
   381                        the controller managing the Source.
   382                      type: string
   383                    revision:
   384                      description: |-
   385                        Revision is a human-readable identifier traceable in the origin source
   386                        system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
   387                      type: string
   388                    size:
   389                      description: Size is the number of bytes in the file.
   390                      format: int64
   391                      type: integer
   392                    url:
   393                      description: |-
   394                        URL is the HTTP address of the Artifact as exposed by the controller
   395                        managing the Source. It can be used to retrieve the Artifact for
   396                        consumption, e.g. by another controller applying the Artifact contents.
   397                      type: string
   398                  required:
   399                  - lastUpdateTime
   400                  - path
   401                  - revision
   402                  - url
   403                  type: object
   404                type: array
   405              lastHandledReconcileAt:
   406                description: |-
   407                  LastHandledReconcileAt holds the value of the most recent
   408                  reconcile request value, so a change of the annotation value
   409                  can be detected.
   410                type: string
   411              observedGeneration:
   412                description: |-
   413                  ObservedGeneration is the last observed generation of the GitRepository
   414                  object.
   415                format: int64
   416                type: integer
   417              observedIgnore:
   418                description: |-
   419                  ObservedIgnore is the observed exclusion patterns used for constructing
   420                  the source artifact.
   421                type: string
   422              observedInclude:
   423                description: |-
   424                  ObservedInclude is the observed list of GitRepository resources used to
   425                  produce the current Artifact.
   426                items:
   427                  description: |-
   428                    GitRepositoryInclude specifies a local reference to a GitRepository which
   429                    Artifact (sub-)contents must be included, and where they should be placed.
   430                  properties:
   431                    fromPath:
   432                      description: |-
   433                        FromPath specifies the path to copy contents from, defaults to the root
   434                        of the Artifact.
   435                      type: string
   436                    repository:
   437                      description: |-
   438                        GitRepositoryRef specifies the GitRepository which Artifact contents
   439                        must be included.
   440                      properties:
   441                        name:
   442                          description: Name of the referent.
   443                          type: string
   444                      required:
   445                      - name
   446                      type: object
   447                    toPath:
   448                      description: |-
   449                        ToPath specifies the path to copy contents to, defaults to the name of
   450                        the GitRepositoryRef.
   451                      type: string
   452                  required:
   453                  - repository
   454                  type: object
   455                type: array
   456              observedRecurseSubmodules:
   457                description: |-
   458                  ObservedRecurseSubmodules is the observed resource submodules
   459                  configuration used to produce the current Artifact.
   460                type: boolean
   461              sourceVerificationMode:
   462                description: |-
   463                  SourceVerificationMode is the last used verification mode indicating
   464                  which Git object(s) have been verified.
   465                type: string
   466            type: object
   467        type: object
   468    served: true
   469    storage: true
   470    subresources:
   471      status: {}
   472  - additionalPrinterColumns:
   473    - jsonPath: .spec.url
   474      name: URL
   475      type: string
   476    - jsonPath: .status.conditions[?(@.type=="Ready")].status
   477      name: Ready
   478      type: string
   479    - jsonPath: .status.conditions[?(@.type=="Ready")].message
   480      name: Status
   481      type: string
   482    - jsonPath: .metadata.creationTimestamp
   483      name: Age
   484      type: date
   485    deprecated: true
   486    deprecationWarning: v1beta1 GitRepository is deprecated, upgrade to v1
   487    name: v1beta1
   488    schema:
   489      openAPIV3Schema:
   490        description: GitRepository is the Schema for the gitrepositories API
   491        properties:
   492          apiVersion:
   493            description: |-
   494              APIVersion defines the versioned schema of this representation of an object.
   495              Servers should convert recognized schemas to the latest internal value, and
   496              may reject unrecognized values.
   497              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   498            type: string
   499          kind:
   500            description: |-
   501              Kind is a string value representing the REST resource this object represents.
   502              Servers may infer this from the endpoint the client submits requests to.
   503              Cannot be updated.
   504              In CamelCase.
   505              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   506            type: string
   507          metadata:
   508            type: object
   509          spec:
   510            description: GitRepositorySpec defines the desired state of a Git repository.
   511            properties:
   512              accessFrom:
   513                description: AccessFrom defines an Access Control List for allowing
   514                  cross-namespace references to this object.
   515                properties:
   516                  namespaceSelectors:
   517                    description: |-
   518                      NamespaceSelectors is the list of namespace selectors to which this ACL applies.
   519                      Items in this list are evaluated using a logical OR operation.
   520                    items:
   521                      description: |-
   522                        NamespaceSelector selects the namespaces to which this ACL applies.
   523                        An empty map of MatchLabels matches all namespaces in a cluster.
   524                      properties:
   525                        matchLabels:
   526                          additionalProperties:
   527                            type: string
   528                          description: |-
   529                            MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   530                            map is equivalent to an element of matchExpressions, whose key field is "key", the
   531                            operator is "In", and the values array contains only "value". The requirements are ANDed.
   532                          type: object
   533                      type: object
   534                    type: array
   535                required:
   536                - namespaceSelectors
   537                type: object
   538              gitImplementation:
   539                default: go-git
   540                description: |-
   541                  Determines which git client library to use.
   542                  Defaults to go-git, valid values are ('go-git', 'libgit2').
   543                enum:
   544                - go-git
   545                - libgit2
   546                type: string
   547              ignore:
   548                description: |-
   549                  Ignore overrides the set of excluded patterns in the .sourceignore format
   550                  (which is the same as .gitignore). If not provided, a default will be used,
   551                  consult the documentation for your version to find out what those are.
   552                type: string
   553              include:
   554                description: Extra git repositories to map into the repository
   555                items:
   556                  description: GitRepositoryInclude defines a source with a from and
   557                    to path.
   558                  properties:
   559                    fromPath:
   560                      description: The path to copy contents from, defaults to the
   561                        root directory.
   562                      type: string
   563                    repository:
   564                      description: Reference to a GitRepository to include.
   565                      properties:
   566                        name:
   567                          description: Name of the referent.
   568                          type: string
   569                      required:
   570                      - name
   571                      type: object
   572                    toPath:
   573                      description: The path to copy contents to, defaults to the name
   574                        of the source ref.
   575                      type: string
   576                  required:
   577                  - repository
   578                  type: object
   579                type: array
   580              interval:
   581                description: The interval at which to check for repository updates.
   582                type: string
   583              recurseSubmodules:
   584                description: |-
   585                  When enabled, after the clone is created, initializes all submodules within,
   586                  using their default settings.
   587                  This option is available only when using the 'go-git' GitImplementation.
   588                type: boolean
   589              ref:
   590                description: |-
   591                  The Git reference to checkout and monitor for changes, defaults to
   592                  master branch.
   593                properties:
   594                  branch:
   595                    description: The Git branch to checkout, defaults to master.
   596                    type: string
   597                  commit:
   598                    description: The Git commit SHA to checkout, if specified Tag
   599                      filters will be ignored.
   600                    type: string
   601                  semver:
   602                    description: The Git tag semver expression, takes precedence over
   603                      Tag.
   604                    type: string
   605                  tag:
   606                    description: The Git tag to checkout, takes precedence over Branch.
   607                    type: string
   608                type: object
   609              secretRef:
   610                description: |-
   611                  The secret name containing the Git credentials.
   612                  For HTTPS repositories the secret must contain username and password
   613                  fields.
   614                  For SSH repositories the secret must contain identity and known_hosts
   615                  fields.
   616                properties:
   617                  name:
   618                    description: Name of the referent.
   619                    type: string
   620                required:
   621                - name
   622                type: object
   623              suspend:
   624                description: This flag tells the controller to suspend the reconciliation
   625                  of this source.
   626                type: boolean
   627              timeout:
   628                default: 60s
   629                description: The timeout for remote Git operations like cloning, defaults
   630                  to 60s.
   631                type: string
   632              url:
   633                description: The repository URL, can be a HTTP/S or SSH address.
   634                pattern: ^(http|https|ssh)://.*$
   635                type: string
   636              verify:
   637                description: Verify OpenPGP signature for the Git commit HEAD points
   638                  to.
   639                properties:
   640                  mode:
   641                    description: Mode describes what git object should be verified,
   642                      currently ('head').
   643                    enum:
   644                    - head
   645                    type: string
   646                  secretRef:
   647                    description: The secret name containing the public keys of all
   648                      trusted Git authors.
   649                    properties:
   650                      name:
   651                        description: Name of the referent.
   652                        type: string
   653                    required:
   654                    - name
   655                    type: object
   656                required:
   657                - mode
   658                type: object
   659            required:
   660            - interval
   661            - url
   662            type: object
   663          status:
   664            default:
   665              observedGeneration: -1
   666            description: GitRepositoryStatus defines the observed state of a Git repository.
   667            properties:
   668              artifact:
   669                description: Artifact represents the output of the last successful
   670                  repository sync.
   671                properties:
   672                  checksum:
   673                    description: Checksum is the SHA256 checksum of the artifact.
   674                    type: string
   675                  lastUpdateTime:
   676                    description: |-
   677                      LastUpdateTime is the timestamp corresponding to the last update of this
   678                      artifact.
   679                    format: date-time
   680                    type: string
   681                  path:
   682                    description: Path is the relative file path of this artifact.
   683                    type: string
   684                  revision:
   685                    description: |-
   686                      Revision is a human readable identifier traceable in the origin source
   687                      system. It can be a Git commit SHA, Git tag, a Helm index timestamp, a Helm
   688                      chart version, etc.
   689                    type: string
   690                  url:
   691                    description: URL is the HTTP address of this artifact.
   692                    type: string
   693                required:
   694                - path
   695                - url
   696                type: object
   697              conditions:
   698                description: Conditions holds the conditions for the GitRepository.
   699                items:
   700                  description: "Condition contains details for one aspect of the current
   701                    state of this API Resource.\n---\nThis struct is intended for
   702                    direct use as an array at the field path .status.conditions.  For
   703                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
   704                    observations of a foo's current state.\n\t    // Known .status.conditions.type
   705                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
   706                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
   707                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
   708                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
   709                    \   // other fields\n\t}"
   710                  properties:
   711                    lastTransitionTime:
   712                      description: |-
   713                        lastTransitionTime is the last time the condition transitioned from one status to another.
   714                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
   715                      format: date-time
   716                      type: string
   717                    message:
   718                      description: |-
   719                        message is a human readable message indicating details about the transition.
   720                        This may be an empty string.
   721                      maxLength: 32768
   722                      type: string
   723                    observedGeneration:
   724                      description: |-
   725                        observedGeneration represents the .metadata.generation that the condition was set based upon.
   726                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
   727                        with respect to the current state of the instance.
   728                      format: int64
   729                      minimum: 0
   730                      type: integer
   731                    reason:
   732                      description: |-
   733                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
   734                        Producers of specific condition types may define expected values and meanings for this field,
   735                        and whether the values are considered a guaranteed API.
   736                        The value should be a CamelCase string.
   737                        This field may not be empty.
   738                      maxLength: 1024
   739                      minLength: 1
   740                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   741                      type: string
   742                    status:
   743                      description: status of the condition, one of True, False, Unknown.
   744                      enum:
   745                      - "True"
   746                      - "False"
   747                      - Unknown
   748                      type: string
   749                    type:
   750                      description: |-
   751                        type of condition in CamelCase or in foo.example.com/CamelCase.
   752                        ---
   753                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   754                        useful (see .node.status.conditions), the ability to deconflict is important.
   755                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   756                      maxLength: 316
   757                      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])$
   758                      type: string
   759                  required:
   760                  - lastTransitionTime
   761                  - message
   762                  - reason
   763                  - status
   764                  - type
   765                  type: object
   766                type: array
   767              includedArtifacts:
   768                description: IncludedArtifacts represents the included artifacts from
   769                  the last successful repository sync.
   770                items:
   771                  description: Artifact represents the output of a source synchronisation.
   772                  properties:
   773                    checksum:
   774                      description: Checksum is the SHA256 checksum of the artifact.
   775                      type: string
   776                    lastUpdateTime:
   777                      description: |-
   778                        LastUpdateTime is the timestamp corresponding to the last update of this
   779                        artifact.
   780                      format: date-time
   781                      type: string
   782                    path:
   783                      description: Path is the relative file path of this artifact.
   784                      type: string
   785                    revision:
   786                      description: |-
   787                        Revision is a human readable identifier traceable in the origin source
   788                        system. It can be a Git commit SHA, Git tag, a Helm index timestamp, a Helm
   789                        chart version, etc.
   790                      type: string
   791                    url:
   792                      description: URL is the HTTP address of this artifact.
   793                      type: string
   794                  required:
   795                  - path
   796                  - url
   797                  type: object
   798                type: array
   799              lastHandledReconcileAt:
   800                description: |-
   801                  LastHandledReconcileAt holds the value of the most recent
   802                  reconcile request value, so a change of the annotation value
   803                  can be detected.
   804                type: string
   805              observedGeneration:
   806                description: ObservedGeneration is the last observed generation.
   807                format: int64
   808                type: integer
   809              url:
   810                description: |-
   811                  URL is the download link for the artifact output of the last repository
   812                  sync.
   813                type: string
   814            type: object
   815        type: object
   816    served: true
   817    storage: false
   818    subresources:
   819      status: {}
   820  - additionalPrinterColumns:
   821    - jsonPath: .spec.url
   822      name: URL
   823      type: string
   824    - jsonPath: .metadata.creationTimestamp
   825      name: Age
   826      type: date
   827    - jsonPath: .status.conditions[?(@.type=="Ready")].status
   828      name: Ready
   829      type: string
   830    - jsonPath: .status.conditions[?(@.type=="Ready")].message
   831      name: Status
   832      type: string
   833    deprecated: true
   834    deprecationWarning: v1beta2 GitRepository is deprecated, upgrade to v1
   835    name: v1beta2
   836    schema:
   837      openAPIV3Schema:
   838        description: GitRepository is the Schema for the gitrepositories API.
   839        properties:
   840          apiVersion:
   841            description: |-
   842              APIVersion defines the versioned schema of this representation of an object.
   843              Servers should convert recognized schemas to the latest internal value, and
   844              may reject unrecognized values.
   845              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   846            type: string
   847          kind:
   848            description: |-
   849              Kind is a string value representing the REST resource this object represents.
   850              Servers may infer this from the endpoint the client submits requests to.
   851              Cannot be updated.
   852              In CamelCase.
   853              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   854            type: string
   855          metadata:
   856            type: object
   857          spec:
   858            description: |-
   859              GitRepositorySpec specifies the required configuration to produce an
   860              Artifact for a Git repository.
   861            properties:
   862              accessFrom:
   863                description: |-
   864                  AccessFrom specifies an Access Control List for allowing cross-namespace
   865                  references to this object.
   866                  NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092
   867                properties:
   868                  namespaceSelectors:
   869                    description: |-
   870                      NamespaceSelectors is the list of namespace selectors to which this ACL applies.
   871                      Items in this list are evaluated using a logical OR operation.
   872                    items:
   873                      description: |-
   874                        NamespaceSelector selects the namespaces to which this ACL applies.
   875                        An empty map of MatchLabels matches all namespaces in a cluster.
   876                      properties:
   877                        matchLabels:
   878                          additionalProperties:
   879                            type: string
   880                          description: |-
   881                            MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   882                            map is equivalent to an element of matchExpressions, whose key field is "key", the
   883                            operator is "In", and the values array contains only "value". The requirements are ANDed.
   884                          type: object
   885                      type: object
   886                    type: array
   887                required:
   888                - namespaceSelectors
   889                type: object
   890              gitImplementation:
   891                default: go-git
   892                description: |-
   893                  GitImplementation specifies which Git client library implementation to
   894                  use. Defaults to 'go-git', valid values are ('go-git', 'libgit2').
   895                  Deprecated: gitImplementation is deprecated now that 'go-git' is the
   896                  only supported implementation.
   897                enum:
   898                - go-git
   899                - libgit2
   900                type: string
   901              ignore:
   902                description: |-
   903                  Ignore overrides the set of excluded patterns in the .sourceignore format
   904                  (which is the same as .gitignore). If not provided, a default will be used,
   905                  consult the documentation for your version to find out what those are.
   906                type: string
   907              include:
   908                description: |-
   909                  Include specifies a list of GitRepository resources which Artifacts
   910                  should be included in the Artifact produced for this GitRepository.
   911                items:
   912                  description: |-
   913                    GitRepositoryInclude specifies a local reference to a GitRepository which
   914                    Artifact (sub-)contents must be included, and where they should be placed.
   915                  properties:
   916                    fromPath:
   917                      description: |-
   918                        FromPath specifies the path to copy contents from, defaults to the root
   919                        of the Artifact.
   920                      type: string
   921                    repository:
   922                      description: |-
   923                        GitRepositoryRef specifies the GitRepository which Artifact contents
   924                        must be included.
   925                      properties:
   926                        name:
   927                          description: Name of the referent.
   928                          type: string
   929                      required:
   930                      - name
   931                      type: object
   932                    toPath:
   933                      description: |-
   934                        ToPath specifies the path to copy contents to, defaults to the name of
   935                        the GitRepositoryRef.
   936                      type: string
   937                  required:
   938                  - repository
   939                  type: object
   940                type: array
   941              interval:
   942                description: Interval at which to check the GitRepository for updates.
   943                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   944                type: string
   945              recurseSubmodules:
   946                description: |-
   947                  RecurseSubmodules enables the initialization of all submodules within
   948                  the GitRepository as cloned from the URL, using their default settings.
   949                type: boolean
   950              ref:
   951                description: |-
   952                  Reference specifies the Git reference to resolve and monitor for
   953                  changes, defaults to the 'master' branch.
   954                properties:
   955                  branch:
   956                    description: Branch to check out, defaults to 'master' if no other
   957                      field is defined.
   958                    type: string
   959                  commit:
   960                    description: |-
   961                      Commit SHA to check out, takes precedence over all reference fields.
   962
   963
   964                      This can be combined with Branch to shallow clone the branch, in which
   965                      the commit is expected to exist.
   966                    type: string
   967                  name:
   968                    description: |-
   969                      Name of the reference to check out; takes precedence over Branch, Tag and SemVer.
   970
   971
   972                      It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description
   973                      Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head"
   974                    type: string
   975                  semver:
   976                    description: SemVer tag expression to check out, takes precedence
   977                      over Tag.
   978                    type: string
   979                  tag:
   980                    description: Tag to check out, takes precedence over Branch.
   981                    type: string
   982                type: object
   983              secretRef:
   984                description: |-
   985                  SecretRef specifies the Secret containing authentication credentials for
   986                  the GitRepository.
   987                  For HTTPS repositories the Secret must contain 'username' and 'password'
   988                  fields for basic auth or 'bearerToken' field for token auth.
   989                  For SSH repositories the Secret must contain 'identity'
   990                  and 'known_hosts' fields.
   991                properties:
   992                  name:
   993                    description: Name of the referent.
   994                    type: string
   995                required:
   996                - name
   997                type: object
   998              suspend:
   999                description: |-
  1000                  Suspend tells the controller to suspend the reconciliation of this
  1001                  GitRepository.
  1002                type: boolean
  1003              timeout:
  1004                default: 60s
  1005                description: Timeout for Git operations like cloning, defaults to
  1006                  60s.
  1007                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
  1008                type: string
  1009              url:
  1010                description: URL specifies the Git repository URL, it can be an HTTP/S
  1011                  or SSH address.
  1012                pattern: ^(http|https|ssh)://.*$
  1013                type: string
  1014              verify:
  1015                description: |-
  1016                  Verification specifies the configuration to verify the Git commit
  1017                  signature(s).
  1018                properties:
  1019                  mode:
  1020                    description: Mode specifies what Git object should be verified,
  1021                      currently ('head').
  1022                    enum:
  1023                    - head
  1024                    type: string
  1025                  secretRef:
  1026                    description: |-
  1027                      SecretRef specifies the Secret containing the public keys of trusted Git
  1028                      authors.
  1029                    properties:
  1030                      name:
  1031                        description: Name of the referent.
  1032                        type: string
  1033                    required:
  1034                    - name
  1035                    type: object
  1036                required:
  1037                - mode
  1038                - secretRef
  1039                type: object
  1040            required:
  1041            - interval
  1042            - url
  1043            type: object
  1044          status:
  1045            default:
  1046              observedGeneration: -1
  1047            description: GitRepositoryStatus records the observed state of a Git repository.
  1048            properties:
  1049              artifact:
  1050                description: Artifact represents the last successful GitRepository
  1051                  reconciliation.
  1052                properties:
  1053                  digest:
  1054                    description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
  1055                    pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
  1056                    type: string
  1057                  lastUpdateTime:
  1058                    description: |-
  1059                      LastUpdateTime is the timestamp corresponding to the last update of the
  1060                      Artifact.
  1061                    format: date-time
  1062                    type: string
  1063                  metadata:
  1064                    additionalProperties:
  1065                      type: string
  1066                    description: Metadata holds upstream information such as OCI annotations.
  1067                    type: object
  1068                  path:
  1069                    description: |-
  1070                      Path is the relative file path of the Artifact. It can be used to locate
  1071                      the file in the root of the Artifact storage on the local file system of
  1072                      the controller managing the Source.
  1073                    type: string
  1074                  revision:
  1075                    description: |-
  1076                      Revision is a human-readable identifier traceable in the origin source
  1077                      system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
  1078                    type: string
  1079                  size:
  1080                    description: Size is the number of bytes in the file.
  1081                    format: int64
  1082                    type: integer
  1083                  url:
  1084                    description: |-
  1085                      URL is the HTTP address of the Artifact as exposed by the controller
  1086                      managing the Source. It can be used to retrieve the Artifact for
  1087                      consumption, e.g. by another controller applying the Artifact contents.
  1088                    type: string
  1089                required:
  1090                - lastUpdateTime
  1091                - path
  1092                - revision
  1093                - url
  1094                type: object
  1095              conditions:
  1096                description: Conditions holds the conditions for the GitRepository.
  1097                items:
  1098                  description: "Condition contains details for one aspect of the current
  1099                    state of this API Resource.\n---\nThis struct is intended for
  1100                    direct use as an array at the field path .status.conditions.  For
  1101                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
  1102                    observations of a foo's current state.\n\t    // Known .status.conditions.type
  1103                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
  1104                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
  1105                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
  1106                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
  1107                    \   // other fields\n\t}"
  1108                  properties:
  1109                    lastTransitionTime:
  1110                      description: |-
  1111                        lastTransitionTime is the last time the condition transitioned from one status to another.
  1112                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
  1113                      format: date-time
  1114                      type: string
  1115                    message:
  1116                      description: |-
  1117                        message is a human readable message indicating details about the transition.
  1118                        This may be an empty string.
  1119                      maxLength: 32768
  1120                      type: string
  1121                    observedGeneration:
  1122                      description: |-
  1123                        observedGeneration represents the .metadata.generation that the condition was set based upon.
  1124                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
  1125                        with respect to the current state of the instance.
  1126                      format: int64
  1127                      minimum: 0
  1128                      type: integer
  1129                    reason:
  1130                      description: |-
  1131                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
  1132                        Producers of specific condition types may define expected values and meanings for this field,
  1133                        and whether the values are considered a guaranteed API.
  1134                        The value should be a CamelCase string.
  1135                        This field may not be empty.
  1136                      maxLength: 1024
  1137                      minLength: 1
  1138                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  1139                      type: string
  1140                    status:
  1141                      description: status of the condition, one of True, False, Unknown.
  1142                      enum:
  1143                      - "True"
  1144                      - "False"
  1145                      - Unknown
  1146                      type: string
  1147                    type:
  1148                      description: |-
  1149                        type of condition in CamelCase or in foo.example.com/CamelCase.
  1150                        ---
  1151                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
  1152                        useful (see .node.status.conditions), the ability to deconflict is important.
  1153                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
  1154                      maxLength: 316
  1155                      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])$
  1156                      type: string
  1157                  required:
  1158                  - lastTransitionTime
  1159                  - message
  1160                  - reason
  1161                  - status
  1162                  - type
  1163                  type: object
  1164                type: array
  1165              contentConfigChecksum:
  1166                description: |-
  1167                  ContentConfigChecksum is a checksum of all the configurations related to
  1168                  the content of the source artifact:
  1169                   - .spec.ignore
  1170                   - .spec.recurseSubmodules
  1171                   - .spec.included and the checksum of the included artifacts
  1172                  observed in .status.observedGeneration version of the object. This can
  1173                  be used to determine if the content of the included repository has
  1174                  changed.
  1175                  It has the format of `<algo>:<checksum>`, for example: `sha256:<checksum>`.
  1176
  1177
  1178                  Deprecated: Replaced with explicit fields for observed artifact content
  1179                  config in the status.
  1180                type: string
  1181              includedArtifacts:
  1182                description: |-
  1183                  IncludedArtifacts contains a list of the last successfully included
  1184                  Artifacts as instructed by GitRepositorySpec.Include.
  1185                items:
  1186                  description: Artifact represents the output of a Source reconciliation.
  1187                  properties:
  1188                    digest:
  1189                      description: Digest is the digest of the file in the form of
  1190                        '<algorithm>:<checksum>'.
  1191                      pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
  1192                      type: string
  1193                    lastUpdateTime:
  1194                      description: |-
  1195                        LastUpdateTime is the timestamp corresponding to the last update of the
  1196                        Artifact.
  1197                      format: date-time
  1198                      type: string
  1199                    metadata:
  1200                      additionalProperties:
  1201                        type: string
  1202                      description: Metadata holds upstream information such as OCI
  1203                        annotations.
  1204                      type: object
  1205                    path:
  1206                      description: |-
  1207                        Path is the relative file path of the Artifact. It can be used to locate
  1208                        the file in the root of the Artifact storage on the local file system of
  1209                        the controller managing the Source.
  1210                      type: string
  1211                    revision:
  1212                      description: |-
  1213                        Revision is a human-readable identifier traceable in the origin source
  1214                        system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
  1215                      type: string
  1216                    size:
  1217                      description: Size is the number of bytes in the file.
  1218                      format: int64
  1219                      type: integer
  1220                    url:
  1221                      description: |-
  1222                        URL is the HTTP address of the Artifact as exposed by the controller
  1223                        managing the Source. It can be used to retrieve the Artifact for
  1224                        consumption, e.g. by another controller applying the Artifact contents.
  1225                      type: string
  1226                  required:
  1227                  - lastUpdateTime
  1228                  - path
  1229                  - revision
  1230                  - url
  1231                  type: object
  1232                type: array
  1233              lastHandledReconcileAt:
  1234                description: |-
  1235                  LastHandledReconcileAt holds the value of the most recent
  1236                  reconcile request value, so a change of the annotation value
  1237                  can be detected.
  1238                type: string
  1239              observedGeneration:
  1240                description: |-
  1241                  ObservedGeneration is the last observed generation of the GitRepository
  1242                  object.
  1243                format: int64
  1244                type: integer
  1245              observedIgnore:
  1246                description: |-
  1247                  ObservedIgnore is the observed exclusion patterns used for constructing
  1248                  the source artifact.
  1249                type: string
  1250              observedInclude:
  1251                description: |-
  1252                  ObservedInclude is the observed list of GitRepository resources used to
  1253                  to produce the current Artifact.
  1254                items:
  1255                  description: |-
  1256                    GitRepositoryInclude specifies a local reference to a GitRepository which
  1257                    Artifact (sub-)contents must be included, and where they should be placed.
  1258                  properties:
  1259                    fromPath:
  1260                      description: |-
  1261                        FromPath specifies the path to copy contents from, defaults to the root
  1262                        of the Artifact.
  1263                      type: string
  1264                    repository:
  1265                      description: |-
  1266                        GitRepositoryRef specifies the GitRepository which Artifact contents
  1267                        must be included.
  1268                      properties:
  1269                        name:
  1270                          description: Name of the referent.
  1271                          type: string
  1272                      required:
  1273                      - name
  1274                      type: object
  1275                    toPath:
  1276                      description: |-
  1277                        ToPath specifies the path to copy contents to, defaults to the name of
  1278                        the GitRepositoryRef.
  1279                      type: string
  1280                  required:
  1281                  - repository
  1282                  type: object
  1283                type: array
  1284              observedRecurseSubmodules:
  1285                description: |-
  1286                  ObservedRecurseSubmodules is the observed resource submodules
  1287                  configuration used to produce the current Artifact.
  1288                type: boolean
  1289              url:
  1290                description: |-
  1291                  URL is the dynamic fetch link for the latest Artifact.
  1292                  It is provided on a "best effort" basis, and using the precise
  1293                  GitRepositoryStatus.Artifact data is recommended.
  1294                type: string
  1295            type: object
  1296        type: object
  1297    served: true
  1298    storage: false
  1299    subresources:
  1300      status: {}

View as plain text