aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* release Consfigurator 0.14.0 (-1 to Debian unstable)v0.14.0debian/0.14.0-1archive/debian/0.14.0-1Sean Whitton2022-02-02
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* d/copyright: update years for David Bremner to include 2022Sean Whitton2022-02-02
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* Add some properties to install and configure PostgresqlDavid Bremner2022-02-02
| | | | | | | To do common tasks like adding users in an idempotent way requires some non-obvious incantations, so it is worth providing properties for these tasks. Signed-off-by: David Bremner <david@tethera.net>
* Revert "OS:TYPECASE, OS:ETYPECASE: simplify Emacs indentation information"Sean Whitton2022-01-29
| | | | | | | | | This reverts commit f8de3e0ad39a80309fd0c94a9c6864dbb07ec3c8. I can't find the (as foo) form documented anywhere. I am not sure why I thought it would work. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* GNUPG:SECRET-KEY-IMPORTED :DESC: refer to secret not public keysSean Whitton2022-01-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* introduction.rst: use a more interesting regular expressionSean Whitton2021-12-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* installation.rst: drop a comma, for claritySean Whitton2021-12-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* Sphinx configuration: set texinfo_documentsSean Whitton2021-12-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* in examples, use fewer of my personal hostnames & domainsSean Whitton2021-12-27
| | | | | | | Additionally, in conventions.rst, fix an example of the :SUDO connection type to use the correct hostname for looking up the password. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* doc/: fix some broken external linksSean Whitton2021-12-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add news.rst & define a semantics for Consfigurator version numbersSean Whitton2021-12-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* src/property/file.lisp: unless mode supplied, create missing dirsSean Whitton2021-12-27
| | | | | | | | | | | | | | | | | This means you can apply properties like FILE:HAS-CONTENT without also having to explicitly apply FILE:{CONTAINING-,}DIRECTORY-EXISTS or similar. If missing intermediate directories need to have particular modes or ownership, it is easy to apply properties to ensure those directories exist with those attributes before applying the property which will create the file. Then there are no missing directories for the latter property to create. In the case where a mode for the file is supplied, leave it to the caller to create the directories, as a safety measure (see 487a473390). In the future we might create missing intermediate directories based on a supplied mode, such as creating them 0750 when the supplied mode is 0640. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* FILE:{HOST-,}SECRET-UPLOADED: don't create missing intermediate dirsSean Whitton2021-12-27
| | | | | | | | As we are uploading secrets, perhaps some of those directories need to be created with permissions other than 0755, so as a safety measure, leave it to the caller to create them. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APACHE:HTTPS-VHOST: put user's config before http->https redirectSean Whitton2021-12-22
| | | | | | This allows selectively overriding that redirect. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APT:USES-LOCAL-CACHER: use an IP address, not a name, for localhostSean Whitton2021-12-18
| | | | | | | | | | | The --variant=buildd argument to debootstrap(8), used by default by SBUILD:BUILT, produces a chroot without any /etc/hosts file. Thus processes in the chroot, including apt(8), may not be able to resolve "localhost". This is relevant to the case of APT:USES-LOCAL-CACHER outside the chroot and APT:USES-PARENT-PROXY within, as suggested by SBUILD:BUILT's docstring. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* release Consfigurator 0.13.0 (-1 to Debian unstable)v0.13.0debian/0.13.0-1archive/debian/0.13.0-1Sean Whitton2021-12-15
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* DATA.FILES-TREE docstring: state that IDEN1 can be a nested subdirSean Whitton2021-12-15
| | | | | | | The existing text does not imply that IDEN1 has to be right under LOCATION, but let's make it explicit. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* DATA.FILES-TREE docstring: minor formatting and wording changesSean Whitton2021-12-15
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add :FILES-TREE data sourceDavid Bremner2021-12-15
| | | | | | | This allows the user to conveniently maintain a set of files in their consfig tree (or elsewhere) for deployment as data. Signed-off-by: David Bremner <david@tethera.net>
* rename combinator UNAPPLY->UNAPPLIED and add new UNAPPLY macroSean Whitton2021-12-13
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* PROPSPEC class definition: refactor to avoid unneeded HANDLER-CASESean Whitton2021-12-13
| | | | | Suggested-by: Yehouda Harpaz <yeh@lispworks.com> Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* IN-CONSFIG: don't accept NIL as argumentSean Whitton2021-12-13
| | | | | | | | | | | | | If *CONSFIG* is NIL because the user called (in-consfig nil), then initialising a propspec without any supplied list of ASDF systems will still result in a NO-CONSFIG warning, the text of which suggests calling IN-CONSFIG. For now, avoid that situation by disallowing (in-consfig nil). If the user doesn't want to use the *CONSFIG* feature, it is probably best if they muffle the warning or explicitly supply a list of ASDF systems in each piece of code that initialises propspecs, rather than declaring (in-consfig nil). Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add POSTFIX:DAEMON-SOCKET-DIRECTORYSean Whitton2021-12-09
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* introduction.rst: fix FILE:CONTAINS-LINES exampleSean Whitton2021-12-08
| | | | | Reported-by: Andreas Reuleaux <rx@a-rx.info> Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* CRON:RUNS-CONSFIGURATOR: make unapplicableSean Whitton2021-12-07
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* CRON:SYSTEM-JOB: make unapplicable & use FILE:EXISTS-WITH-CONTENTSean Whitton2021-12-07
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APACHE:HTTPS-VHOST: note that doesn't currently install renewal hookSean Whitton2021-12-07
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add LETS-ENCRYPT:CERTIFICATE-OBTAINED-STANDALONESean Whitton2021-12-03
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* signal a warning, not an error, when *CONSFIG* is not setSean Whitton2021-12-03
| | | | | | | | | *CONSFIG* is meant to be an optional feature, and this should make it easier to write code which doesn't use it. For example, code running in an IMAGE-DUMPED image might use (deploy-these :local ...) to build a propspec, but *PACKAGE* is likely to be COMMON-LISP-USER, not the user's consfig. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* CONTINUE-DEPLOY*-PROGRAM: initialise special variablesSean Whitton2021-12-03
| | | | | | Before this change, the variables would be unbound in IMAGE-DUMPED images. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APACHE:HTTPS-VHOST http->https: use %{SERVER_NAME} & HTTP status 301Sean Whitton2021-12-02
| | | | | | The use of %{SERVER_NAME} makes the configuration line a constant value. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APACHE:HTTPS-VHOST: narrow the scope of .well-known rewrite ruleSean Whitton2021-12-02
| | | | | | | The new rule is sufficient for the Let's Encrypt challenge to succeed, and has the advantage of avoiding interference with other subpaths of .well-known/. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* release Consfigurator 0.12.3 (-1 to Debian unstable)v0.12.3debian/0.12.3-1archive/debian/0.12.3-1Sean Whitton2021-11-28
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* define +ALPHANUM+ at compile time tooSean Whitton2021-11-28
| | | | | | | Necessary because we use #.(length +alphanum+) later in the file. Reported-by: Yehouda Harpaz <yeh@lispworks.com> Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* replace usage of UIOP version comparison utilities with our ownSean Whitton2021-11-28
| | | | | | | | | DATA.GIT-SNAPSHOT generates version numbers like 2342423.ab09890f2bcd where only the first, purely numerical component is intended for comparison, and the second component is just additional information. UIOP's utilities don't give the correct answers for cases like that; e.g. (uiop:version<= "1.a" "0") => T. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* EVAL-IN-REINVOKED: use a more descriptive name for the dumped imageSean Whitton2021-11-28
| | | | | | The name will show up in, e.g., top(1) inside containers. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* LXC:LXC-LS: always pass -1 command line argumentSean Whitton2021-11-28
| | | | | | | | With most connection types stdout is not a tty and so we get one entry per line anyway. However, unless we explicitly pass -1, lxc-ls(1) can add unwanted trailing whitespace to these lines. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* LINES: support trimming the linesSean Whitton2021-11-20
| | | | | | TRIMFUN will typically be STRING-TRIM, STRING-LEFT-TRIM or STRING-RIGHT-TRIM. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* release Consfigurator 0.12.2 (-1 to Debian unstable)v0.12.2debian/0.12.2-1archive/debian/0.12.2-1Sean Whitton2021-11-15
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* fixes to permit dumping and reinvoking and then dumping againSean Whitton2021-11-14
| | | | | | | | | | | | | | | | | | - Update stored checksums when reinvoking, else the SBCL-specific checks in %DUMP-CONSFIGURATOR-IN-GRANDCHILD will always fail in reinvoked images. - Also update *US* when reinvoking; previously, the code in IMAGE-DUMPED to skip the dump when the target filename is the executable we're running from was using the old value of *US* and thus would probably never skip the dump. - Don't abort the dump just because the target filename is the executable we're running from (I believe the restriction was accidentally included when refactoring a previous work-in-progress version of fbe55a361f). - %DUMP-CONSFIGURATOR-IN-GRANDCHILD: ensure we remove the hook which evaluates the parent process's request so it doesn't get run again. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* *US*: use SB-EXT:*RUNTIME-PATHNAME* not SB-EXT:*CORE-PATHNAME*Sean Whitton2021-11-14
| | | | | | SB-EXT:*RUNTIME-PATHNAME* is the path to the executable. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add HAS-HOSTATTRSSean Whitton2021-11-14
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* FILE:{DATA,SECRET}-UPLOADED: add descriptionsSean Whitton2021-11-11
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* always use CL, ANAPHORA, ALEXANDRIA and CONSFIGURATOR packagesSean Whitton2021-11-11
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add RANDOM-ALPHANUMERICSean Whitton2021-11-11
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* release Consfigurator 0.12.1 (-1 to Debian unstable)v0.12.1debian/0.12.1-1archive/debian/0.12.1-1Sean Whitton2021-11-09
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* avoid trying to define +NAMESPACE-TYPES+ at all on non-LinuxSean Whitton2021-11-09
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* LXC:USER-CONTAINER-FOR docstring: fix typoSean Whitton2021-11-09
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* avoid unbound variable error on older kernels without CLONE_NEWTIMESean Whitton2021-11-09
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* INSTALLER:CLEANLY-INSTALLED-ONCE: fix type of :REMOTE-HOME connattrSean Whitton2021-11-09
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>