survos/ark-bundle

Symfony bundle for ARK identifier minting and resolution

Maintainers

Package info

github.com/survos/ark-bundle

Type:symfony-bundle

pkg:composer/survos/ark-bundle

Fund package maintenance!

kbond

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.126 2026-03-10 19:33 UTC

This package is auto-updated.

Last update: 2026-03-11 03:31:48 UTC


README

Symfony bundle for ARK (Archival Resource Key) minting, binding, and resolution.

This bundle lets any Doctrine entity become ARK-enabled by implementing a small interface, then handles:

  • minting identifiers,
  • storing bindings,
  • resolving ARKs,
  • and redirecting /ark/{naan}/{name} requests.

Why ARK

Apply For A NAAN

To run ARKs in production, request your own NAAN:

For memory organizations applying for a NAAN, include your collection and scan workflows in the application narrative. A practical policy is to ensure scans and related metadata carry your assigned number consistently in ARK URLs and institutional records.

Install

composer require survos/ark-bundle

Configuration

Create config/packages/survos_ark.yaml:

survos_ark:
  naan: '12345'
  shoulder: 'fk'
  template: 'fk.reedeeedk'
  resolver_base_url: 'https://example.org'
  local_path: '/ark'
  db_type: 'lmdb'
  db_path: '%kernel.var_dir%/ark'
  auto_mint: true
  n2t_resolve: false

Entity Contracts

  • Survos\ArkBundle\Contract\ArkableInterface
  • Survos\ArkBundle\Contract\ArkQualifiableInterface
  • Survos\ArkBundle\Contract\ErcMetadataInterface

Commands

  • ark:mint
  • ark:bind
  • ark:resolve
  • ark:validate
  • ark:bulk-mint
  • ark:report
  • ark:reindex

Route

The bundle exposes:

  • GET /ark/{naan}/{name}
  • GET /ark/{naan}/_probe (NAAN probe endpoint)

It also supports inflections like ?info and policy lookup (??).

Storage Engine

Minting and binding are backed by daniel-km/noid.