Skip to content

Commit

Permalink
feature: create new tractusx chart with Hashicorp and Postgres
Browse files Browse the repository at this point in the history
  • Loading branch information
paullatzelsperger committed Apr 17, 2023
1 parent ec424a8 commit 5dc287b
Show file tree
Hide file tree
Showing 21 changed files with 1,293 additions and 493 deletions.
6 changes: 0 additions & 6 deletions .github/actions/run-deployment-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,6 @@ runs:
- name: Checkout
uses: actions/checkout@v3.3.0

- name: Cache ContainerD Image Layers
uses: actions/cache@v3
with:
path: /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs
key: ${{ runner.os }}-io.containerd.snapshotter.v1.overlayfs

- name: Set up JDK 11
uses: actions/setup-java@v3.11.0
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/business-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ jobs:
kubectl wait --for=condition=ready pod -l app=minio --timeout=120s || ( kubectl logs -l app=minio --tail 500 && exit 1 )

# Install Plato
helm install plato charts/tractusx-connector \
helm install plato charts/tractusx-runtime \
--set fullnameOverride=plato \
--set controlplane.service.type=NodePort \
--set controlplane.endpoints.management.authKey=password \
Expand Down Expand Up @@ -206,7 +206,7 @@ jobs:
--wait-for-jobs --timeout=120s

# Install Sokrates
helm install sokrates charts/tractusx-connector \
helm install sokrates charts/tractusx-runtime \
--set fullnameOverride=sokrates \
--set controlplane.service.type=NodePort \
--set controlplane.endpoints.management.authKey=password \
Expand Down
37 changes: 36 additions & 1 deletion .github/workflows/deployment-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,19 @@ concurrency:
cancel-in-progress: true

jobs:
deployment-test-memory:

test-prepare:
runs-on: ubuntu-latest
steps:
- name: Cache ContainerD Image Layers
uses: actions/cache@v3
with:
path: /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs
key: ${{ runner.os }}-io.containerd.snapshotter.v1.overlayfs

test-in-memory:
runs-on: ubuntu-latest
needs: test-prepare
steps:
- name: Checkout
uses: actions/checkout@v3.3.0
Expand All @@ -65,3 +76,27 @@ jobs:
# execute the helm test
helm test tx-inmem
test-hashicorp-postgres:
runs-on: ubuntu-latest
needs: test-prepare
steps:
- name: Checkout
uses: actions/checkout@v3.3.0
- uses: ./.github/actions/run-deployment-test
name: "Run deployment test using KinD and Helm"
with:
imagename: "edc-controlplane-postgresql-hashicorp-vault edc-dataplane-hashicorp-vault"
rootDir: "."
helm_command: |-
helm install tx-prod charts/tractusx-connector \
-f charts/tractusx-connector/example.yaml \
--dependency-update \
--wait-for-jobs --timeout=120s
# wait for the pod to become ready
kubectl rollout status deployment tx-prod-runtime-controlplane
kubectl rollout status deployment tx-prod-runtime-dataplane
# execute the helm test
helm test tx-prod --logs
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,7 @@ buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar

### Helm
**/*.lock
**/*.tgz
File renamed without changes.
70 changes: 70 additions & 0 deletions charts/tractusx-connector-app/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#
# Copyright (c) 2023 ZF Friedrichshafen AG
# Copyright (c) 2023 Mercedes-Benz Tech Innovation GmbH
# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
# Copyright (c) 2021, 2023 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

---
apiVersion: v2
name: tractusx-connector
description: |
A Helm chart for Tractus-X Eclipse Data Space Connector Application. This includes the runtime, which consists of a control plane
and a data plane, and all third-party services such as PostgreSQL and HashiCorp Vault.
This chart is intended to be used as self-contained deployment, which only requires an external DAPS instance.
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.3.2
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "0.3.2"
home: https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector
sources:
- https://github.com/eclipse-tractusx/tractusx-edc/tree/main/charts/tractusx-connector

dependencies:
# EDC Connector Runtime (ControlPlane + DataPlane)
- name: tractusx-runtime
version: "0.3.2"
alias: runtime
repository: "file://../tractusx-runtime"

# HashiCorp Vault
- name: vault
alias: vault
version: 0.20.0
repository: https://helm.releases.hashicorp.com

# PostgreSQL
- name: postgresql
alias: postgresql
version: 12.1.6
repository: https://charts.bitnami.com/bitnami
Loading

0 comments on commit 5dc287b

Please sign in to comment.