diff options
author | Bryan Bishop <kanzure@gmail.com> | 2010-10-29 19:46:24 -0500 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2010-10-29 19:46:24 -0500 |
commit | 7786ce2a332b0eba4b3ca7c57f906a32e8715da3 (patch) | |
tree | 5a9fe32b69a93f41ae2ac82a50788fe50c0d86fb /docs/architecture/data.mdwn | |
parent | 413373be9ab30eb21b564cdc180cb2dcda77bfeb (diff) | |
download | piny-code-7786ce2a332b0eba4b3ca7c57f906a32e8715da3.tar.gz piny-code-7786ce2a332b0eba4b3ca7c57f906a32e8715da3.zip |
Starting repo cleanup to make this not so awful
Diffstat (limited to 'docs/architecture/data.mdwn')
-rw-r--r-- | docs/architecture/data.mdwn | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/architecture/data.mdwn b/docs/architecture/data.mdwn new file mode 100644 index 0000000..a81a268 --- /dev/null +++ b/docs/architecture/data.mdwn @@ -0,0 +1,19 @@ +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. + +[[!table format=dsv delimiter=# data=""" +datum #stored location #constraint +username #usually $ENV{SUDO_USER} # !~ /^git-|^ikiwiki-/ and =~ /^[a-zA-Z0-9_.][a-zA-Z0-9_.-]+$/ +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 +"""]] |