Initial commit

This commit is contained in:
2022-11-14 21:08:45 +02:00
commit 34f3a878d9
24 changed files with 1978 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: clusterharborprojectmembers.codemowers.io
spec:
group: codemowers.io
names:
plural: clusterharborprojectmembers
singular: clusterharborprojectmember
kind: ClusterHarborProjectMember
shortNames:
- clusterharborprojectmember
scope: Cluster
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: State
jsonPath: .status.memberCreation.state
type: string
- name: Errors
jsonPath: .status.kopf.progress.memberCreation.message
type: string
- name: Membership ID
jsonPath: .status.memberCreation.id
type: integer
- name: Project
jsonPath: .spec.project
type: string
- name: Username
jsonPath: .spec.username
type: string
- name: Role
jsonPath: .spec.role
type: string
schema:
openAPIV3Schema:
type: object
required:
- spec
properties:
status:
type: object
x-kubernetes-preserve-unknown-fields: true
properties:
memberCreation:
type: object
properties:
id:
type: integer
project_id:
type: integer
state:
type: string
spec:
type: object
required:
- project
- username
- role
properties:
project:
type: string
username:
type: string
role:
type: string
enum:
- PROJECT_ADMIN
- DEVELOPER
- GUEST
- MAINTAINER

View File

@@ -0,0 +1,71 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: clusterharborprojects.codemowers.io
spec:
group: codemowers.io
names:
plural: clusterharborprojects
singular: clusterharborproject
kind: ClusterHarborProject
shortNames:
- clusterharborproject
scope: Cluster
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: Status
jsonPath: .status.projectCreation.state
type: string
- name: Errors
jsonPath: .status.kopf.progress.projectCreation.message
type: string
- name: Project ID
jsonPath: .status.projectCreation.id
type: integer
- name: Quota
jsonPath: .spec.quota
type: integer
- name: Public
jsonPath: .spec.public
type: boolean
- name: Cache
jsonPath: .spec.cache
type: boolean
schema:
openAPIV3Schema:
type: object
properties:
status:
type: object
x-kubernetes-preserve-unknown-fields: true
properties:
projectCreation:
type: object
properties:
id:
type: integer
state:
type: string
spec:
type: object
properties:
public:
type: boolean
default: false
description: Whether this project is publicly readable
cache:
type: boolean
default: false
description: Whether this project enables caching from
upstream Docker registry
quota:
type: integer
default: 2147483648
required:
- spec

View File

@@ -0,0 +1,72 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: clusterharborregistries.codemowers.io
spec:
group: codemowers.io
names:
plural: clusterharborregistries
singular: clusterharborregistry
kind: ClusterHarborRegistry
shortNames:
- clusterharborregistry
scope: Cluster
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: Status
jsonPath: .status.registryCreation.state
type: string
- name: Errors
jsonPath: .status.kopf.progress.registryCreation.message
type: string
- name: Registry ID
jsonPath: .status.registryCreation.id
type: string
- name: Type
jsonPath: .spec.type
type: string
- name: Endpoint
jsonPath: .spec.endpoint
type: string
schema:
openAPIV3Schema:
type: object
required:
- spec
properties:
status:
type: object
x-kubernetes-preserve-unknown-fields: true
properties:
registryCreation:
type: object
properties:
id:
type: integer
state:
type: string
spec:
type: object
required:
- type
properties:
type:
type: string
enum:
- azure-acr
- aws-ecr
- docker-hub
- docker-registry
- google-gcr
- harbor
- quay
description: Registry provider
endpoint:
type: string
description: Registry endpoint

View File

@@ -0,0 +1,77 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: harborcredentials.codemowers.io
spec:
group: codemowers.io
names:
plural: harborcredentials
singular: harborcredential
kind: HarborCredential
shortNames:
- harborcredential
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: State
jsonPath: .status.credentialCreation.state
type: string
- name: Errors
jsonPath: .status.kopf.progress.credentialCreation.message
type: string
- name: Robot ID
jsonPath: .status.credentialCreation.id
type: integer
- name: Project
jsonPath: .spec.project
type: string
schema:
openAPIV3Schema:
type: object
required:
- spec
properties:
status:
type: object
x-kubernetes-preserve-unknown-fields: true
properties:
credentialCreation:
type: object
properties:
id:
type: integer
project:
type: string
state:
type: string
spec:
type: object
required:
- key
- project
- permissions
properties:
type:
type: string
key:
type: string
project:
type: string
permissions:
type: array
items:
type: object
required:
- resource
- action
properties:
resource:
type: string
action:
type: string