- Deleted Jenkinsfile as CI/CD configuration is now handled differently. - Updated Chart.yaml to reflect new service name and versioning. - Enhanced values.yaml and values.alpha.yaml with comprehensive operator configuration and environment settings. - Removed obsolete templates for deployment, service, ingress, and monitoring. - Streamlined configuration for RabbitMQ, Jenkins, and ArgoCD integration. Signed-off-by: zhenyus <zhenyus@mathmast.com>
162 lines
5.2 KiB
YAML
162 lines
5.2 KiB
YAML
{{- if .Values.crds.install }}
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: ingressresources.freeleaps.com
|
|
labels:
|
|
{{- include "freeleaps-devops-reconciler.labels" . | nindent 4 }}
|
|
annotations:
|
|
"helm.sh/hook": pre-install,pre-upgrade
|
|
"helm.sh/hook-weight": "-5"
|
|
{{- if .Values.crds.keep }}
|
|
"helm.sh/resource-policy": keep
|
|
{{- end }}
|
|
spec:
|
|
group: freeleaps.com
|
|
scope: Namespaced
|
|
names:
|
|
kind: IngressResources
|
|
listKind: IngressResourcesList
|
|
singular: ingressresources
|
|
plural: ingressresources
|
|
shortNames:
|
|
- ingress
|
|
- ir
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|
|
schema:
|
|
openAPIV3Schema:
|
|
type: object
|
|
required: ['spec']
|
|
properties:
|
|
spec:
|
|
type: object
|
|
required:
|
|
- projectId
|
|
- environment
|
|
- domain
|
|
properties:
|
|
projectId:
|
|
type: string
|
|
description: "Reference to DevOpsProject ID"
|
|
environment:
|
|
type: string
|
|
enum: ["dev", "staging", "prod"]
|
|
description: "Target environment"
|
|
domain:
|
|
type: string
|
|
description: "Domain name for the ingress"
|
|
serviceName:
|
|
type: string
|
|
description: "Backend service name"
|
|
servicePort:
|
|
type: integer
|
|
description: "Backend service port"
|
|
default: 80
|
|
tlsEnabled:
|
|
type: boolean
|
|
description: "Enable TLS/SSL"
|
|
default: true
|
|
certificateIssuer:
|
|
type: string
|
|
description: "cert-manager ClusterIssuer name"
|
|
default: "letsencrypt-prod"
|
|
ingressClassName:
|
|
type: string
|
|
description: "Ingress class name"
|
|
default: "nginx"
|
|
annotations:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: "Additional ingress annotations"
|
|
paths:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- path
|
|
properties:
|
|
path:
|
|
type: string
|
|
description: "Path pattern"
|
|
pathType:
|
|
type: string
|
|
enum: ["Exact", "Prefix", "ImplementationSpecific"]
|
|
default: "Prefix"
|
|
serviceName:
|
|
type: string
|
|
description: "Override service name for this path"
|
|
servicePort:
|
|
type: integer
|
|
description: "Override service port for this path"
|
|
status:
|
|
type: object
|
|
properties:
|
|
ingressResources:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: ["invalid", "creating", "ready", "failed"]
|
|
ready:
|
|
type: boolean
|
|
lastProbeTime:
|
|
type: string
|
|
format: date-time
|
|
domain:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
created:
|
|
type: boolean
|
|
dnsReady:
|
|
type: boolean
|
|
certificate:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
issued:
|
|
type: boolean
|
|
ready:
|
|
type: boolean
|
|
ingress:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
created:
|
|
type: boolean
|
|
ready:
|
|
type: boolean
|
|
loadBalancerIP:
|
|
type: string
|
|
subresources:
|
|
status: {}
|
|
additionalPrinterColumns:
|
|
- name: Project ID
|
|
type: string
|
|
jsonPath: .spec.projectId
|
|
- name: Environment
|
|
type: string
|
|
jsonPath: .spec.environment
|
|
- name: Domain
|
|
type: string
|
|
jsonPath: .spec.domain
|
|
- name: TLS
|
|
type: boolean
|
|
jsonPath: .spec.tlsEnabled
|
|
- name: Status
|
|
type: string
|
|
jsonPath: .status.ingressResources.status
|
|
- name: Ready
|
|
type: boolean
|
|
jsonPath: .status.ingressResources.ready
|
|
- name: Age
|
|
type: date
|
|
jsonPath: .metadata.creationTimestamp
|
|
{{- end }} |