Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
bb033f9
feat: Adding support for Kustomize projects
wchomik Sep 18, 2025
8647013
feat: Adding support for Kustomize projects
wchomik Sep 18, 2025
33a9e18
feat: Adding support for Kustomize projects
wchomik Sep 18, 2025
0683886
chore(ci): Compiled JS Packages
wchomik Sep 18, 2025
47ecc75
feat: Adding support for Kustomize projects
wchomik Sep 19, 2025
1080875
chore(ci): Compiled JS Packages
wchomik Sep 19, 2025
475da24
feat: Adding support for Kustomize projects
wchomik Sep 19, 2025
9691b5e
feat: Adding support for Kustomize projects
wchomik Sep 19, 2025
7f06fd2
feat: Adding support for Kustomize projects
wchomik Sep 19, 2025
4d2a7f7
chore(ci): Compiled JS Packages
wchomik Sep 19, 2025
dcbbe7c
feat: Adding support for Kustomize projects
wchomik Sep 19, 2025
d75d1b8
chore(ci): Compiled JS Packages
wchomik Sep 19, 2025
dd1463b
chore: Added version_bump functionality to the Kustomize workflows
wchomik Sep 26, 2025
8e26400
chore(ci): Compiled JS Packages
wchomik Sep 26, 2025
13233da
chore: Added version_bump functionality to the Kustomize workflows
wchomik Sep 26, 2025
bfcaebb
chore: Added version_bump functionality to the Kustomize workflows
wchomik Sep 26, 2025
ccec173
chore(ci): Compiled JS Packages
wchomik Sep 26, 2025
d2fe56a
chore: Added version_bump functionality to the Kustomize workflows
wchomik Sep 29, 2025
2a0299f
chore(ci): Compiled JS Packages
wchomik Sep 29, 2025
ef4237d
chore: Added version_bump functionality to the Kustomize workflows
wchomik Sep 29, 2025
606822b
chore(ci): Compiled JS Packages
wchomik Sep 29, 2025
0776bb7
feat: Cleaning up Kustomize-actions code
wchomik Sep 30, 2025
a1e5785
chore: Adding kustomize version-bump to the CI workflow
wchomik Oct 1, 2025
1b49a06
chore: Clean-up kustomize version-bump
wchomik Oct 1, 2025
9d24af3
chore: Fix version-bump
wchomik Oct 1, 2025
5811c23
chore: Fix version-bump
wchomik Oct 1, 2025
1ae69a0
feat: Added test kustomize projects
wchomik Oct 1, 2025
31a385b
fix: Fixed issue where no kustomize projects are found
wchomik Oct 1, 2025
1467a47
chore(ci): k8s manifest templated for Helm Charts and Kustomize Projects
wchomik Oct 1, 2025
a89c6bd
chore(ci): Compiled JS Packages
wchomik Oct 1, 2025
b555795
fix: Updating README's
wchomik Oct 7, 2025
fdbf5d3
chore(ci): Compiled JS Packages
wchomik Oct 7, 2025
d607042
Merge branch 'main' into feat/kustomize
wchomik Oct 7, 2025
9e9f354
Merge branch 'main' into feat/kustomize
sk31337 Oct 7, 2025
fab4535
Merge branch 'main' into feat/kustomize
wchomik Oct 9, 2025
95876e2
chore(ci): Compiled JS Packages
wchomik Oct 9, 2025
02003f4
Merge branch 'main' into feat/kustomize
sk31337 Oct 10, 2025
e346043
feat: Cleaning kustomize-listing.yaml and adding it to .gitignore
wchomik Oct 10, 2025
c0e17f8
chore(ci): Compiled JS Packages
wchomik Oct 10, 2025
da2efa0
feat: Cleaning kustomize-listing.yaml and adding it to .gitignore
wchomik Oct 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/actions/kustomize/listing/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: 'Kustomize Listing'
description: 'List all Kustomize Projects to be worked on.'

# Add your action's branding here. This will appear on the GitHub Marketplace.
branding:
icon: 'layers'
color: 'blue'

runs:
using: node20
main: ../../../../typescript/packages/kustomize/listing/dist/index.js
11 changes: 11 additions & 0 deletions .github/actions/kustomize/manifest-validation/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: 'Kustomize Manifest Validation'
description: 'Validates every Kustomize Project and performs strict manifest validation'

