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