.Dd 24 november 2024 .Dt "dnsmanagerctl" 1 .Os Linux "(Ubuntu and Alpine)" .Sh Name .Nm dnsmanagerctl .Nd a client for the .Xr dnsmanagerd 1 service. .Sh Description .Nm dnsmanagerctl is a client for the .Xr dnsmanagerd 1 service, a micro-service providing DNS domains and zones management. .Sh Synopsis . .Nm dnsmanagerctl .Op Fl h .Ar COMMAND No .Op Ar help .Op Fl v Ar verbosity .Op Fl -project Ar project-name .in .Ar COMMAND No can be: .Bl -tag -width " print functions" -compact .It Li admin Admin operations .It Li user Simple user operations .El For .Ar admin COMMAND: .Bl -tag -width " print functions" .It Li maintenance Maintenance operation of the website Example: .Ar admin maintenance Subject .Op value Subject can be: .Ar Verbosity , SanityCheck . .br .Ar Value for Verbosity is the verbosity-level [0-4]. .It Li genzone Generate a zone file Usage: .Ar admin genzone domain .br Example: .Ar admin genzone example.netlib.re .It Li genall Generate all zone files Usage: .Ar admin genall .It Li provide-domain Create a domain for someone Usage: .Ar admin provide-domain login domain .br Example: .Ar admin provide-domain login example.netlib.re .It Li migration-script Migrate domains from dnsmanager v1; this shouldn't be a concern for anyone. Usage: .Ar admin migration-script user-db.txt .br The .Em user-db file must be formated as: .in +4 nb-domains login domain1 domain2 domain3... .in -4 See .Pa migration.mk for more information. .El For .Ar user COMMAND: .Bl -tag -width " print functions" .It Li domain Domain operations Available commands: .br .Em user domain add domain No [domain...] .br .Em user domain del domain No [domain...] .br .Em user domain list .It Li zonefile Get a the generated zonefile Usage: .Em user zonefile domain No [domain...] .It Li zone Zone operations Usage: .br .Em user zone add No [...] .br .Em user zone del domain No [domain...] .br .Em user zone get domain No [domain...] .br .Em user zone list .It Li rr Zone Resource Record operations Usage: .br .Em user rr add No [A|AAAA|CNAME|MX|SRV|TXT|NS] .br .Em user rr update No [A|AAAA|CNAME|MX|SRV|TXT|NS|SOA] .br .Em user rr del No .El After the command is passed, you can always put the .Ar -h No flag to learn about the next parameters to give. .Sh Configuration Configuration for .Xr dnsmanagerctl is split into two files: the one related to the authentication dans the one related to dnsmanagerd. Some parameters will reasonably come from a configuration file instead of the command-line interface, at least for .Dq login and .Dq password . By default, authentication configuration is read from .Pa $XDG_CONFIG_HOME/baguette/auth.yml or .Pa /etc/baguette/auth.yml , exactly as the .Xr authd 1 daemon and its .Xr authctl 1 client. Configuration file is in YAML, see the following example: .in +4 Authentication configuration, by default in .Pa $XDG_CONFIG_HOME/baguette/auth.yml : .nf login: john42 password: banana .fi .in In this example, the login and password of the user are set. The .Xr authctl application won't require them as command-line parameters for performing authenticated actions. .Sh Configuration file variables The following presents the complete list of configuration file variables. Configuration for authentication, by default in .Pa $XDG_CONFIG_HOME/baguette/auth.yml : .Bl -tag -width "Li password" -compact .It Li verbosity Int32, 4 ([0-4], .Dq 0 being quiet and .Dq 4 meaning printing debug values) . .It Li login String, empty by default. . .It Li password String, empty by default. .El TODO: expand the documentation .Sh Options .Bl -tag -width "-t activation-template-name," .It Li -v No verbosity , Li --verbosity No level Verbosity level. From 0 to 4. Default: 4. . .It Li -h , --help Show some help, but won't cover as much as the actual manual. .El .Sh Detailed command arguments TODO: expand the documentation .Sh Detailed description The code is based on the .Xr libipc 7 library and (trivial) JSON requests, enabling a simple API to exchange messages between two applications on the same machine. .Sh See also TODO: expand the documentation .Bl -bullet -compact . .It .Xr libipc 7 the documentation of the way libipc works . .It .Xr authd 1 the authentication and authorization daemon related to this client. . .It Xr authctl 1 a command-line-interface client for .Xr authd . .It .Xr dnsmanagerd 1 a DNS manager service using .Xr authd to handle users (authentication, authorization, preferences and profile) .El The Document-oriented DataBase (DoDB) library used in .Xr dnsmanagerd . .br .Lk https://git.baguette.netlib.re/Baguette/dodb.cr dodb .Sh Limitations TODO: expand the documentation