Skip to content

Latest commit

 

History

History
190 lines (124 loc) · 6.12 KB

README.md

File metadata and controls

190 lines (124 loc) · 6.12 KB

Technical Guide - Deployment in Argo CD

Getting Started Documentation

This document describes the battery pass application deployment steps in using helm charts. In order to deploy the app components, the following artifacts are required.

NOTE: This tutorial demonstrates the deployment of the application on Argo CD infrastructure. It is assumed that the infrastructure is already configured. Further documentation about the Argo CD. What is Argo CD platform?

Sign in via the GitHub account

After signing in into the account, you can see the allocated space inside the namespace 'product-material-pass' and project 'project-material-pass' for the digital product pass team. The new app should be created inside this space.

Creating New Application

Create new app from the top-left corner button. Fill out the following required fields.

  • Application Name: <APP_NAME> (e.g., edc-consumer, digital-product-pass)
  • Project: project-material-pass
  • Source: Git repository where the application artifacts are stored (https://github.com/eclipse-tractusx/digital-product-pass)
  • Revision: select branch or a tag
  • Path: The path to the deployment (possible values: deployment/infrastructure/data-consumer/edc-consumer, deployment/infrastructure/data-provider/edc-provider, charts/digital-product-pass)
  • Cluster URL: https://kubernetes.default.svc
  • Namespace: product-material-pass
  • Plugin: argocd-vault-plugin-helm-args
    • Set following helm args with the corresponding application:
      • digital-product-pass: set ENV as helm_args = -f values.yaml'
      • edc-consumer: set ENV as helm_args = -f values.yaml'
      • edc-provider: set ENV as helm_args = -f values.yaml'

Click on 'Create' button

Create New App Select Valut Plugin

  • Go inside the application and sync it. It would take some time to get synced.

Sync App

Sync App

Consumer frontend and backend pods

  • Go to the individual logs tab

Frontend logs: Consumer frontend logs

Backend logs: Consumer backend logs

If everything works fine then the application is deployed...

Digital-Product-Pass:

Consumer-Frontend:

The dpp frontend is a consumer user interface application for the digital product passports that interacts with the end-user and displays passports. The steps above will be followed to deploy the consumer frontend component.

In the end, the frontend should be accessible at https://dpp.int.demo.catena-x.net. You would be redirected to the CatenaX central IDP and can see the login page after company selection.

Login credentails:
  • Company Selection: CX-Test-Access
  • User 1: Role: Dismantler, user: company 1 user, Password: changeme
  • User 2: Role: Recycler, user: company 2 user, Password: changeme

Example Product Pass IDs:

  • CX:XYZ78901:BAT-XYZ789 (with child components)
  • CX:XYZ78901:IMR18650V1 (without child components)

Example Screenshots:

Company Selection Page

Login Page

QR Code Scanner

QR Code Scanner

Battery Passport - General Information

Drill down components

Consumer-Backend:

The consumer backend is a Java based spring boot application which implements the service modules and business layer to manage the passports in frontend component.

Open API documentation in Swagger

Central Swagger Hub

Swagger UI


Helm to manage Kubernetes

Basic Helm tricks

show

# Creating basic helm chart
helm create <CHART_NAME>

# Building chart dependencies
 helm dependency build <SOURCE>

# Updating chart dependencies
 helm dependency update <SOURCE>

# Installing helm release
helm install <CHART_NAME> -f myvalues.yaml ./SOURCE

# Uninstalling helm release
helm uninstall <CHART_NAME>

# Listing helm releases
helm list

Using Helm Repository

show

helm repo add [NAME] [URL]  [flags]

helm repo list / helm repo ls

helm repo remove [REPO1] [flags]

helm repo update / helm repo up

helm repo update [REPO1] [flags]

helm repo index [DIR] [flags]

Download a Helm chart from a repository

show

helm pull [chart URL | repo/chartname] [...] [flags] ## this would download a helm, not install 
helm pull --untar [rep/chartname] # untar the chart after downloading it