Skip to content

Commit a2db07b

Browse files
committed
add epam/edp-cd-pipeline-operator
Signed-off-by: Sebastian Hoß <seb@xn--ho-hia.de>
1 parent be7a90b commit a2db07b

File tree

13 files changed

+679
-0
lines changed

13 files changed

+679
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# SPDX-FileCopyrightText: The kube-custom-resources-rs Authors
2+
# SPDX-License-Identifier: 0BSD
3+
4+
name: Release v2_edp_epam_com
5+
on:
6+
schedule:
7+
- cron: 54 17 * * THU
8+
workflow_dispatch:
9+
jobs:
10+
release:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: read
14+
steps:
15+
- id: checkout
16+
name: Checkout
17+
uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
- id: commits
21+
name: Count Commits
22+
run: echo "count=$(git rev-list --count HEAD --since='last Thursday' -- custom-resources/v2_edp_epam_com)" >> $GITHUB_OUTPUT
23+
- id: release
24+
name: Create Release Version
25+
if: steps.commits.outputs.count > 0
26+
run: echo "version=1.$(date --utc +'%Y%m%d').$(date --utc +'%-H%M%S')" >> $GITHUB_OUTPUT
27+
- name: Set up Rust
28+
if: steps.commits.outputs.count > 0
29+
uses: dtolnay/rust-toolchain@stable
30+
- name: Install cargo-workspaces
31+
uses: taiki-e/install-action@v2
32+
with:
33+
tool: cargo-edit
34+
- name: Cargo Version
35+
if: steps.commits.outputs.count > 0
36+
run: cargo set-version --package kcr_v2_edp_epam_com ${{ steps.release.outputs.version }}
37+
- name: Publish to crates.io
38+
if: steps.commits.outputs.count > 0
39+
run: >
40+
cargo publish
41+
--allow-dirty
42+
--token ${{ secrets.CRATES_IO_TOKEN }}
43+
--package kcr_v2_edp_epam_com
44+
--jobs 1
45+
--no-verify
46+
env:
47+
RUSTFLAGS: "-A warnings"
48+
- id: mail
49+
name: Send Mail
50+
if: steps.commits.outputs.count > 0
51+
uses: dawidd6/action-send-mail@v5
52+
with:
53+
server_address: ${{ secrets.MAIL_SERVER }}
54+
server_port: ${{ secrets.MAIL_PORT }}
55+
username: ${{ secrets.MAIL_USERNAME }}
56+
password: ${{ secrets.MAIL_PASSWORD }}
57+
subject: ${{ github.event.repository.name }}/v2_edp_epam_com version ${{ steps.release.outputs.version }} published
58+
body: See ${{ steps.create_release.outputs.url }} for details.
59+
to: ${{ secrets.MAIL_RECIPIENT }}
60+
from: ${{ secrets.MAIL_SENDER }}
61+
- id: matrix
62+
name: Send Matrix Message
63+
if: steps.commits.outputs.count > 0
64+
uses: s3krit/matrix-message-action@v0.0.3
65+
with:
66+
room_id: ${{ secrets.MATRIX_ROOM_ID }}
67+
access_token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
68+
message: ${{ github.event.repository.name }}/v2_edp_epam_com version [${{ steps.release.outputs.version }}](${{ steps.create_release.outputs.url }}) published
69+
server: ${{ secrets.MATRIX_SERVER }}

