Admin Panel

๐Ÿพ Tigler โ€” Lightweight Git Web Interface


Tigler is a minimalist, forensic-friendly Git web interface built for clarity, auditability, and modular integration. It supports browsing, settings management, and repository creation with LDAP-backed authentication.



๐Ÿš€ Features


  • ๐Ÿ” Browse Git repositories via default branch or specific refs
  • ๐Ÿ›  Edit repository metadata (.meta) with ACLs and descriptions
  • ๐Ÿ” LDAP-based login/logout with session tracking
  • ๐Ÿง  Context-aware routing (user, repo, branch, subpath)
  • ๐Ÿ“ Bare repo creation with normalized naming and metadata
  • ๐Ÿงพ XML-based .meta format for permissions and audit trails
  • ๐ŸŽจ Clean UI with CSS-driven state transitions and error overlays



๐Ÿ“ฆ Structure


tigler/
โ”œโ”€โ”€ src/main/java
โ”‚   โ””โ”€โ”€ GitDetectFilter.java # Routes Git clients to GitServlet, others to TigServlet 
โ”‚   โ””โ”€โ”€ GitServlet.java # handle git commands
โ”‚   โ””โ”€โ”€ TigServlet.java # Handles UI, repo browsing, settings, creation 
โ”‚   โ””โ”€โ”€ RepoMeta.java # Record for .meta structure 
โ”‚
โ””โ”€โ”€ src/main/webapp
    โ”œโ”€โ”€ WEB-INF/ 
    โ””โ”€โ”€ web.xml # Servlet/filter mappings 
    โ””โ”€โ”€ jsp/views
	     โ””โ”€โ”€ 	overview.jsp
	     โ””โ”€โ”€ userRepos.jsp
	     โ””โ”€โ”€ repoView.jsp
	     โ””โ”€โ”€ settings.jsp



โš™๏ธ Configuration


Set the following environment variables:

git.repoBase     = /path/to/the/repos
git.ldapUrl      = ldap://localhost:389
git.userBaseDn   = ou=people,dc=serveronline,dc=org



๐Ÿงช Development Notes


All routing is context-aware (/git/user/repo)

.meta files are parsed into RepoMeta records

Use RepoMeta.fromRequest(req) and writeMeta(file, meta) for consistency

Git clients are detected via User-Agent and path heuristics

UI actions (createRepo, updateSettings) are handled in TigServlet.doPost()



๐Ÿ”’ Permissions Model


<git public="true">
  <description>...</description>
  <branch>main</branch>
  <permissions>
    <admins><member>alice</member></admins>
    <readers><member>bob</member></readers>
    <writers><member>carol</member></writers>
  </permissions>
</git>



๐Ÿ“œ License


MIT โ€” see LICENSE.txt.



๐Ÿ“ฌ Contact


For questions or contributions: stefan [at] franke [dot] ms