|
| 1 | +# Contribute guide |
| 2 | + |
| 3 | +Feel free to contribute to this project. |
| 4 | + |
| 5 | +## Table of contents |
| 6 | + |
| 7 | +Sections: |
| 8 | + |
| 9 | +- [Example configs & hooks](root/defaults/example/README.md) |
| 10 | +- [Guides](docs/README.md) |
| 11 | +- [Helper Scripts](root/app/README.md) |
| 12 | +- [Modules](root/defaults/module/README.md) |
| 13 | + |
| 14 | +## Syntax |
| 15 | + |
| 16 | +- Identation: tab (4 spaces width) |
| 17 | +- Javadoc style documentation |
| 18 | + |
| 19 | +## Directory structure of project |
| 20 | + |
| 21 | +``` |
| 22 | +/app # Utils (part of image) |
| 23 | + bin # Scripts for using this image |
| 24 | +/config # Configuration dir (all config is here, generated on container start) |
| 25 | + openvpn # Openvpn configuration |
| 26 | + ccd # Client config directory |
| 27 | + client # Client configuration directory |
| 28 | + <clientconffile>.conf # Base for building client config (all files merged) |
| 29 | + server # Server configuration directory |
| 30 | + <name>.conf # Server config files (all files merged) |
| 31 | + pki |
| 32 | + ca.crt # CA certificate |
| 33 | + certs by serial # Certs by Serial ID |
| 34 | + <serial-id-cert>.pem |
| 35 | + crl.pem # CRL |
| 36 | + dh.pem |
| 37 | + index.txt # Database index file |
| 38 | + issued |
| 39 | + <name>.crt # Certificates |
| 40 | + private # Directory with private keys |
| 41 | + ca.key # CA secret |
| 42 | + <name>.key # Certificate secrets |
| 43 | + reqs # Directroy with signing requests |
| 44 | + serial # The current serial number |
| 45 | + ta.key # Secret for tls-auth, tls-crypt |
| 46 | + ssl |
| 47 | + safessl-easyrsa.cnf |
| 48 | + vars |
| 49 | + example # Example configs |
| 50 | + config # Example client & server configs (see root/defaults/example/README.md) |
| 51 | + hook # Example hook configs |
| 52 | + module # Modules for openvpn |
| 53 | + hooks # Put your custom scripts in one of subfolders |
| 54 | + init # Init container |
| 55 | + route-up # After routes are added |
| 56 | + route-pre-down # Before routes are removed |
| 57 | + up # After interface is up |
| 58 | + down # After interface is down |
| 59 | + client-connect # Client connected |
| 60 | + client-disconnect # Client disconnected |
| 61 | + learn-address |
| 62 | + tls-verify # Check certificate |
| 63 | + auth # On authentication (needs to be enabled in config) |
| 64 | + system.conf # System OpenVPN config file (do not edit, unless instructed) |
| 65 | + include-server.conf # File that includes all server configuration files (automatically generated) |
| 66 | + donotdelete # Leave this file alone, if deleted it triggers full setup |
| 67 | +/defaults # Default configuration, which is copied into config on full setup |
| 68 | + example # Examples |
| 69 | + config # Example configs |
| 70 | + hook # Example hooks |
| 71 | + module # Modules (for example password authentication ...) |
| 72 | + system.conf # Original server config |
| 73 | +/etc # System config |
| 74 | + cont-init.d # Scripts run before services are started |
| 75 | + fix-attrs.d # Fix file permissions |
| 76 | + logrotate.d # Log settings |
| 77 | + services.d # Scripts that start services |
| 78 | +``` |
| 79 | + |
| 80 | +## Useful links |
| 81 | + |
| 82 | +**Project:** |
| 83 | + |
| 84 | +- [Versioning](https://semver.org/) |
| 85 | +- [Container labels](https://github.com/opencontainers/image-spec/blob/master/annotations.md) |
| 86 | +- [Container badges](https://microbadger.com/about) |
| 87 | +- [s6 overlay](https://github.com/just-containers/s6-overlay) |
| 88 | + |
| 89 | +**OpenVPN:** |
| 90 | + |
| 91 | +- [OpenVPN docs](https://community.openvpn.net/openvpn/wiki/GettingStartedwithOVPN) |
| 92 | +- [EasyRSA](https://community.openvpn.net/openvpn/wiki/GettingStartedwithOVPN) |
0 commit comments