.reuse/dep5

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,10 @@ Files: crd-catalog/emqx/emqx-operator/*
483483
Copyright: The emqx/emqx-operator Authors
484484
License: Apache-2.0
485485

486+
Files: crd-catalog/epam/edp-cd-pipeline-operator/*
487+
Copyright: The epam/edp-cd-pipeline-operator Authors
488+
License: Apache-2.0
489+
486490
Files: crd-catalog/eryalito/kubensync-operator/*
487491
Copyright: The eryalito/kubensync-operator Authors
488492
License: Apache-2.0

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ members = [
400400
"custom-resources/ucp_dev",
401401
"custom-resources/upgrade_cattle_io",
402402
"custom-resources/upgrade_managed_openshift_io",
403+
"custom-resources/v2_edp_epam_com",
403404
"custom-resources/velero_io",
404405
"custom-resources/virt_virtink_smartx_com",
405406
"custom-resources/volsync_backube",

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ The following groups are available:
440440
- [ucp.dev](https://crates.io/crates/kcr_ucp_dev)
441441
- [upgrade.cattle.io](https://crates.io/crates/kcr_upgrade_cattle_io)
442442
- [upgrade.managed.openshift.io](https://crates.io/crates/kcr_upgrade_managed_openshift_io)
443+
- [v2.edp.epam.com](https://crates.io/crates/kcr_v2_edp_epam_com)
443444
- [velero.io](https://crates.io/crates/kcr_velero_io)
444445
- [virt.virtink.smartx.com](https://crates.io/crates/kcr_virt_virtink_smartx_com)
445446
- [volsync.backube](https://crates.io/crates/kcr_volsync_backube)

code-generator/src/catalog.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,6 +1317,15 @@ pub const CRD_V1_SOURCES: &'static [UpstreamSource] = &[
13171317
],
13181318
ignores: &[],
13191319
},
1320+
UpstreamSource {
1321+
project_name: "epam/edp-cd-pipeline-operator",
1322+
license: APACHE_V2,
1323+
urls: &[
1324+
"https://github.com/epam/edp-cd-pipeline-operator/blob/master/deploy-templates/crds/v2.edp.epam.com_cdpipelines.yaml",
1325+
"https://github.com/epam/edp-cd-pipeline-operator/blob/master/deploy-templates/crds/v2.edp.epam.com_stages.yaml",
1326+
],
1327+
ignores: &[],
1328+
},
13201329
UpstreamSource {
13211330
project_name: "eryalito/kubensync-operator",
13221331
license: APACHE_V2,
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
apiVersion: "apiextensions.k8s.io/v1"
2+
kind: "CustomResourceDefinition"
3+
metadata:
4+
annotations:
5+
controller-gen.kubebuilder.io/version: "v0.16.5"
6+
name: "cdpipelines.v2.edp.epam.com"
7+
spec:
8+
group: "v2.edp.epam.com"
9+
names:
10+
kind: "CDPipeline"
11+
listKind: "CDPipelineList"
12+
plural: "cdpipelines"
13+
singular: "cdpipeline"
14+
scope: "Namespaced"
15+
versions:
16+
- additionalPrinterColumns:
17+
- description: "This flag indicates neither CDPipeline are initialized and ready to work"
18+
jsonPath: ".status.available"
19+
name: "Available"
20+
type: "string"
21+
- description: "Specifies a current status of CDPipeline"
22+
jsonPath: ".status.status"
23+
name: "Status"
24+
type: "string"
25+
name: "v1"
26+
schema:
27+
openAPIV3Schema:
28+
description: "CDPipeline is the Schema for the cdpipelines API."
29+
properties:
30+
apiVersion:
31+
description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
32+
type: "string"
33+
kind:
34+
description: "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
35+
type: "string"
36+
metadata:
37+
type: "object"
38+
spec:
39+
description: "CDPipelineSpec defines the desired state of CDPipeline."
40+
properties:
41+
applications:
42+
description: "A list of applications included in CDPipeline."
43+
items:
44+
type: "string"
45+
minItems: 1
46+
type: "array"
47+
applicationsToPromote:
48+
description: "A list of applications which will promote after successful release."
49+
items:
50+
type: "string"
51+
nullable: true
52+
type: "array"
53+
deploymentType:
54+
default: "container"
55+
description: "Type of workload to be deployed, e.g., container, custom."
56+
type: "string"
57+
description:
58+
description: "Description of CD pipeline."
59+
example: "This is a CD pipeline for deploying applications"
60+
type: "string"
61+
inputDockerStreams:
62+
description: "A list of docker streams"
63+
items:
64+
type: "string"
65+
minItems: 1
66+
type: "array"
67+
name:
68+
description: "Name of CD pipeline"
69+
minLength: 2
70+
type: "string"
71+
required:
72+
- "applications"
73+
- "deploymentType"
74+
- "inputDockerStreams"
75+
- "name"
76+
type: "object"
77+
status:
78+
description: "CDPipelineStatus defines the observed state of CDPipeline."
79+
properties:
80+
action:
81+
description: "The last Action was performed."
82+
type: "string"
83+
available:
84+
description: "This flag indicates neither CDPipeline are initialized and ready to work. Defaults to false."
85+
type: "boolean"
86+
detailed_message:
87+
description: "Detailed information regarding action result\nwhich were performed"
88+
type: "string"
89+
last_time_updated:
90+
description: "Information when the last time the action were performed."
91+
format: "date-time"
92+
type: "string"
93+
result:
94+
description: "A result of an action which were performed.\n- \"success\": action where performed successfully;\n- \"error\": error has occurred;"
95+
enum:
96+
- "success"
97+
- "error"
98+
type: "string"
99+
status:
100+
description: "Specifies a current status of CDPipeline."
101+
type: "string"
102+
username:
103+
description: "Name of user who made a last change."
104+
type: "string"
105+
value:
106+
description: "Specifies a current state of CDPipeline."
107+
type: "string"
108+
required:
109+
- "action"
110+
- "available"
111+
- "last_time_updated"
112+
- "result"
113+
- "status"
114+
- "username"
115+
- "value"
116+
type: "object"
117+
type: "object"
118+
served: true
119+
storage: true
120+
subresources:
121+
status: {}

0 commit comments

Comments
 (0)