-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Complete documentation update with several integrity fixes
- Loading branch information
1 parent
5fdeb00
commit e37b27d
Showing
27 changed files
with
1,217 additions
and
99 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# Simple workflow for deploying static content to GitHub Pages | ||
name: Deploy cargo doc to Pages | ||
|
||
on: | ||
push: | ||
branches: | ||
- update-docs | ||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | ||
permissions: | ||
contents: read | ||
pages: write | ||
id-token: write | ||
|
||
# Allow one concurrent deployment | ||
concurrency: | ||
group: "pages" | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build: | ||
name: Build | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
- name: Setup Rust | ||
uses: dtolnay/rust-toolchain@stable | ||
# - name: Configure cache | ||
# uses: Swatinem/rust-cache@v2 | ||
- name: Setup pages | ||
id: pages | ||
uses: actions/configure-pages@v4 #v5 available | ||
- name: Clean docs folder | ||
run: cargo clean --doc | ||
- name: Build docs | ||
run: | | ||
cargo doc --no-deps --all-features | ||
-p deepkey_csr | ||
-p deepkey | ||
-p hc_deepkey_types | ||
-p hc_deepkey_sdk | ||
- name: Add redirect | ||
run: echo '<meta http-equiv="refresh" content="0;url=deepkey_csr">' > target/doc/index.html | ||
- name: Remove lock file | ||
run: rm target/doc/.lock | ||
- name: Upload artifact | ||
uses: actions/upload-pages-artifact@v3 | ||
with: | ||
path: target/doc | ||
|
||
deploy: | ||
name: Deploy | ||
environment: | ||
name: github-pages | ||
url: ${{ steps.deployment.outputs.page_url }} | ||
runs-on: ubuntu-latest | ||
needs: build | ||
steps: | ||
- name: Deploy to GitHub Pages | ||
id: deployment | ||
uses: actions/deploy-pages@v4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
[back to README.md](README.md) | ||
|
||
|
||
# Contributing | ||
|
||
The purpose of this repo is to build a Holochain DNA that provides a decentralized public key | ||
infrastructure (DPKI) that will be the default for Holochain installations. | ||
|
||
|
||
## Overview | ||
The Deepkey DNA is designed so that it can work on its own, but architectural decisions are driven | ||
by the necessary integrations required to support Holochain's DPKI service and Lair. | ||
|
||
In the design space of all possible Deepkey implementations, any type of public key could be | ||
registered and managed (eg. for blockchains, TLS certificates, etc). This implementation only | ||
supports the registration of Holochain `AgentPubKey`. | ||
|
||
|
||
### Entity Relationship Diagram (high-level) | ||
|
||
![](docs/images/ERD.png) | ||
|
||
|
||
|
||
## Development | ||
|
||
### Environment | ||
|
||
- Enter `nix develop` for development environment dependencies. | ||
|
||
### Documentation | ||
|
||
```bash | ||
make docs | ||
|
||
# or, build individual packages | ||
make target/doc/deepkey_types/index.html | ||
make target/doc/deepkey_sdk/index.html | ||
make target/doc/deepkey/index.html | ||
make target/doc/deepkey_csr/index.html | ||
``` | ||
|
||
See [deepkey_csr/index.html](https://holochain.github.io/deepkey/deepkey_csr/index.html) for | ||
detailed API References. | ||
|
||
### Building | ||
|
||
#### DNA Bundle | ||
|
||
```bash | ||
make dna/deepkey.dna | ||
``` | ||
|
||
#### [Deepkey types crate](https://crates.io/crates/hc_deepkey_types) | ||
|
||
Build package without publishing | ||
```bash | ||
make preview-deepkey-types-crate | ||
``` | ||
|
||
Publish package | ||
```bash | ||
make publish-deepkey-types-crate | ||
``` | ||
|
||
#### [Deepkey SDK crate](https://crates.io/crates/hc_deepkey_sdk) | ||
|
||
Build package without publishing | ||
```bash | ||
make preview-deepkey-sdk-crate | ||
``` | ||
|
||
Publish package | ||
```bash | ||
make publish-deepkey-sdk-crate | ||
``` | ||
|
||
|
||
### Testing | ||
|
||
To run all tests with logging | ||
``` | ||
make test | ||
``` | ||
|
||
- `make test-unit` - **Rust tests only** | ||
- `make test-integration` - **Integration tests only** | ||
|
||
#### Integration tests | ||
|
||
- `make test-basic` - Test MVP features | ||
- `make test-change-rules` - Test management of change rules | ||
- `make test-key-management` - Test management of key evolution | ||
- `make test-claim-unmanaged-key` - Test ability to handle multiple claims of the same key | ||
|
||
|
||
> **NOTE:** set DEBUG_LEVEL environment variable to run tests with logging (options: fatal, error, | ||
> warn, normal, info, debug, trace) | ||
> | ||
> Example | ||
> ``` | ||
> DEBUG_LEVEL=trace make test | ||
> ``` | ||
### Prospective features | ||
#### Limbo | ||
Features that were planned but may no longer be implemented. | ||
- [Multi-device Management](./docs/limbo/Multi_device_management.md) | ||
#### Prototype | ||
Features that are planned but may or may not be completed. | ||
- [Generators](./docs/prototype/Generators.md) | ||
- [Membrane Proof](./docs/prototype/Membrane_proof.md) | ||
##### Feature "Claim keys" | ||
`KeyRegistration::CreateOnly` serves the temporary purpose of allowing Holo Hosts to register keys | ||
of web users without being able to manage those keys. This feature could be replaced with adding a | ||
claim key for web users to claim their unmanaged keys if/when they become a self-hosted Holochain | ||
user. |
Oops, something went wrong.