Giter Club home page Giter Club logo

business-partner-agent-chart's Introduction

Business Partner Agent

Artifact HUB

The Business Partner Agent allows organizations to verify, hold, and issue verifiable credentials.

This chart will install a business partner agent (bpa-core & bpa-acapy) and Postgres.

TL;DR

helm repo add bpa https://labs.hyperledger.org/business-partner-agent-chart/
helm repo update
helm upgrade \
	--set global.ingressSuffix=.example.com \
   	mybpa bpa/bpa -i -n mynamespace

The Chart

Find the chart source and further documentation in subfolder ./charts/bpa.

Chart development

See Issues labled with helm and Publishing docu in our main repository.

Generate chart docu

The tool helm-docs parses metadata from charts and generates a number of sub-templates that can be referenced in a template file README.md.gotmpl.

If you work in a gitpod workspace, helm-docs runs automatically if the templates have changed via pre-commit-hook. On your local machine run

docker run --rm --volume "$(pwd):/helm-docs" -u $(id -u) jnorwood/helm-docs:latest

Linting

In the gitpod workspace or on your local machine run

docker run -it --rm --name ct --volume $(pwd):/data quay.io/helmpack/chart-testing sh -c "cd /data; ct lint --config ct.yaml"

Testing

Prerequisites:

  • k8s cluster, you can used kind or minikube so to install a local cluster
  • Add the bitnami-full-index repository to helm: helm repo add bitnami-full-index https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami

Install ct locally (in the gitpod workspace it is installed already). Configure kubectl to work with a cluster (in the gitpod workspace add a context to the kubeconfig or use an existing one). The following call will create an ephemeral namespace, install the chart with default values and run the helm tests.

ct install --config ct.yaml --all

business-partner-agent-chart's People

Contributors

bjoern-arnold avatar etschelp avatar frank-bee avatar l-wegner avatar ryjones avatar schlagtim avatar usingtechnology avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

business-partner-agent-chart's Issues

Run acapy init container conditionally

Helm has a lookup function that can be used to query the clusters state. As the init container only has to run when the chart is installed first it can be skipped on upgrades or pod restarts. So I guess it makes sense to wrap the init container into a if condition that tests if the Deployment already exists.

see

{{ if (lookup "v1" "Secret" .Release.Namespace (include "acapy.fullname" .)) -}}

No chart changes detected

Forked repo on to my github account and post running the the actions see as " No chart changes detected" can I get help on this?

Make all secrets conditionally

Currently only the postgres secret can be enabled/disabled via the values file, the other secrets are always created, this might cause problems with other implementations like keyvaults.

Fix seed generation in chart

If there is no seed in the value file the seed is autogenerated. As there is an acapy init container this happens twice. As there is the need to register a seed manually on ledgers that require registration it is better to remove the auto seed generation and enforce the user of the chart to specify a new one.

  • remove auto generation of the seed
  • remove replace-public-did argument in the init container

Redis Support

When BPA backend pods are scaled up two issues will arise:

  1. The user is only logged into one pod, hence the user needs to login over and over again
  2. Websocket events will get lost

The BPA backend has these issues fixed and supports redis, but the chart needs to be adjusted accordingly.

  1. Add resources/redis.yml as an additional config file, see: -Dmicronaut.config.files
  2. Add an switch like we did with postgres to either start a redis instance via bitnamy locally, or reference an external one

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.