aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-02-27 14:54:40 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-02-27 14:54:59 -0700
commit15ef751ac3f587a28baca862bd05305646bacb3b (patch)
treefa97268bc0310114c6ad25052611b4e17f5d6054
parent61e5e3b024664d2b2549562efd915cf8b165b8e1 (diff)
downloadconsfigurator-15ef751ac3f587a28baca862bd05305646bacb3b.tar.gz
notes on interactive shell connection types
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--README.rst17
-rw-r--r--doc/ideas.rst7
2 files changed, 16 insertions, 8 deletions
diff --git a/README.rst b/README.rst
index 3c7aab2..1b4dac5 100644
--- a/README.rst
+++ b/README.rst
@@ -6,13 +6,14 @@ Common Lisp. You can use it to configure hosts as root, deploy services as
unprivileged users, build and deploy containers, and produce disc images.
Consfigurator's design gives you a great deal of flexibility about how to
-control the hosts you want to configure. Input and output streams attached to
-an interactive POSIX sh running on the target host (or in the target
-container) is sufficient to use much of Consfigurator's functionality. But if
-it is possible to get an implementation of Common Lisp started up on the host,
-then Configurator can transparently execute your deployment code over on the
-remote side, rather than exchanging information via POSIX sh. This lets you
-use the full power of Common Lisp to deploy your configuration.
+control the hosts you want to configure. If you can run a command which will
+obtain input and output streams attached to an interactive POSIX sh running on
+the target host/in the target container, then you use much of Consfigurator's
+functionality to configure that host or container. But if it is possible to
+get an implementation of Common Lisp started up on the host, then Configurator
+can transparently execute your deployment code over on the remote side, rather
+than exchanging information via POSIX sh. This lets you use the full power of
+Common Lisp to deploy your configuration.
Configurator has convenient abstractions for combining these different ways to
execute your configuration on hosts with different ways of connecting to them.
@@ -33,7 +34,7 @@ Let's get as much as we can out of all that existing distro policy-compliant
work!
*Some features described in the foregoing are not yet implemented, but
-Consfigurator's design should permit them to be soon.*
+Consfigurator's design permits them to be.*
.. _Propellor: https://propellor.branchable.com/
.. _GNU Guix System: https://guix.gnu.org/
diff --git a/doc/ideas.rst b/doc/ideas.rst
index 383249e..e89392f 100644
--- a/doc/ideas.rst
+++ b/doc/ideas.rst
@@ -21,6 +21,13 @@ Connections
some sort of command line input telling it what arguments to pass to
DEPLOY*.
+- Basic infrastructure for connections which work with just input and output
+ streams connected to an interactive POSIX sh somewhere, like TRAMP, and
+ probably using ``base64 -d`` for WRITEFILE. Probably the basic connection
+ type will take a command to start up the shell as a keyword argument, and
+ then we can have more specific connection types which take other arguments
+ and construct the full command.
+
Data sources
------------