diff options
author | Joe Rayhawk <jrayhawk@omgwallhack.org> | 2011-05-13 14:54:08 -0700 |
---|---|---|
committer | Joe Rayhawk <jrayhawk@omgwallhack.org> | 2011-05-13 14:54:08 -0700 |
commit | 9a8be1d87c03fbcdbc7b62e1369cdfe3f5aba193 (patch) | |
tree | 472990151d1cd10140ddebb2fe0047ffc96ce3fb /docs | |
parent | bde32987fd3b9ccb1c830bb290fa4008b3a8c84c (diff) | |
download | piny-code-9a8be1d87c03fbcdbc7b62e1369cdfe3f5aba193.tar.gz piny-code-9a8be1d87c03fbcdbc7b62e1369cdfe3f5aba193.zip |
Partially bringing data.mdwn up to date
Diffstat (limited to 'docs')
-rw-r--r-- | docs/architecture/data.mdwn | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/docs/architecture/data.mdwn b/docs/architecture/data.mdwn index cc824ab..76e69ea 100644 --- a/docs/architecture/data.mdwn +++ b/docs/architecture/data.mdwn @@ -1,19 +1,16 @@ -Data model! - -Dynamic data lookup should opportunisticly cache any associated cheap data. For instance, there are three data from stat(/srv/git/$reponame.git), so looking up one should grab the others. Jules points out that everything here is inherently cached, and I should be using getpw*() for passwd parsing. +# Data model [[!table format=dsv delimiter=# data=""" -datum #stored location #constraint -username #usually $ENV{SUDO_USER} # !~ /^git-|^iki-/ and =~ /^[a-zA-Z][a-zA-Z0-9_.-]{0,30}$/ -uid #/etc/passwd # None -email #/etc/passwd GECOS #Email::Valid::Loose->new("-fqdn" => 1, "-fudge" => 0, "-local_rules" => 0, "-mxcheck" => 1, "-tldcheck" => 0 ); -repoaccess #/etc/group git-$reponame entry # None -reponame #/srv/git/$reponame.git # =~ /^[a-z0-9][a-z0-9.-]*$/ -repodescription #/srv/git/$reponame.git/description # =~ /^[\x{0020}-\x{FDCF}\x{FDF0}-\x{FFFD}]{1,80}$/ -repoowner #stat /srv/git/$reponame.git/objects uid; might be better as first non-ikiwiki user in /etc/group git-$reponame entry # None -repoglobalwritable #stat /srv/git/$reponame.git/objects o+w bit # None -repoglobalreadable #stat /srv/git/$reponame.git/objects o+r bit # None -repoikiwikidisable #probably in /srv/git/$reponame.git/config # None -repointernaltemplates #probably in /srv/git/$reponame.git/config # None -repospecialdomain #probably in /srv/git/$reponame.git/config # None +datum # stored location #constraint +username # usually $ENV{SUDO_USER} # !~ /^git-|^iki-/ and =~ /^[a-zA-Z][a-zA-Z0-9_.-]{0,30}$/ +uid # /etc/passwd # >= 1000 +user.email # pinyconfig # Email::Valid::Loose->new("-fqdn" => 1, "-fudge" => 0, "-local_rules" => 0, "-mxcheck" => 1, "-tldcheck" => 0 ); +repoaccess # /etc/group git-$reponame # None +reponame # /srv/git/$reponame.git # =~ /^[a-z0-9][a-z0-9.-]*$/ +repodescription # /srv/git/$reponame.git/description # =~ /^[\x{0020}-\x{FDCF}\x{FDF0}-\x{FFFD}]{1,80}$/ +repoowner # /srv/git/$reponame.git/objects owner # None +core.sharedrepository # pinyconfig # =~ /^(0666|0664|all|world|everybody|0660|group|true|0640)$/ +piny.ikiwiki # pinyconfig # =~ /^(1|0|true|false)$/ +piny.ikiwikitemplates # TODO, presumably pinyconfig # None +piny.ikiwikidomain # TODO, presumably pinyconfig # None """]] |