repo
{
  ; Section defining the list of Data prefixes to register.
  ; Additionally defines how many components off the end of these Data prefixes to insert into NFD.
  ; The 'prefix' option can be repeated multiple times.
  ; 'registration-subset' defines how many components to exclude. This includes the implicit digest
  ; at the end of the Data name.
  data
  {
    registration-subset 2
    prefix "ndn:/example/data/1"
    prefix "ndn:/example/data/2"
  }

  ; Section defining the list of command prefixes (to insert or delete Data) to register.
  ; Only the 'prefix' option is allowed here and it can be repeated multiple times.
  command
  {
    prefix "ndn:/example/repo/1"
    prefix "ndn:/example/repo/2"
  }

  ; Section to specify where the data should be stored.
  storage
  {
    method "sqlite"              ; Currently, only the sqlite storage engine is supported
    path "/var/lib/ndn/repo-ng"  ; Path to repo-ng storage folder
    max-packets 100000
  }

  ; Section to configure the TCP bulk insert capability.
  ; An empty section enables TCP bulk insert to listen on localhost, port 7376.
  tcp_bulk_insert
  {
    ; host "localhost"  ; Set to listen on a different IP address or hostname
    ; port 7376         ; Set to listen on a different port number
  }

  validator
  {
    ; The following rule disables all security in the repo
    trust-anchor
    {
      type any
    }

    ; ; These rules are examples to validate signed Interests for commands and data.
    ; ; One can define their own rules for signed Interests and Data packets to be
    ; ; inserted according to the Validator Configuration File Format.
    ; ; See https://named-data.net/doc/ndn-cxx/current/tutorials/security-validator-config.html
    ; rule
    ; {
    ;   id "Simple Rule For Interests"
    ;   for interest
    ;   filter
    ;   {
    ;     type name
    ;     name /example/repo/1
    ;     relation is-prefix-of
    ;   }
    ;   checker
    ;   {
    ;     type fixed-signer
    ;     sig-type rsa-sha256
    ;     signer
    ;     {
    ;       type file
    ;       ; repo-ng.cert.sample is a non-existent certificate.
    ;       ; One should create their certificates using the ndnsec tool.
    ;       file-name "repo-ng.cert.sample"
    ;     }
    ;   }
    ; }
    ;
    ; rule
    ; {
    ;   id "Simple Rule For Data"
    ;   for data
    ;   filter
    ;   {
    ;     type name
    ;     name /example/data/1
    ;     relation is-prefix-of
    ;   }
    ;   checker
    ;   {
    ;     type fixed-signer
    ;     sig-type rsa-sha256
    ;     signer
    ;     {
    ;       type file
    ;       ; repo-ng.cert.sample is a non-existent certificate.
    ;       ; One should create their certificates using the ndnsec tool.
    ;       file-name "repo-ng.cert.sample"
    ;     }
    ;   }
    ; }
  }
}
