the-bastion/doc/HIERARCHY.md
Stéphane Lesimple ae1bcbf223
release v3.00.01
2020-11-06 15:22:12 +00:00

2.3 KiB

man 7 hier

The Bastion directory hierarchy is organized as follows:

  • bin
    • bin/admin: scripts that are supposed to be launched manually by an admin where needed
    • bin/cron: scripts that are launched from cronjobs
    • bin/proxy: the http proxy daemon and worker live here
    • bin/dev: scripts that are useful when developing for the bastion
    • bin/helper: modules that are called under sudo by the plugins, to execute privileged operations
    • bin/plugin: base directory (must not contain any files) of the plugins that can be used with —osh
      • bin/plugin/admin: plugins that can only be launched by bastion admins
      • bin/plugin/group-aclkeeper: plugins that can only be launched by group aclkeepers
      • bin/plugin/group-gatekeeper: plugins that can only be launched by group gatekeepers
      • bin/plugin/group-owner: plugins that can only be launched by group owners
      • bin/plugin/open: plugins that can be launched by any user
      • bin/plugin/restricted: plugins that can be launched only by users that are explicitly granted on said plugins
    • bin/shell: where resides the main script that is declared as the shell of the bastion users, with some of its helpers
    • bin/sudogen: where resides the helper script that generate group and account sudoers files
    • bin/other: other helper scripts for various tasks
  • contrib: third-party files that might be of interest integrating The Bastion in your company
  • doc: sysadmin-proof documentation folder, the main Markdown files you need are there, just one view apart
    • doc/sphinx: more complete documentation using the sphinx documentation system, the built version is viewable on https://ovh.github.io/the-bastion/, otherwise the .rst files can be read with any text editor
  • docker: where the Dockerfiles reside
  • etc: contains all the template configuration files that will be installed on your system (depending on your install options)
  • install: where optional modules can push their install script to be called by the main install script
  • lib
    • lib/perl: where all the Perl libraries live, used everywhere in the main code
    • lib/shell: where all the Bash libraries live, usually sourced by Bash scripts
  • tests
    • tests/functional: contains all the tools to manage the functional testing framework
    • tests/unit: where the unit tests live