# Add your action's branding here. This will appear on the GitHub Marketplace.
branding:
icon: 'layers'
color: 'blue'

runs:
using: node20
main: ../../../../typescript/packages/kustomize/manifest-validation/dist/index.js
32 changes: 32 additions & 0 deletions .github/actions/kustomize/version-bump/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: 'Version Bump'
description: 'Bumps .version of every modified Kustomize project'

# Add your action's branding here. This will appear on the GitHub Marketplace.
branding:
icon: 'heart'
color: 'red'

# Define your inputs here.
inputs:
BRANCH_NAME:
description: 'Local Git Branch that you are currently on!'
required: true
BASE_BRANCH_NAME:
description: 'Git Branch on which Helm Charts Chart.yaml file will be looked up to determin latest version!'
required: true
default: "main"
TARGET_GIT_REPO_URL:
description: 'URL of the target Git Repository to which PR will be merged'
required: true
default: "https://github.com/openmcp-project/blueprint-building-blocks.git"
SOURCE_GIT_REPO_URL:
description: 'URL of the source Git Repository from which PR will be merged'
required: true
default: "https://github.com/openmcp-project/blueprint-building-blocks.git"
TOKEN:
description: 'GitHub Token'
required: false

runs:
using: node20
main: ../../../../typescript/packages/kustomize/version-bump/dist/index.js
13 changes: 13 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ jobs:
- id: helm-chart-listing
uses: "./.github/actions/helm-chart/listing"

- id: kustomize-listing
uses: "./.github/actions/kustomize/listing"

- id: helm-chart-build-dependencies
uses: "./.github/actions/helm-chart/dep-build"

Expand All @@ -69,6 +72,9 @@ jobs:

- id: helm-chart-manifest-validation
uses: "./.github/actions/helm-chart/manifest-validation"

- id: kustomize-manifest-validation
uses: "./.github/actions/kustomize/manifest-validation"

- id: helm-chart-version-bump
uses: "./.github/actions/helm-chart/version-bump"
Expand All @@ -77,6 +83,13 @@ jobs:
SOURCE_GIT_REPO_URL: ${{ github.server_url }}/${{ github.event.pull_request.head.repo.full_name }}
TARGET_GIT_REPO_URL: ${{ github.server_url }}/${{ github.event.pull_request.base.repo.full_name }}

- id: kustomize-version-bump
uses: "./.github/actions/kustomize/version-bump"
with:
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
SOURCE_GIT_REPO_URL: ${{ github.server_url }}/${{ github.event.pull_request.head.repo.full_name }}
TARGET_GIT_REPO_URL: ${{ github.server_url }}/${{ github.event.pull_request.base.repo.full_name }}

- name: download-helm-docs
shell: bash
run: |
Expand Down
27 changes: 20 additions & 7 deletions .github/workflows/git-pr-status-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@ jobs:
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"

- id: helm-chart-listing
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/listing@main"
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/listing@feat/kustomize"

- id: kustomize-listing
uses: "openmcp-project/blueprint-workflows/.github/actions/kustomize/listing@feat/kustomize"

# Workflow supports only one helm repo add for now. If you need to add multiple helm repos, you need to copy and modify this workflow.
- id: helm-repo-add
Expand Down Expand Up @@ -89,16 +92,26 @@ jobs:
fi

- id: helm-chart-build-dependencies
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/dep-build@main"
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/dep-build@feat/kustomize"

- id: helm-chart-linting
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/linting@main"
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/linting@feat/kustomize"

- id: helm-chart-manifest-validation
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/manifest-validation@main"
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/manifest-validation@feat/kustomize"

- id: kustomize-manifest-validation
uses: "openmcp-project/blueprint-workflows/.github/actions/kustomize/manifest-validation@feat/kustomize"

- id: helm-chart-version-bump
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/version-bump@main"
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/version-bump@feat/kustomize"
with:
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
SOURCE_GIT_REPO_URL: ${{ github.server_url }}/${{ github.event.pull_request.head.repo.full_name }}
TARGET_GIT_REPO_URL: ${{ github.server_url }}/${{ github.event.pull_request.base.repo.full_name }}

