- 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>
139 lines
4.8 KiB
YAML
139 lines
4.8 KiB
YAML
{{- if .Values.crds.install }}
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
name: deploymentrecords.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: DeploymentRecord
|
|
listKind: DeploymentRecordList
|
|
singular: deploymentrecord
|
|
plural: deploymentrecords
|
|
shortNames:
|
|
- deploy
|
|
- dr
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|
|
schema:
|
|
openAPIV3Schema:
|
|
type: object
|
|
required: ['spec']
|
|
properties:
|
|
spec:
|
|
type: object
|
|
required:
|
|
- projectId
|
|
- version
|
|
- environment
|
|
properties:
|
|
projectId:
|
|
type: string
|
|
description: "Reference to DevOpsProject ID"
|
|
version:
|
|
type: string
|
|
description: "Application version to deploy"
|
|
environment:
|
|
type: string
|
|
enum: ["dev", "staging", "prod"]
|
|
description: "Target environment"
|
|
gitCommitHash:
|
|
type: string
|
|
description: "Git commit hash for this deployment"
|
|
buildTrigger:
|
|
type: string
|
|
enum: ["manual", "webhook", "schedule", "api"]
|
|
default: "manual"
|
|
description: "What triggered this deployment"
|
|
operation:
|
|
type: string
|
|
enum: ["start", "terminate", "restart"]
|
|
default: "start"
|
|
description: "Deployment operation to perform"
|
|
ttlSeconds:
|
|
type: integer
|
|
minimum: 0
|
|
description: "TTL for this deployment in seconds"
|
|
parameters:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
description: "Additional deployment parameters"
|
|
status:
|
|
type: object
|
|
properties:
|
|
deploymentRecord:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
enum: ["running", "success", "failed", "terminated"]
|
|
phase:
|
|
type: string
|
|
enum: ["initializing", "commit-message-linting", "execute-mode-detection", "code-changes-detection", "build-agent-setup", "dependencies-resolving", "semantic-releasing", "compilation-packaging", "image-builder-setup", "image-building", "app-version-updating", "deployment-triggering", "deployment-syncing", "deployment-verification", "resource-cleanup", "finished"]
|
|
startTime:
|
|
type: string
|
|
format: date-time
|
|
completionTime:
|
|
type: string
|
|
format: date-time
|
|
lastProbeTime:
|
|
type: string
|
|
format: date-time
|
|
jenkinsBuildNumber:
|
|
type: integer
|
|
description: "Jenkins build number"
|
|
jenkinsBuildUrl:
|
|
type: string
|
|
description: "Jenkins build URL"
|
|
argoSyncStatus:
|
|
type: string
|
|
description: "Argo CD sync status"
|
|
message:
|
|
type: string
|
|
description: "Status message"
|
|
networkResources:
|
|
type: object
|
|
properties:
|
|
domain:
|
|
type: string
|
|
certificate:
|
|
type: string
|
|
ingress:
|
|
type: string
|
|
subresources:
|
|
status: {}
|
|
additionalPrinterColumns:
|
|
- name: Project ID
|
|
type: string
|
|
jsonPath: .spec.projectId
|
|
- name: Version
|
|
type: string
|
|
jsonPath: .spec.version
|
|
- name: Environment
|
|
type: string
|
|
jsonPath: .spec.environment
|
|
- name: Status
|
|
type: string
|
|
jsonPath: .status.deploymentRecord.status
|
|
- name: Phase
|
|
type: string
|
|
jsonPath: .status.deploymentRecord.phase
|
|
- name: Build
|
|
type: integer
|
|
jsonPath: .status.deploymentRecord.jenkinsBuildNumber
|
|
- name: Age
|
|
type: date
|
|
jsonPath: .metadata.creationTimestamp
|
|
{{- end }} |