1
0
Fork 0
mirror of https://github.com/imjasonh/git-k8s synced 2026-07-13 08:57:00 +00:00
git-k8s/config/crds/git-k8s.imjasonh.com_gitpushtransactions.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

103 lines
3.1 KiB
YAML

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: gitpushtransactions.git-k8s.imjasonh.com
spec:
group: git-k8s.imjasonh.com
names:
kind: GitPushTransaction
listKind: GitPushTransactionList
plural: gitpushtransactions
singular: gitpushtransaction
shortNames:
- gitpush
categories:
- git
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
required:
- repositoryRef
- refSpecs
properties:
repositoryRef:
type: string
description: Name of the target GitRepository resource.
atomic:
type: boolean
description: Whether the push should be atomic.
default: true
refSpecs:
type: array
minItems: 1
items:
type: object
required:
- source
- destination
properties:
source:
type: string
description: Local ref (commit SHA or branch name).
destination:
type: string
description: Remote ref to update.
expectedOldCommit:
type: string
description: Expected current commit SHA for CAS.
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:
- Pending
- InProgress
- Succeeded
- Failed
resultCommit:
type: string
startTime:
type: string
format: date-time
completionTime:
type: string
format: date-time
message:
type: string
additionalPrinterColumns:
- name: Repository
type: string
jsonPath: .spec.repositoryRef
- name: Phase
type: string
jsonPath: .status.phase
- name: Age
type: date
jsonPath: .metadata.creationTimestamp