Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aries charts, moving from bevel main #78

Merged
merged 1 commit into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 6 additions & 0 deletions examples/hyperledger-aries/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.idea
.DS_Store
*.swp
values.dev.yaml
values.stg.yaml
values.prod.yaml
70 changes: 70 additions & 0 deletions examples/hyperledger-aries/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# ariesagent

Hyperledger Aries Agent Deployment using Kubernetes

## Introduction
This repository contains Kubernetes charts for deploying Hyperledger Aries agents. Hyperledger Aries provides a framework for building decentralized identity systems and this set of charts simplifies the deployment process in a Kubernetes environment. These have been used for deploying on AWS Cloud and may require modification for other cloud environments. It is intended to be used to deploy agents that can interact alongside your ledger of choice (aries is agnostic to the verifiable data ledger). The most common option is to leverage an indy network, which can be deployed using Bevel.

## Prerequisites
- Kubernetes cluster
- Helm
- Knowledge of your Kubernetes cluster configuration (e.g., storage classes, ingress controller)
- Basic understanding of Hyperledger Aries and decentralized identity systems

## Installation
- Step 1: Clone the Repository
- Step 2: Configure the Kubernetes Charts
Edit the Helm chart values in chart/values.yaml to suit your deployment environment. Key configurations include:

- You can manually change agent configurations as needed for different deployment strategies.

- Step 3: Deploy the Aries Agent
Deploy the Aries agent using Helm:

```bash
$ helm install my-aries-agent ./chart
```

Step 4: Verify Deployment
Check the status of your deployment:

```bash
$ kubectl get pods
```
Ensure that the Aries agent pods are running successfully.

## Usage
Once deployed, the Aries agent can be interacted with via its exposed service. Depending on your service.type configuration, this may be within the cluster or via an external IP/hostname.

## Customization
You can customize the deployment by editing the Helm chart values. This includes configuring:

Resource limits and requests
Persistence options
Custom environment variables
Additional parameters specific to Hyperledger Aries

### Configuration
Edit values.yaml in the chart/ directory to customize the deployment.
Key configurations: agent parameters, service type, ingress settings.

### Upgrading
To upgrade your Aries agent deployment:
```bash
$ helm upgrade my-aries-agent ./chart
```
Ensure that you review the changelog for any breaking changes or necessary actions before upgrading.

### Troubleshooting
If you encounter issues, check the Kubernetes logs for the Aries agent pods:
```bash
$ kubectl logs [Pod-Name]
```

For more detailed troubleshooting, refer to the Hyperledger Aries documentation.

## License
This project is licensed under Apache License 2.0.

## Acknowledgements
This project builds upon the foundational work of the Hyperledger Aries community. Kudos to the team at Superlogic for this contribution.
29 changes: 29 additions & 0 deletions examples/hyperledger-aries/chart/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# Custom
*-database.secret.yaml
ingress.yaml.old
values.dev.yaml
values.stg.yaml
values.prod.yaml
24 changes: 24 additions & 0 deletions examples/hyperledger-aries/chart/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v2
name: aries-agent
description: A Helm chart for Indy Aries Agent, converted from https://github.com/bcgov/trust-over-ip-configurations/tree/main/openshift/templates/agent

# 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.1.0

# 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: "1.16.0"
Loading
Loading