summaryrefslogtreecommitdiff
path: root/architecture
diff options
context:
space:
mode:
authorJoe Rayhawk <jrayhawk@omgwallhack.org>2009-09-17 15:50:44 -0700
committerJoe Rayhawk <jrayhawk@omgwallhack.org>2009-09-17 15:50:44 -0700
commit6874b7740a278eff08ec5d3cf2b13ca1df669963 (patch)
treec219d46f702f9c3675fc4e28484166d367b7e07d /architecture
parent57cc3cfb97651145ee119a03cdb3282274902257 (diff)
parent5cb17a0bc2a13e1e7b019b270c7bb586d28f9557 (diff)
downloadpiny-code-6874b7740a278eff08ec5d3cf2b13ca1df669963.tar.gz
piny-code-6874b7740a278eff08ec5d3cf2b13ca1df669963.zip
Merge branch 'master' of git+ssh://piny.be/srv/git/piny-code
Diffstat (limited to 'architecture')
-rw-r--r--architecture/data.mdwn29
1 files changed, 13 insertions, 16 deletions
diff --git a/architecture/data.mdwn b/architecture/data.mdwn
index 969cc5a..ce951e0 100644
--- a/architecture/data.mdwn
+++ b/architecture/data.mdwn
@@ -1,22 +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. /etc/password parsing would be similar.
+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 uid; might be better as first non-ikiwiki user in /etc/group git-$reponame entry #None
-repoglobalwritable #stat /srv/git/$reponame.git all write bit #None
-repoglobalreadable #stat /srv/git/$reponame.git all read bit #None
-repoikiwikidisable #UNDECIDED; probably in /srv/git/$reponame.git #None
-repointernaltemplates #UNDECIDED; probably in /srv/git/$reponame.git #None
-repospecialdomain #UNDECIDED; probably in /srv/git/$reponame.git #None
-
-
+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 uid; might be better as first non-ikiwiki user in /etc/group git-$reponame entry # None
+repoglobalwritable #stat /srv/git/$reponame.git all write bit # None
+repoglobalreadable #stat /srv/git/$reponame.git all read bit # None
+repoikiwikidisable #UNDECIDED; probably in /srv/git/$reponame.git # None
+repointernaltemplates #UNDECIDED; probably in /srv/git/$reponame.git # None
+repospecialdomain #UNDECIDED; probably in /srv/git/$reponame.git # None
"""]]
-