- id: kustomize-version-bump
uses: "openmcp-project/blueprint-workflows/.github/actions/kustomize/version-bump@feat/kustomize"
with:
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
SOURCE_GIT_REPO_URL: ${{ github.server_url }}/${{ github.event.pull_request.head.repo.full_name }}
Expand Down Expand Up @@ -130,10 +143,10 @@ jobs:
############################################################

- id: helm-chart-docs
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/docs@main"
uses: "openmcp-project/blueprint-workflows/.github/actions/helm-chart/docs@feat/kustomize"

- id: k8s-manifest-templating
uses: "openmcp-project/blueprint-workflows/.github/actions/k8s-manifest-templating@main"
uses: "openmcp-project/blueprint-workflows/.github/actions/k8s-manifest-templating@feat/kustomize"

- name: Get commit SHA
run: echo "commit=$(git rev-parse HEAD)" >> "$GITHUB_ENV"
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,5 +103,7 @@ __tests__/runner/*

**/*/helm-chart-listing.yaml
helm-chart-listing.yaml
**/*/kustomize-listing.yaml
kustomize-listing.yaml
.github/summary.html
**/*/GITHUB_STEP_SUMMARY.html
64 changes: 64 additions & 0 deletions manifests/test/kustomize/helloWorld/helloWorld.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
apiVersion: v1
data:
altGreeting: Good Morning!
enableRisky: "false"
kind: ConfigMap
metadata:
labels:
app: hello2
name: the-map
---
apiVersion: v1
kind: Service
metadata:
labels:
app: hello2
name: the-service
spec:
ports:
- port: 8666
protocol: TCP
targetPort: 8080
selector:
app: hello2
deployment: hello
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: hello2
name: the-deployment
spec:
replicas: 3
selector:
matchLabels:
app: hello2
deployment: hello
template:
metadata:
labels:
app: hello2
deployment: hello
spec:
containers:
- command:
- /hello
- --port=8080
- --enableRiskyFeature=$(ENABLE_RISKY)
env:
- name: ALT_GREETING
valueFrom:
configMapKeyRef:
key: altGreeting
name: the-map
- name: ENABLE_RISKY
valueFrom:
configMapKeyRef:
key: enableRisky
name: the-map
image: monopole/hello:1
name: the-container
ports:
- containerPort: 8080
55 changes: 55 additions & 0 deletions manifests/test/kustomize/wordpress/mysql/mysql.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
apiVersion: v1
data:
password: YWRtaW4=
kind: Secret
metadata:
name: mysql-pass
type: Opaque
---
apiVersion: v1
kind: Service
metadata:
labels:
app: mysql
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: mysql
name: mysql
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: mysql-pass
image: mysql:5.6
name: mysql
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- mountPath: /var/lib/mysql
name: mysql-persistent-storage
volumes:
- emptyDir: {}
name: mysql-persistent-storage
114 changes: 114 additions & 0 deletions manifests/test/kustomize/wordpress/wordpress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
apiVersion: v1
data:
password: YWRtaW4=
kind: Secret
metadata:
name: demo-mysql-pass
type: Opaque
---
apiVersion: v1
kind: Service
metadata:
labels:
app: mysql
name: demo-mysql
spec:
ports:
- port: 3306
selector:
app: mysql
---
apiVersion: v1
kind: Service
metadata:
labels:
app: wordpress
name: demo-wordpress
spec:
ports:
- port: 80
selector:
app: wordpress
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: mysql
name: demo-mysql
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: demo-mysql-pass
image: mysql:5.6
name: mysql
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- mountPath: /var/lib/mysql
name: mysql-persistent-storage
volumes:
- emptyDir: {}
name: mysql-persistent-storage
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: wordpress
name: demo-wordpress
spec:
selector:
matchLabels:
app: wordpress
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress
spec:
containers:
- env:
- name: WORDPRESS_DB_HOST
value: demo-mysql
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: demo-mysql-pass
image: wordpress:4.8-apache
name: wordpress
ports:
- containerPort: 80
name: wordpress
volumeMounts:
- mountPath: /var/www/html
name: wordpress-persistent-storage
initContainers:
- args:
- -c
- echo demo-wordpress; echo demo-mysql
command:
- /bin/sh
image: debian
name: init-command
volumes:
- emptyDir: {}
name: wordpress-persistent-storage
Loading
Loading