1+ # #############################################################################
2+ # Copyright (c) 2023,2024 Contributors to the Eclipse Foundation
3+ #
4+ # See the NOTICE file(s) distributed with this work for additional
5+ # information regarding copyright ownership.
6+ #
7+ # This program and the accompanying materials are made available under the
8+ # terms of the Apache License, Version 2.0 which is available at
9+ # https://www.apache.org/licenses/LICENSE-2.0.
10+ #
11+ # Unless required by applicable law or agreed to in writing, software
12+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14+ # License for the specific language governing permissions and limitations
15+ # under the License.
16+ #
17+ # SPDX-License-Identifier: Apache-2.0
18+ # #############################################################################
19+ ---
20+ name: Umbrella Sandbox Setup (Kind Cluster)
21+
22+ on:
23+ push:
24+ branches: [main]
25+ pull_request:
26+ paths:
27+ - 'charts/**'
28+ - '!**/README.md'
29+ workflow_dispatch:
30+ inputs:
31+ node_image:
32+ description: 'kindest/node image for k8s kind cluster'
33+ default: 'kindest/node:v1.29.2'
34+ required: false
35+ type: string
36+ helm_version:
37+ description: 'helm version to test (default = latest)'
38+ default: 'latest'
39+ required: false
40+ type: string
41+
42+ jobs:
43+ setup-sandbox:
44+ runs-on: ubuntu-latest
45+ env:
46+ NODE_IMAGE: ${{ github.event.inputs.node_image || 'kindest/node:v1.29.2' }}
47+ HELM_VERSION: ${{ github.event.inputs.helm_version || 'latest' }}
48+ steps:
49+ - name: Checkout
50+ uses: actions/checkout@v4
51+ with:
52+ fetch-depth: 0
53+
54+ - name: Kubernetes KinD Cluster
55+ uses: container-tools/
[email protected] 56+ with:
57+ version: v0.22.0
58+ node_image: ${{ env.NODE_IMAGE }}
59+
60+ - name: Verify Cluster
61+ run: |
62+ kubectl cluster-info
63+ kubectl get nodes -o wide
64+
65+ - name: Set up Helm
66+ 67+ with:
68+ version: ${{ env.HELM_VERSION }}
69+
70+ - name: Add Tractus-X Helm Repository
71+ run: |
72+ helm repo add tractusx-dev https://eclipse-tractusx.github.io/charts/dev
73+ helm repo update
74+
75+ - name: Install Umbrella Chart Portal Subset
76+ run: |
77+ helm install \
78+ --set portal.enabled=true,centralidp.enabled=true,sharedidp.enabled=true \
79+ umbrella tractusx-dev/umbrella --namespace umbrella --create-namespace
80+
81+ - name: Verify Deployment
82+ run: |
83+ kubectl get pods -n umbrella
84+ helm ls --namespace umbrella
85+
86+ - name: Debug Cluster (on failure)
87+ if: failure()
88+ run: |
89+ kubectl describe pods -n umbrella
90+ kubectl logs -n umbrella $(kubectl get pods -n umbrella -o jsonpath='{.items[0].metadata.name}')
91+
92+ - name: Cleanup Resources
93+ if: always()
94+ run: |
95+ helm uninstall umbrella --namespace umbrella || true
96+ kubectl delete namespace umbrella || true
97+ kind delete cluster || true
0 commit comments