Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/bcgov/traction into release…
Browse files Browse the repository at this point in the history
…/0.4.0
  • Loading branch information
esune committed Feb 15, 2024
2 parents f8dbc71 + fcc696f commit 21a642f
Show file tree
Hide file tree
Showing 22 changed files with 101 additions and 81 deletions.
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# For details on how this file works refer to:
# - https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
# Maintain dependencies for GitHub Actions
# - Check for updates once a week
# - Group all updates into a single PR
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
groups:
all-actions:
patterns: [ "*" ]
4 changes: 2 additions & 2 deletions .github/workflows/build_deploy_tenant_ui.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
runs-on: ubuntu-20.04
if: github.repository_owner == 'bcgov'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.ref }}

Expand All @@ -55,7 +55,7 @@ jobs:
if: ${{ always() && contains(needs.*.result, 'success') && !(contains(needs.*.result, 'failure')) && (github.repository_owner == 'bcgov') }}

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Authenticate and set context
uses: redhat-actions/oc-login@v1
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/chart_release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: gh-pages
- name: Download remote index file and check equality
Expand All @@ -29,7 +29,7 @@ jobs:
runs-on: ubuntu-latest
needs: [ validate-gh-pages-index ]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/on_pr_closed.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ jobs:
runs-on: ubuntu-22.04
if: github.repository_owner == 'bcgov'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Check out manifest repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.MANIFEST_REPO_DEPLOY_KEY }}
repository: ${{ secrets.MANIFEST_REPO }}
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/on_pr_opened.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
needs:
- ready
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build UI
uses: ./.github/actions/build_ui
id: builder
Expand All @@ -56,7 +56,7 @@ jobs:
needs:
- ready
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build Aca-Py Image
uses: ./.github/actions/build_acapy
id: builder
Expand All @@ -77,7 +77,7 @@ jobs:
needs:
- ready
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build Tenant Proxy Image
uses: ./.github/actions/build_acapy
id: builder
Expand All @@ -103,7 +103,7 @@ jobs:
if: ${{ always() && (fromJSON(needs.ready.outputs.deploy) == true) && !(contains(needs.*.result, 'failure')) }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Authenticate and set context
uses: redhat-actions/oc-login@v1
Expand All @@ -130,10 +130,10 @@ jobs:
- deploy
if: ${{ (fromJSON(needs.ready.outputs.deploy) == true) && !(contains(needs.*.result, 'failure')) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Find Comment
uses: peter-evans/find-comment@v1
uses: peter-evans/find-comment@v3
id: fc
with:
issue-number: ${{ github.event.number }}
Expand All @@ -142,7 +142,7 @@ jobs:

- name: Create comment
if: steps.fc.outputs.comment-id == ''
uses: peter-evans/create-or-update-comment@v1
uses: peter-evans/create-or-update-comment@v4
with:
issue-number: ${{ github.event.number }}
body: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/on_push_main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'bcgov'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build service
uses: ./.github/actions/build_ui
id: builder
Expand All @@ -34,7 +34,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'bcgov'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build Aca-Py Image
uses: ./.github/actions/build_acapy
id: builder
Expand All @@ -54,7 +54,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'bcgov'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build Aca-Py Image
uses: ./.github/actions/build_acapy
id: builder
Expand All @@ -80,7 +80,7 @@ jobs:
if: ${{ always() && contains(needs.*.result, 'success') && !(contains(needs.*.result, 'failure')) && (github.repository_owner == 'bcgov') }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Authenticate and set context
uses: redhat-actions/oc-login@v1
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release_assets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'bcgov'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build Aca-Py Image
uses: ./.github/actions/build_acapy
id: builder
Expand All @@ -33,7 +33,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'bcgov'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build UI
uses: ./.github/actions/build_ui
id: builder
Expand All @@ -49,7 +49,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository_owner == 'bcgov'
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build Tenant Proxy Image
uses: ./.github/actions/build_acapy
id: builder
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stale.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
stale:
runs-on: ubuntu-22.04
steps:
- uses: actions/stale@v8
- uses: actions/stale@v9
with:
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test_tenant_ui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ jobs:
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
Expand All @@ -45,9 +45,9 @@ jobs:
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
Expand Down
69 changes: 34 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Traction
# Traction

![Traction Logo](./docs/assets/readme-logo.png)

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![Lifecycle:Maturing](https://img.shields.io/badge/Lifecycle-Maturing-007EC6)](<Redirect-URL>) [![Maintainability](https://api.codeclimate.com/v1/badges/e6df50041dd4373c7e15/maintainability)](https://codeclimate.com/github/bcgov/traction/maintainability)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![Lifecycle:Maturing](https://img.shields.io/badge/Lifecycle-Maturing-007EC6)](<Redirect-URL>) [![Maintainability](https://api.codeclimate.com/v1/badges/e6df50041dd4373c7e15/maintainability)](https://codeclimate.com/github/bcgov/traction/maintainability)


## Table of Contents
## Table of Contents

- [What is Traction?](#what-is-traction)
- [Start using Traction](#start-using-traction)
Expand All @@ -17,54 +17,54 @@
- [Engage with the community](#engage-with-the-community)


## What is Traction?

## What is Traction?
Traction is a digital wallet solution comprised of plugins layered on top of Hyperledger Aries Cloud Agent Python (ACA-Py) and streamlines the process of sending and receiving digital credentials for governments and organizations.

Traction is a digital wallet solution comprised of plugins layered on top of Hyperledger Aries Cloud Agent Python (ACA-Py) and streamlines the process of sending and receiving digital credentials for governments and organizations.

Its open-source foundation makes it easy to integrate digital trust technology into existing lines of business applications, without having to stand up, maintain and manage an instance of ACA-Py themselves. Future functionality could include machine-readable governance and more.
Its open-source foundation makes it easy to integrate digital trust technology into existing lines of business applications, without having to stand up, maintain and manage an instance of ACA-Py themselves. Future functionality could include machine-readable governance and more.

![Arch Diagram](./docs/assets/traction-flow-chart-1600x900-12162022-01.jpg)

## Play in the Traction Sandbox

Establish your own Traction tenant in a B.C. Government sandbox to issue, hold, present, and verify digital credentials using these [setup instructions](./docs/traction-anoncreds-workshop.md).
Establish your own Traction tenant in a B.C. Government sandbox to issue, hold, present, and verify digital credentials using these [setup instructions](./docs/traction-anoncreds-workshop.md).

**Disclaimer**: On the 1st and 15th of each month, the entire sandbox gets reset and all your work will be gone.

**Disclaimer**: On the 1st and 15th of each month, the entire sandbox gets reset and all your work will be gone.
## Start using Traction

## Start using Traction
**Running Traction**: to run a local instance of traction, see the documentation in [scripts](./scripts/README.md).

**Running Traction**: to run a local instance of traction, see the documentation in [scripts](./scripts/README.md).
**Deploying Traction**: Helm charts for deploying Traction to Kubernetes: [charts](./charts/README.md).

**Deploying Traction**: Helm charts for deploying Traction to Kubernetes: [charts](./charts/README.md).

## What are the benefits of using Traction?

## What are the benefits of using Traction?
Traction makes it easier to integrate digital trust technology into existing line of business applications.

Traction makes it easier to integrate digital trust technology into existing line of business applications.
- **API-first Architecture**: Traction is designed with an API-first architecture, this RESTful API allows for integration into existing line-of-business applications already being used by organizations, the Tenant user interface is built on this API to enable adoption prior to integration and for low-use functions.
- **Enhanced Interoperability**: Hyperledger Aries makes Traction more broadly compatible with existing technologies used by governments and organizations around the world.
- **Multi-tenancy**: Rather than having multiple digital tools to integrate with organizations, one scalable instance of Traction can be used to participate in the digital trust ecosystem, control all connections, and more easily share data.
- **Higher Scalability**: Traction is open-source technology, encouraging collaborative refinement, faster release, and higher scalability.

- **API-first Architecture**: Traction is designed with an API-first architecture, this RESTful API allows for integration into existing line-of-business applications already being used by organizations, the Tenant user interface is built on this API to enable adoption prior to integration and for low-use functions.
- **Enhanced Interoperability**: Hyperledger Aries makes Traction more broadly compatible with existing technologies used by governments and organizations around the world.
- **Multi-tenancy**: Rather than having multiple digital tools to integrate with organizations, one scalable instance of Traction can be used to participate in the digital trust ecosystem, control all connections, and more easily share data.
- **Higher Scalability**: Traction is open-source technology, encouraging collaborative refinement, faster release, and higher scalability.

## What is Traction comprised of?

## What is Traction comprised of?
- [ACA-Py + plugins](./plugins/README.md)
- [Tenant UI](./services/tenant-ui/README.md)
- [Endorser Services](./services/endorser/README.md)

- [ACA-Py + plugins](./plugins/README.md)
- [Tenant UI](./services/tenant-ui/README.md)
- [Endorser Services](./services/endorser/README.md)

## Start contributing to Traction

## Start contributing to Traction
Traction is an open-source technology project that welcomes collaboration.

Traction is an open-source technology project that welcomes collaboration.
If you would like to contribute to Traction, please review the following:

If you would like to contribute to Traction, please review the following:
- [Contributing](./CONTRIBUTING.md)
- [Code of Conduct](./CODE_OF_CONDUCT.md)
- [Compliance](./COMPLIANCE.yaml)

- [Contributing](./CONTRIBUTING.md)
- [Code of Conduct](./CODE_OF_CONDUCT.md)
- [Compliance](./COMPLIANCE.yaml)

## Developers: devcontainers
To aid in developers, there are 2 `devcontainers`: [plugins](./plugins/.devcontainer/devcontainer.json) and [tenant-ui](./services/tenant-ui/.devcontainer/devcontainer.json).
Expand Down Expand Up @@ -95,7 +95,6 @@ Note that Tenant Proxy and Traction DB are started via docker compose when start
### Repository workflow
Currently authorized users can create a branch and run a pull request to merge in changes. Unauthorized can always create a fork.


#### Rebasing of a branch
```bash
git fetch --all
Expand All @@ -105,22 +104,22 @@ git rebase origin/main
git push --force
```

## Who is maintaining Traction?
## Who is maintaining Traction?
[The Province of British Columbia](https://github.com/bcgov/) is maintaining Traction as an open-source project.

Maintainer(s):
Maintainer(s):
- Jason Sherman
- Jason Syrotuck
- Lucas O'Neil
- Jamie Popkin

## How is Traction licensed?
## How is Traction licensed?

Traction is licensed under Apache License 2.0 which can be reviewed [here](./LICENSE).
Traction is licensed under Apache License 2.0 which can be reviewed [here](./LICENSE).


## Engage with the community
## Engage with the community

Connect with others
- on Discord: [EMDT Public Discord Channel](https://discord.com/channels/766403442599657522/854432442382680104)
- on Discord: [EMDT Public Discord Channel](https://discord.com/channels/766403442599657522/854432442382680104)
- for Aries discussion see the Hyperlerger Aries Github [participation section](https://github.com/hyperledger/aries#project-participation)
1 change: 1 addition & 0 deletions charts/traction/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ kubectl delete secret,pvc --selector "app.kubernetes.io/instance"=my-release
| `acapy.plugins.connectionUpdate` | Enable the connection update plugin. | `true` |
| `acapy.plugins.multitenantProvider` | Enable the multitenant provider plugin. | `true` |
| `acapy.plugins.tractionInnkeeper` | Enable the traction innkeeper plugin. | `true` |
| `acapy.plugins.rpc` | Enable the RPC plugin. | `true` |

### Acapy Plugin Configuration

Expand Down
3 changes: 3 additions & 0 deletions charts/traction/templates/acapy/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ spec:
{{- end }}
{{- if .Values.acapy.plugins.multitenantProvider }}
--plugin multitenant_provider.v1_0 \
{{- end }}
{{- if .Values.acapy.plugins.rpc }}
--plugin rpc.v1_0 \
{{- end }}
"
]
Expand Down
2 changes: 2 additions & 0 deletions charts/traction/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -198,12 +198,14 @@ acapy:
## @param acapy.plugins.connectionUpdate Enable the connection update plugin.
## @param acapy.plugins.multitenantProvider Enable the multitenant provider plugin.
## @param acapy.plugins.tractionInnkeeper Enable the traction innkeeper plugin.
## @param acapy.plugins.rpc Enable the RPC plugin.
##
plugins:
basicmessageStorage: true
connectionUpdate: true
multitenantProvider: true
tractionInnkeeper: true
rpc: true

## @section Acapy Plugin Configuration
## Specify configuration values for each plugin.
Expand Down
1 change: 1 addition & 0 deletions plugins/demo/configs/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ plugin:
- basicmessage_storage.v1_0
- connection_update.v1_0
- multitenant_provider.v1_0
- rpc.v1_0

# block-plugin:

Expand Down
1 change: 1 addition & 0 deletions plugins/demo/configs/devcontainer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ plugin:
- basicmessage_storage.v1_0
- connection_update.v1_0
- multitenant_provider.v1_0
- rpc.v1_0

# block-plugin:

Expand Down
Loading

0 comments on commit 21a642f

Please sign in to comment.