1
0
Fork 0
mirror of https://github.com/imjasonh/git-k8s synced 2026-07-16 12:33:02 +00:00
git-k8s/config/crds/git-k8s.imjasonh.com_gitreposyncs.yaml
Claude cc391645e1
Change API group from git.k8s.io to git-k8s.imjasonh.com
The *.k8s.io group is protected in Kubernetes and requires an
api-approved.kubernetes.io annotation. Switch to a custom domain
to avoid the restriction entirely.

https://claude.ai/code/session_01QfFzqKQUsxxBsiZUhuJ3pG
2026-02-28 00:34:34 +00:00

105 lines
2.9 KiB
YAML

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: gitreposyncs.git-k8s.imjasonh.com
spec:
group: git-k8s.imjasonh.com
names:
kind: GitRepoSync
listKind: GitRepoSyncList
plural: gitreposyncs
singular: gitreposync
shortNames:
- gitsync
categories:
- git
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
required:
- repoA
- repoB
- branchName
properties:
repoA:
type: object
required:
- name
properties:
name:
type: string
description: Name of the first GitRepository resource.
repoB:
type: object
required:
- name
properties:
name:
type: string
description: Name of the second GitRepository resource.
branchName:
type: string
description: Branch to keep in sync between the two repos.
status:
type: object
properties:
conditions:
type: array
items:
type: object
properties:
type:
type: string
status:
type: string
lastTransitionTime:
type: string
format: date-time
reason:
type: string
message:
type: string
phase:
type: string
enum:
- InSync
- Syncing
- Conflicted
- RequiresManualIntervention
lastSyncTime:
type: string
format: date-time
repoACommit:
type: string
repoBCommit:
type: string
mergeBase:
type: string
message:
type: string
additionalPrinterColumns:
- name: Repo A
type: string
jsonPath: .spec.repoA.name
- name: Repo B
type: string
jsonPath: .spec.repoB.name
- name: Branch
type: string
jsonPath: .spec.branchName
- name: Phase
type: string
jsonPath: .status.phase
- name: Age
type: date
jsonPath: .metadata.creationTimestamp