104 lines
4.0 KiB
Io
104 lines
4.0 KiB
Io
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: managedapplications.hub.traefik.io
|
|
spec:
|
|
group: hub.traefik.io
|
|
names:
|
|
kind: ManagedApplication
|
|
listKind: ManagedApplicationList
|
|
plural: managedapplications
|
|
singular: managedapplication
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: ManagedApplication represents a managed application.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: ManagedApplicationSpec describes the ManagedApplication.
|
|
properties:
|
|
apiKeys:
|
|
description: APIKeys references the API keys used to authenticate the application when calling APIs.
|
|
items:
|
|
properties:
|
|
secretName:
|
|
description: SecretName references the name of the secret containing the API key.
|
|
maxLength: 253
|
|
type: string
|
|
suspended:
|
|
type: boolean
|
|
title:
|
|
type: string
|
|
value:
|
|
description: Value is the API key value.
|
|
maxLength: 4096
|
|
type: string
|
|
type: object
|
|
x-kubernetes-validations:
|
|
- message: secretName and value are mutually exclusive
|
|
rule: '[has(self.secretName), has(self.value)].filter(x, x).size() <= 1'
|
|
maxItems: 100
|
|
type: array
|
|
appId:
|
|
description: |-
|
|
AppID is the identifier of the ManagedApplication.
|
|
It should be unique.
|
|
maxLength: 253
|
|
type: string
|
|
notes:
|
|
description: Notes contains notes about application.
|
|
type: string
|
|
owner:
|
|
description: |-
|
|
Owner represents the owner of the ManagedApplication.
|
|
It should be:
|
|
- `sub` when using OIDC
|
|
- `externalID` when using external IDP
|
|
maxLength: 253
|
|
type: string
|
|
required:
|
|
- appId
|
|
- owner
|
|
type: object
|
|
status:
|
|
description: The current status of this ManagedApplication.
|
|
properties:
|
|
apiKeyVersions:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
hash:
|
|
description: Hash is a hash representing the ManagedApplication.
|
|
type: string
|
|
syncedAt:
|
|
format: date-time
|
|
type: string
|
|
version:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|