- 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>
136 lines
4.3 KiB
YAML
136 lines
4.3 KiB
YAML
{{- if .Values.crds.install }}
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: jenkinssettings.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: JenkinsSetting
|
|
listKind: JenkinsSettingList
|
|
singular: jenkinssetting
|
|
plural: jenkinssettings
|
|
shortNames:
|
|
- jenkins
|
|
- jen
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|
|
schema:
|
|
openAPIV3Schema:
|
|
type: object
|
|
required: ['spec']
|
|
properties:
|
|
spec:
|
|
type: object
|
|
required:
|
|
- projectId
|
|
- gitUrl
|
|
- environments
|
|
properties:
|
|
projectId:
|
|
type: string
|
|
description: "Reference to DevOpsProject ID"
|
|
gitUrl:
|
|
type: string
|
|
description: "Git repository URL for Jenkins pipelines"
|
|
gitCredentialsId:
|
|
type: string
|
|
description: "Jenkins credentials ID for Git access"
|
|
environments:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- name
|
|
- branch
|
|
properties:
|
|
name:
|
|
type: string
|
|
enum: ["dev", "staging", "prod"]
|
|
branch:
|
|
type: string
|
|
description: "Git branch for this environment"
|
|
pipelineScript:
|
|
type: string
|
|
description: "Custom Jenkinsfile content"
|
|
buildTriggers:
|
|
type: object
|
|
properties:
|
|
webhook:
|
|
type: boolean
|
|
default: true
|
|
schedule:
|
|
type: string
|
|
description: "Cron schedule for builds"
|
|
folder:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: "Jenkins folder name"
|
|
description:
|
|
type: string
|
|
description: "Jenkins folder description"
|
|
status:
|
|
type: object
|
|
properties:
|
|
jenkinsSettings:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: ["invalid", "valid", "synced"]
|
|
synced:
|
|
type: boolean
|
|
ready:
|
|
type: boolean
|
|
lastProbeTime:
|
|
type: string
|
|
format: date-time
|
|
folderUrl:
|
|
type: string
|
|
description: "Jenkins folder URL"
|
|
jobs:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
environment:
|
|
type: string
|
|
url:
|
|
type: string
|
|
subresources:
|
|
status: {}
|
|
additionalPrinterColumns:
|
|
- name: Project ID
|
|
type: string
|
|
jsonPath: .spec.projectId
|
|
- name: Git URL
|
|
type: string
|
|
jsonPath: .spec.gitUrl
|
|
- name: Environments
|
|
type: string
|
|
jsonPath: .spec.environments[*].name
|
|
- name: Status
|
|
type: string
|
|
jsonPath: .status.jenkinsSettings.status
|
|
- name: Ready
|
|
type: boolean
|
|
jsonPath: .status.jenkinsSettings.ready
|
|
- name: Age
|
|
type: date
|
|
jsonPath: .metadata.creationTimestamp
|
|
{{- end }} |