freeleaps-ops/operators/freeleaps-gitops-initializer/config/crd/bases/gitops.freeleaps.com_projectinitializes.yaml
zhenyus 0e256f8708 chore(git): code staging
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-02-17 14:02:49 +08:00

912 lines
51 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.1
name: projectinitializes.gitops.freeleaps.com
spec:
group: gitops.freeleaps.com
names:
kind: ProjectInitialize
listKind: ProjectInitializeList
plural: projectinitializes
singular: projectinitialize
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ProjectInitialize is the Schema for the projectinitializes API
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: ProjectInitializeSpec defines the desired state of ProjectInitialize
properties:
argo:
description: Argo defines the desired state of Argo Project and Argo
Application
properties:
branch:
description: Branch defines the Git branch of this Argo Application
type: string
name:
description: Name of the Argo Application
type: string
namespace:
description: Namespace of the Argo Application to deploy
type: string
project:
description: Name of the Argo Project
type: string
syncPolicy:
description: SyncPolicy defines the sync policy settings of Argo
Application
properties:
automated:
description: Automated enables the auto sync of Argo Application
type: boolean
prune:
description: Prune enables the auto pruning of Argo Application
type: boolean
selfHeal:
description: SelfHeal enables the auto self healing of Argo
Application
type: boolean
type: object
type: object
ci:
description: ContinuousIntegration defines the desired state of Continuous
Integration (CI)
properties:
commitMessageLintEnabled:
description: CommitMessageLintEnabled defines the existence of
the commit message lint, set to false to skip the commit message
lint.
type: boolean
components:
description: Components defines the CI components
items:
description: CIComponentSpec defines the desired state of CI
component
properties:
buildAgentImage:
description: BuildAgentImage defines the build agent image
of the CI component
type: string
buildArtifacts:
description: BuildArtifacts defines the build artifacts
of the CI component
items:
type: string
type: array
buildCacheEnabled:
description: BuildCacheEnabled defines the existence of
the build cache, set to false to skip the build caching.
type: boolean
buildCommand:
description: BuildCommand defines the build command of the
CI component
type: string
dependenciesManager:
description: DependenciesManager defines the dependencies
manager of the CI component
type: string
imageBuilder:
description: ImageBuilder defines the image builder of the
CI component
properties:
buildContextRoot:
description: BuildContextRoot defines the build context
root of the image builder
type: string
dockerfile:
description: Dockerfile defines the Dockerfile path
of the image builder
type: string
name:
description: Name defines the name of the image builder
type: string
registry:
description: Registry defines the image registry of
the image builder
properties:
credentials:
description: Credentials defines the credentials
of the image registry
properties:
password:
description: Password defines the password of
the image registry credential
type: string
username:
description: Username defines the username of
the image registry credential
type: string
type: object
url:
description: URL defines the URL of the image registry
type: string
type: object
releaseArchitectures:
description: ReleaseArchitectures defines the release
architectures of the image builder
items:
type: string
type: array
repository:
description: Repository defines the repository of the
image builder
type: string
type:
description: Type defines the type of the image builder
type: string
type: object
language:
description: Language defines the language of the CI component
type: string
name:
description: Name defines the name of the CI component
type: string
npmPackageJsonFile:
description: NPMPackageJsonFile defines the path of the
npm package.json file
type: string
root:
description: Root defines the root path of the CI component
type: string
semanticReleaseEnabled:
description: SemanticReleaseEnabled defines the existence
of the semantic release, set to false to skip the semantic
release.
type: boolean
type: object
type: array
executeMode:
description: ExecuteMode defines the CI execute mode
type: string
type: object
helm:
description: Helm defines the desired state of Helm generation
properties:
components:
description: Components defines the Helm components
items:
description: HelmComponentSpec defines the desired state of
Helm component
properties:
configs:
description: Configs defines the configurations of the Helm
component
items:
description: HelmComponentConfigSpec defines the desired
state of Helm component configuration
properties:
data:
description: Data defines the data of the Helm component
configuration
items:
description: EnvVar represents an environment variable
present in a Container.
properties:
name:
description: Name of the environment variable.
Must be a C_IDENTIFIER.
type: string
value:
description: |-
Variable references $(VAR_NAME) are expanded
using the previously defined environment variables in the container and
any service environment variables. If a variable cannot be resolved,
the reference in the input string will be unchanged. Double $$ are reduced
to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
"$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
Escaped references will never be expanded, regardless of whether the variable
exists or not.
Defaults to "".
type: string
valueFrom:
description: Source for the environment variable's
value. Cannot be used if value is not empty.
properties:
configMapKeyRef:
description: Selects a key of a ConfigMap.
properties:
key:
description: The key to select.
type: string
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
optional:
description: Specify whether the ConfigMap
or its key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
fieldRef:
description: |-
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
properties:
apiVersion:
description: Version of the schema the
FieldPath is written in terms of,
defaults to "v1".
type: string
fieldPath:
description: Path of the field to select
in the specified API version.
type: string
required:
- fieldPath
type: object
x-kubernetes-map-type: atomic
resourceFieldRef:
description: |-
Selects a resource of the container: only resources limits and requests
(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
properties:
containerName:
description: 'Container name: required
for volumes, optional for env vars'
type: string
divisor:
anyOf:
- type: integer
- type: string
description: Specifies the output format
of the exposed resources, defaults
to "1"
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
description: 'Required: resource to
select'
type: string
required:
- resource
type: object
x-kubernetes-map-type: atomic
secretKeyRef:
description: Selects a key of a secret in
the pod's namespace
properties:
key:
description: The key of the secret to
select from. Must be a valid secret
key.
type: string
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
optional:
description: Specify whether the Secret
or its key must be defined
type: boolean
required:
- key
type: object
x-kubernetes-map-type: atomic
type: object
required:
- name
type: object
type: array
name:
description: Name defines the name of the Helm component
configuration
type: string
type:
description: Type defines the type of the Helm component
configuration
type: string
type: object
type: array
image:
description: Image defines the image of the Helm component
properties:
imagePullPolicy:
description: PullPolicy defines the pull policy of the
Helm component image
type: string
name:
description: Name defines the name of the Helm component
image
type: string
registry:
description: Registry defines the image registry of
the Helm component image
type: string
repository:
description: Repository defines the repository of the
Helm component image
type: string
tag:
description: Tag defines the tag of the Helm component
image
type: string
type: object
ingresses:
description: Ingresses defines the ingresses of the Helm
component
items:
description: HelmComponentIngressSpec defines the desired
state of Helm component ingress
properties:
class:
description: Class defines the ingress class of the
Helm component ingress
type: string
host:
description: Host defines the host of the Helm component
ingress
type: string
name:
description: Name defines the name of the Helm component
ingress
type: string
rules:
description: Rules defines the route rules of the
Helm component ingress
items:
description: |-
HTTPIngressPath associates a path with a backend. Incoming urls matching the
path are forwarded to the backend.
properties:
backend:
description: |-
backend defines the referenced service endpoint to which the traffic
will be forwarded to.
properties:
resource:
description: |-
resource is an ObjectRef to another Kubernetes resource in the namespace
of the Ingress object. If resource is specified, a service.Name and
service.Port must not be specified.
This is a mutually exclusive setting with "Service".
properties:
apiGroup:
description: |-
APIGroup is the group for the resource being referenced.
If APIGroup is not specified, the specified Kind must be in the core API group.
For any other third-party types, APIGroup is required.
type: string
kind:
description: Kind is the type of resource
being referenced
type: string
name:
description: Name is the name of resource
being referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
service:
description: |-
service references a service as a backend.
This is a mutually exclusive setting with "Resource".
properties:
name:
description: |-
name is the referenced service. The service must exist in
the same namespace as the Ingress object.
type: string
port:
description: |-
port of the referenced service. A port name or port number
is required for a IngressServiceBackend.
properties:
name:
description: |-
name is the name of the port on the Service.
This is a mutually exclusive setting with "Number".
type: string
number:
description: |-
number is the numerical port number (e.g. 80) on the Service.
This is a mutually exclusive setting with "Name".
format: int32
type: integer
type: object
x-kubernetes-map-type: atomic
required:
- name
type: object
type: object
path:
description: |-
path is matched against the path of an incoming request. Currently it can
contain characters disallowed from the conventional "path" part of a URL
as defined by RFC 3986. Paths must begin with a '/' and must be present
when using PathType with value "Exact" or "Prefix".
type: string
pathType:
description: |-
pathType determines the interpretation of the path matching. PathType can
be one of the following values:
* Exact: Matches the URL path exactly.
* Prefix: Matches based on a URL path prefix split by '/'. Matching is
done on a path element by element basis. A path element refers is the
list of labels in the path split by the '/' separator. A request is a
match for path p if every p is an element-wise prefix of p of the
request path. Note that if the last element of the path is a substring
of the last element in request path, it is not a match (e.g. /foo/bar
matches /foo/bar/baz, but does not match /foo/barbaz).
* ImplementationSpecific: Interpretation of the Path matching is up to
the IngressClass. Implementations can treat this as a separate PathType
or treat it identically to Prefix or Exact path types.
Implementations are required to support all path types.
type: string
required:
- backend
- pathType
type: object
type: array
tls:
description: TLS defines the TLS of the Helm component
ingress
properties:
exists:
description: Exists defines the existence of the
Helm component ingress TLS, set to false to
skip the Helm component ingress TLS auto creation.
type: boolean
issuerRef:
description: IssuerRef defines the issuer reference
of the Helm component ingress TLS
properties:
group:
description: Group of the resource being referred
to.
type: string
kind:
description: Kind of the resource being referred
to.
type: string
name:
description: Name of the resource being referred
to.
type: string
required:
- name
type: object
name:
description: Name defines the name of the Helm
component ingress TLS
type: string
secretRef:
description: SecretRef defines the secret reference
of the Helm component ingress TLS
properties:
name:
description: name is unique within a namespace
to reference a secret resource.
type: string
namespace:
description: namespace defines the space within
which the secret name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
type: object
type: object
type: array
name:
description: Name defines the name of the Helm component
type: string
ports:
description: Chart defines the chart of the Helm component
items:
description: ContainerPort represents a network port in
a single container.
properties:
containerPort:
description: |-
Number of port to expose on the pod's IP address.
This must be a valid port number, 0 < x < 65536.
format: int32
type: integer
hostIP:
description: What host IP to bind the external port
to.
type: string
hostPort:
description: |-
Number of port to expose on the host.
If specified, this must be a valid port number, 0 < x < 65536.
If HostNetwork is specified, this must match ContainerPort.
Most containers do not need this.
format: int32
type: integer
name:
description: |-
If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
named port in a pod must have a unique name. Name for the port that can be
referred to by services.
type: string
protocol:
default: TCP
description: |-
Protocol for port. Must be UDP, TCP, or SCTP.
Defaults to "TCP".
type: string
required:
- containerPort
type: object
type: array
probes:
description: Probes defines the probes of the Helm component
properties:
liveness:
description: Liveness defines the liveness probe of
the Helm component
properties:
config:
description: Config defines the configuration of
the Helm component probe
properties:
failureThreshold:
description: FailureThreshold defines the failure
threshold of the Helm component probe
format: int32
type: integer
initialDelaySeconds:
description: InitialDelaySeconds defines the
initial delay seconds of the Helm component
probe
format: int32
type: integer
path:
description: Path defines the path of the Helm
component probe
type: string
periodSeconds:
description: PeriodSeconds defines the period
seconds of the Helm component probe
format: int32
type: integer
port:
description: Port defines the port of the Helm
component probe
format: int32
type: integer
successThreshold:
description: SuccessThreshold defines the success
threshold of the Helm component probe
format: int32
type: integer
terminationGracePeriodSeconds:
description: TerminationGracePeriodSeconds defines
the termination grace period seconds of the
Helm component probe
format: int64
type: integer
timeoutSeconds:
description: TimeoutSeconds defines the timeout
seconds of the Helm component probe
format: int32
type: integer
type: object
type:
description: Type defines the type of the Helm component
probe
type: string
type: object
readiness:
description: Readiness defines the readiness probe of
the Helm component
properties:
config:
description: Config defines the configuration of
the Helm component probe
properties:
failureThreshold:
description: FailureThreshold defines the failure
threshold of the Helm component probe
format: int32
type: integer
initialDelaySeconds:
description: InitialDelaySeconds defines the
initial delay seconds of the Helm component
probe
format: int32
type: integer
path:
description: Path defines the path of the Helm
component probe
type: string
periodSeconds:
description: PeriodSeconds defines the period
seconds of the Helm component probe
format: int32
type: integer
port:
description: Port defines the port of the Helm
component probe
format: int32
type: integer
successThreshold:
description: SuccessThreshold defines the success
threshold of the Helm component probe
format: int32
type: integer
terminationGracePeriodSeconds:
description: TerminationGracePeriodSeconds defines
the termination grace period seconds of the
Helm component probe
format: int64
type: integer
timeoutSeconds:
description: TimeoutSeconds defines the timeout
seconds of the Helm component probe
format: int32
type: integer
type: object
type:
description: Type defines the type of the Helm component
probe
type: string
type: object
type: object
replicas:
description: Replica defines the replica of the Helm component
format: int32
type: integer
resources:
description: Resources defines the resources of the Helm
component
properties:
limits:
description: Limits defines the limits of the Helm component
resource requirements
properties:
cpu:
description: CPU defines the CPU of the Helm component
resource setting
type: string
memory:
description: Memory defines the memory of the Helm
component resource setting
type: string
type: object
requests:
description: Requests defines the requests of the Helm
component resource requirements
properties:
cpu:
description: CPU defines the CPU of the Helm component
resource setting
type: string
memory:
description: Memory defines the memory of the Helm
component resource setting
type: string
type: object
type: object
services:
description: Services defines the services of the Helm component
items:
description: HelmComponentServiceSpec defines the desired
state of Helm component service
properties:
name:
description: Name defines the name of the Helm component
service
type: string
port:
description: Port defines the port of the Helm component
service
format: int32
type: integer
targetPort:
description: TargetPort defines the target port of
the Helm component service
format: int32
type: integer
type:
description: Type defines the type of the Helm component
service
type: string
type: object
type: array
type: object
type: array
generate:
description: Generate defines the existence of the Helm generation,
set to false to skip the Helm generation.
type: boolean
global:
description: GlobalValues defines the Helm global values
properties:
nodeSelector:
additionalProperties:
type: string
description: NodeSelector defines the node selector of the
Helm global values
type: object
registry:
description: Registry defines the image registry of the Helm
global values
type: string
repository:
description: Repository defines the repository of the Helm
global values
type: string
type: object
metadata:
description: Metadata defines the Helm metadata
properties:
description:
description: Description defines the description of the Helm
chart
type: string
name:
description: Name defines the name of the Helm chart
type: string
type: object
type: object
repository:
description: Repository defines the desired state of project's Git
repository
properties:
hookRegister:
description: HookRegister defines the Git repository hook registration
properties:
enabled:
description: Enabled defines the existence of the Git repository
hook registration, set to false to skip the Git repository
hook registration.
type: boolean
events:
description: Events defines the Git repository hook events
items:
description: RepositoryHookEventSpec defines the desired
state of project's Git repository hook event
properties:
config:
description: Config defines the Git repository hook
event configuration
properties:
reviewersIncludesGroups:
description: ReviewersIncludesGroups defines the
groups that includes the reviewers of the Git
repository hook event
type: string
triggerGroups:
description: TriggerGroups defines the groups that
trigger the Git repository hook event
type: string
type: object
event:
type: string
type: object
type: array
type: object
name:
description: Name defines the name of the Git repository
type: string
plugin:
description: Plugin defines the Git repository plugin
type: string
pluginConfig:
additionalProperties:
type: string
description: PluginConfig defines the Git repository plugin configuration
type: object
project:
description: Project defines the project of the Git repository
type: string
registerToArgo:
description: RegisterToArgo defines the existence of the Git repository
registration to Argo, set to false to skip the Git repository
registration to Argo.
type: boolean
type:
description: Type defines the type of the Git repository
type: string
type: object
type: object
status:
description: ProjectInitializeStatus defines the observed state of ProjectInitialize
properties:
conditions:
description: Conditions defines the observed conditions of the ProjectInitialize
items:
description: Condition contains details for one aspect of the current
state of this API Resource.
properties:
lastTransitionTime:
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
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])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
ready:
description: Ready defines the readiness of the ProjectInitialize
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}