about summary refs log tree commit diff
path: root/nixos/modules/services/misc/taskserver/default.nix
AgeCommit message (Collapse)AuthorFilesLines
9 daystaskwarrior2: rename from taskwarrior, with a warning aliasDoron Behar1-3/+3
Also remove an outdated link in `taskserver/default.md`.
2024-04-13nixos: remove all uses of lib.mdDocstuebinm1-24/+24
these changes were generated with nixq 0.0.2, by running nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix two mentions of the mdDoc function remain in nixos/, both of which are inside of comments. Since lib.mdDoc is already defined as just id, this commit is a no-op as far as Nix (and the built manual) is concerned.
2023-01-27nixos/manual: render module chapters with nixos-render-docspennae1-1/+1
this converts meta.doc into an md pointer, not an xml pointer. since we no longer need xml for manual chapters we can also remove support for manual chapters from md-to-db.sh since pandoc converts smart quotes to docbook quote elements and our nixos-render-docs does not we lose this distinction in the rendered output. that's probably not that bad, our stylesheet didn't make use of this anyway (and pre-23.05 versions of the chapters didn't use quote elements either). also updates the nixpkgs manual to clarify that option docs support all extensions (although it doesn't support headings at all, so heading anchors don't work by extension).
2023-01-10nixos/manual: move "edit the MD file" comments to generated XMLpennae1-1/+0
2023-01-10nixos/manual: generate module chapters with md-to-db.shpennae1-3/+2
2023-01-10nixos/manual: enable smart quotes for all MD chapterspennae1-1/+1
2023-01-10nixos/taskserver: convert manual chapter to MDpennae1-0/+2
2022-12-17nixos: fix typosfigsoda1-2/+2
2022-08-31nixos/*: convert options with admonitions to MDpennae1-12/+14
rendering changes only slightly, most changes are in spacing.
2022-08-06nixos/*: automatically convert option docspennae1-8/+8
2022-08-05nixos/*: normalize manpage references to single-line formpennae1-8/+3
now nix-doc-munge will not introduce whitespace changes when it replaces manpage references with the MD equivalent. no change to the manpage, changes to the HTML manual are whitespace only.
2022-07-30treewide: automatically md-convert option descriptionspennae1-28/+28
the conversion procedure is simple: - find all things that look like options, ie calls to either `mkOption` or `lib.mkOption` that take an attrset. remember the attrset as the option - for all options, find a `description` attribute who's value is not a call to `mdDoc` or `lib.mdDoc` - textually convert the entire value of the attribute to MD with a few simple regexes (the set from mdize-module.sh) - if the change produced a change in the manual output, discard - if the change kept the manual unchanged, add some text to the description to make sure we've actually found an option. if the manual changes this time, keep the converted description this procedure converts 80% of nixos options to markdown. around 2000 options remain to be inspected, but most of those fail the "does not change the manual output check": currently the MD conversion process does not faithfully convert docbook tags like <code> and <package>, so any option using such tags will not be converted at all.
2022-03-05nixos/taskserver: do not open firewall port implicitlypacien1-5/+9
This adds an option `services.taskserver.openFirewall` to allow the user to choose whether or not the firewall port should be opened for the service. This is no longer the case by default. See also https://github.com/NixOS/nixpkgs/issues/19504.
2022-03-05nixos/taskserver: port helper-tool to Python 3pacien1-1/+1
2022-01-26modules/taskserver: Minor updatePamplemousse1-5/+6
* documentation - update link - minor consistency update * make tests pass
2020-01-06treewide: use attrs instead of list for types.loaOf optionsrnhmjoj1-8/+8
2019-07-27nixos/taskserver: crl file is optionalarcnmx1-1/+1
2019-04-29treewide: Remove usage of isNullDaniel Schaefer1-2/+2
isNull "is deprecated; just write e == null instead" says the Nix manual
2019-02-22nixos: add preferLocalBuild=true; on derivations for config filesSymphorien Gibol1-1/+1
2018-07-20[bot] nixos/*: remove unused arguments in lambdasvolth1-1/+1
2018-07-20[bot]: remove unreferenced codevolth1-10/+0
2017-05-06nixos: revert changes from 3ab45f4b369c in taskserver modulePeter Simons1-1/+1
See https://github.com/NixOS/nixpkgs/commit/3ab45f4b369c9c741b55ddedeaac4c797dc61c04#commitcomment-22029298. Fixes https://github.com/NixOS/nixpkgs/issues/25529 (I hope).
2017-04-11treewide: use boolToString functionFranz Pletz1-1/+1
2017-03-17nixos/treewide: remove boolean examples for optionsFranz Pletz1-1/+0
They contain no useful information and increase the length of the autogenerated options documentation. See discussion in #18816.
2017-02-17taskserver: Remove taskserver from systemPackagesaszlig1-1/+1
This is deliberate because using the taskd binary to configure Taskserver has a good chance of messing up permissions. The nixos-taskserver tool now can manage even manual configurations, so there really is no need anymore to expose the taskd binary. If people still want to use the taskd binary at their own risk they can still add taskserver to systemPackages themselves. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2017-02-17taskserver: Pass configuration via command lineaszlig1-45/+84
Putting an include directive in the configuration file referencing a store path with the real configuration file has the disavantage that once we change the real configuration file the store path is also a different one. So we would have to replace that include directive with the new configuration file, which is very much error-prone, because whenever taskd modifies the configuration file on its own it generates a new one with *only* the key/value options and without any include directives. Another problem is that we only added the include directive on the first initalization, so whenever there is *any* configuration change, it won't affect anything. We're now passing all the configuration options via command line, because taskd treats everything in the form of --<name>=<value> to be a configuration directive. This also has the effect that we now no longer have extraConfig, because configuration isn't a file anymore. Instead we now have an attribute set that is mapped down to configuration options. Unfortunately this isn't so easy with the way taskd is configured, because there is an option called "server" and also other options like "server.cert", "server.key" and so on, which do not map very well to attribute sets. So we have an exception for the "server" option, which is now called "server.listen", because it specifies the listening address. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Fixes: #22705
2017-02-17taskserver: Allow helper tool in manual configaszlig1-2/+2
The helper tool so far was only intended for use in automatic PKI handling, but it also is very useful if you have an existing CA. One of the main advantages is that you don't need to specify the data directory anymore and the right permissions are also handled as well. Another advantage is that we now have an uniform management tool for both automatic and manual config, so the documentation in the NixOS manual now applies to the manual PKI config as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2017-02-07nixos: fix taskserver module to evaluate properly when keys are managed manuallyPeter Simons1-4/+4
2016-11-05types: loeOf -> listOfEric Sagnes1-2/+2
2016-10-12taskserver : use pythonPackage.buildPythonPackageregnat1-1/+1
2016-08-11modules: move meta at top levelEric Sagnes1-1/+2
2016-08-11manual: automatically generate modules entriesEric Sagnes1-1/+1
2016-06-12Escape all shell arguments uniformlyzimbatm1-2/+0
2016-04-28taskserver service: Really check that it is enabledTuomas Tynkkynen1-2/+2
2016-04-15nixos/taskserver: Fix reference to certtool.aszlig1-1/+1
With the merge of the closure-size branch, most packages now have multiple outputs. One of these packages is gnutls, so previously everything that we needed was to reference "${gnutls}/bin/..." and now we need to use "${gnutls.bin}/bin/...". So it's not a very big issue to fix. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Fix wrong option doc referencesaszlig1-3/+3
The options client.allow and client.deny are gone since the commit 8b793d1916387c67f8eeb137789b1b41a1f94537, so let's fix that. No feature changes, only fixes the descriptions of allowedClientIDs and disallowedClientIDs. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Restart service on failureaszlig1-0/+1
This is the recommended way for long-running services and ensures that Taskserver will keep running until it has been stopped manually. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Improve service dependenciesaszlig1-2/+3
Using requiredBy is a bad idea for the initialisation units, because whenever the Taskserver service is restarted the initialisation units get restarted as well. Also, make sure taskserver-init.service will be ordered *before* taskserver.service. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Set up service namespacesaszlig1-0/+7
The Taskserver doesn't need access to the full /dev nor does it need a shared /tmp. In addition, the initialisation services don't need network access, so let's constrain them to the loopback device. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Set allowedTCPPorts accordinglyaszlig1-0/+8
As suggested by @matthiasbeyer: "We might add a short note that this port has to be opened in the firewall, or is this done by the service automatically?" This commit now adds the listenPort to networking.firewall.allowedTCPPorts as soon as the listenHost is not "localhost". In addition to that, this is now also documented in the listenHost option declaration and I have removed disabling of the firewall from the VM test. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Reorder into one mkMergeaszlig1-132/+132
No changes in functionality but rather just restructuring the module definitions to be one mkMerge, which now uses mkIf from the top-level scope of the CA initialization service so we can better abstract additional options we might need there. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Setup CA before main serviceaszlig1-0/+1
We need to explicitly make sure the CA is created before we actually launch the main Taskserver service in order to avoid race conditions where the preStart phase of the main service could possibly corrupt certificates if it would be started in parallel. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Introduce an extraConfig optionaszlig1-2/+11
This is simply to add configuration lines to the generated configuration file. The reason why I didn't went for an attribute set is that the taskdrc file format doesn't map very well on Nix attributes, for example the following can be set in taskdrc: server = somestring server.key = anotherstring In order to use a Nix attribute set for that, it would be way too complicated, for example if we want to represent the mentioned example we'd have to do something like this: { server._top = somestring; server.key = anotherstring; } Of course, this would work as well but nothing is more simple than just appending raw strings. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Allow to specify expiration/bitsaszlig1-12/+54
At least this should allow for some customisation of how the certificates and keys are created. We now have two sub-namespaces within PKI so it should be more clear which options you have to set if you want to either manage your own CA or let the module create it automatically. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Silence certtool everywhereaszlig1-7/+15
We only print the output whenever there is an error, otherwise let's shut it up because it only shows information the user can gather through other means. For example by invoking certtool manually, or by just looking at private key files (the whole blurb it's outputting is in there as well). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-12nixos/taskserver: Add a command to reload serviceaszlig1-0/+1
Unfortunately we don't have a better way to check whether the reload has been done successfully, but at least we now *can* reload it without figuring out the exact signal to send to the process. Note that on reload, Taskserver will not reload the CRL file. For that to work, a full restart needs to be done. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-11nixos/taskserver: Generate a cert revocation listaszlig1-0/+13
If we want to revoke client certificates and want the server to actually notice the revocation, we need to have a valid certificate revocation list. Right now the expiration_days is set to 10 years, but that's merely to actually get certtool to actually generate the CRL without trying to prompt for user input. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-11nixos/taskserver: Constrain server cert permsaszlig1-3/+7
It doesn't do much harm to make the server certificate world readable, because even though it's not accessible anymore via the file system, someone can still get it by simply doing a TLS handshake with the server. So this is solely for consistency. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-11nixos/taskserver: Handle declarative conf via JSONaszlig1-16/+4
We now no longer have the stupid --service-helper option, which silences messages about already existing organisations, users or groups. Instead of that option, we now have a new subcommand called "process-json", which accepts a JSON file directly from the specified NixOS module options and creates/deletes the users accordingly. Note that this still has a two issues left to solve in this area: * Deletion is not supported yet. * If a user is created imperatively, the next run of process-json will delete it once deletion is supported. So we need to implement deletion and a way to mark organisations, users and groups as "imperatively managed". Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-11nixos/taskserver: Link to manual within .enableaszlig1-2/+11
With <olink/> support in place, we can now reference the Taskserver section within the NixOS manual, so that users reading the manpage of configuration.nix(5) won't miss this information. Signed-off-by: aszlig <aszlig@redmoonstudios.org>