Skip to content

About

Implementation and configuration for arks.org site and resolver service

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

9 watching

Forks

Repository files navigation

ARKSORG

Provides the arks.org website and ARK resolver service.

Installation on AWS EC2

Deployment and configuration is performed by a combination of puppet and ansible. These provide a deployment of arks.org on AWS EC2 instance listening on HTTP port 18880.

See UC3 Puppet module uc3_ezid_arks and ansible playbook deploy_arksorg_site.

For manual installation notes see Manual Installation on AWS EC2.

Local Development

  1. Create and activate a virtual environment.
python -m venv .venv

source .venv/bin/activate
  1. Clone the repo
git clone https://github.com/CDLUC3/arksorg-site.git
cd arksorg-site
  1. Install using uv or pip
uv sync

or

pip install -r requirements.txt

Note: use uv and the following files to manage package and dependency

  • pyproject.toml: define dependency requirements
  • uv.lock: record the exact versions that were resolved
  • requirements.txt: autogenerated by uv and is used in arks production environment via pip install -r requirements.txt

A typical release workflow is:

  • update package and dependencies via uv add or uv remove command
  • update uv.lock via uv lock
  • generate requirements.txt via the following command:
uv export --no-hashes --no-dev --output-file=requirements.txt
  1. Set a local configuration, dev-config.env
ARKS_DEVHOST=localhost
ARKS_DEVPORT=8000
ARKS_DB_CONNECTION_STRING="sqlite:///data/registry.sqlite"
ARKS_ENVIRONMENT="development"
ARKS_SERVICE_PATTERN="(^https?://localhost:8000/)|(^https?://?n2t.net/)|(^https?://?arks.org/)"
LOG_LEVEL="debug"
DEBUG_SQL=false
ARKS_NAANS_SOURCE="https://cdluc3.github.io/naan_reg_priv/naan_records.json"
  1. Configure the local NAAN database
mkdir data
python -m arks -c dev-config.env load-naans

Note that this operation should be run periodically to keep the local NAAN registry up to date with the source.

  1. Run the local server

The local server requires uvicorn which should have been installed via uv sync.

Run the local server:

python -m arks -c dev-config.env serve

About

Implementation and configuration for arks.org site and resolver service

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages