man: get rid of shell script example in systemd-socket-proxyd man page

This commit is contained in:
Lennart Poettering 2013-11-27 21:14:08 +01:00
parent 07504d6b15
commit 34c7dc47d3
2 changed files with 40 additions and 54 deletions

2
TODO
View file

@ -107,8 +107,6 @@ Features:
* socket-proxyd: * socket-proxyd:
- Support multiple inherited sockets mapped to different remote hosts - Support multiple inherited sockets mapped to different remote hosts
- Use a nonblocking alternative to getaddrinfo - Use a nonblocking alternative to getaddrinfo
- Until we can start daemons directly, find a less ugly, less racy alternative than shell scripts for the second man page example.
- Support starting daemons directly without requiring a shell script; update man pages
* "systemctl cat" or "systemctl view" command or or so, that cats the backing unit file of a service, plus its drop-ins and shows them in a pager * "systemctl cat" or "systemctl view" command or or so, that cats the backing unit file of a service, plus its drop-ins and shows them in a pager

View file

@ -108,11 +108,11 @@
<refsect1> <refsect1>
<title>Examples</title> <title>Examples</title>
<refsect2> <refsect2>
<title>Direct-Use Example</title> <title>Simple Example</title>
<para>Use two services with a dependency <para>Use two services with a dependency
and no namespace isolation.</para> and no namespace isolation.</para>
<example label="proxy socket unit"> <example>
<title>/etc/systemd/system/proxy-to-nginx.socket</title> <title>proxy-to-nginx.socket</title>
<programlisting> <programlisting>
<![CDATA[[Socket] <![CDATA[[Socket]
ListenStream=80 ListenStream=80
@ -121,21 +121,21 @@ ListenStream=80
WantedBy=sockets.target]]> WantedBy=sockets.target]]>
</programlisting> </programlisting>
</example> </example>
<example label="proxy service unit"> <example>
<title>/etc/systemd/system/proxy-to-nginx.service</title> <title>proxy-to-nginx.service</title>
<programlisting> <programlisting>
<![CDATA[[Unit] <![CDATA[[Unit]
After=nginx.service
Requires=nginx.service Requires=nginx.service
After=nginx.service
[Service] [Service]
ExecStart=/usr/bin/systemd-socket-proxyd /tmp/nginx.sock ExecStart=/usr/lib/systemd/systemd-socket-proxyd /tmp/nginx.sock
PrivateTmp=true PrivateTmp=yes
PrivateNetwork=true]]> PrivateNetwork=yes]]>
</programlisting> </programlisting>
</example> </example>
<example label="nginx configuration"> <example>
<title>/etc/nginx/nginx.conf</title> <title>nginx.conf</title>
<programlisting> <programlisting>
<![CDATA[[...] <![CDATA[[...]
server { server {
@ -143,7 +143,8 @@ server {
[...]]]> [...]]]>
</programlisting> </programlisting>
</example> </example>
<example label="commands"> <example>
<title>Enabling the proxy</title>
<programlisting> <programlisting>
<![CDATA[# systemctl enable proxy-to-nginx.socket <![CDATA[# systemctl enable proxy-to-nginx.socket
# systemctl start proxy-to-nginx.socket # systemctl start proxy-to-nginx.socket
@ -152,17 +153,16 @@ $ curl http://localhost:80/]]>
</example> </example>
</refsect2> </refsect2>
<refsect2> <refsect2>
<title>Indirect-Use Example</title> <title>Namespace Example</title>
<para>Use a shell script to isolate the <para>Similar as above, but runs the socket
service and proxy into the same namespace. proxy and the main service in the same private
This is particularly useful for running namespace, assuming that
TCP-only daemons without the daemon <filename>nginx.service</filename> has
affecting ports on regular <varname>PrivateTmp=</varname> and
interfaces.</para> <varname>PrivateNetwork=</varname> set,
<example label="combined proxy and nginx socket unit"> too.</para>
<example>
<title> <title>proxy-to-nginx.socket</title>
/etc/systemd/system/proxy-with-nginx.socket</title>
<programlisting> <programlisting>
<![CDATA[[Socket] <![CDATA[[Socket]
ListenStream=80 ListenStream=80
@ -171,37 +171,22 @@ ListenStream=80
WantedBy=sockets.target]]> WantedBy=sockets.target]]>
</programlisting> </programlisting>
</example> </example>
<example label="combined proxy and nginx service unit"> <example>
<title>proxy-to-nginx.service</title>
<title>
/etc/systemd/system/proxy-with-nginx.service</title>
<programlisting> <programlisting>
<![CDATA[[Unit] <![CDATA[[Unit]
After=remote-fs.target nss-lookup.target Requires=nginx.service
After=nginx.service
JoinsNamespaceOf=nginx.service
[Service] [Service]
ExecStartPre=/usr/sbin/nginx -t ExecStart=/usr/lib/systemd/systemd-socket-proxyd 127.0.0.1:8080
ExecStart=/usr/bin/socket-proxyd-nginx.sh PrivateTmp=yes
PrivateTmp=true PrivateNetwork=yes]]>
PrivateNetwork=true]]>
</programlisting> </programlisting>
</example> </example>
<example label="shell script"> <example>
<title> <title>nginx.conf</title>
/usr/bin/socket-proxyd-nginx.sh</title>
<programlisting>
<![CDATA[#!/bin/sh
/usr/sbin/nginx
while [ ! -f /tmp/nginx.pid ]
do
/usr/bin/inotifywait /tmp/nginx.pid
done
exec /usr/bin/systemd-socket-proxyd localhost 8080]]>
</programlisting>
</example>
<example label="nginx configuration">
<title>
/etc/nginx/nginx.conf</title>
<programlisting> <programlisting>
<![CDATA[[...] <![CDATA[[...]
server { server {
@ -210,10 +195,11 @@ server {
[...]]]> [...]]]>
</programlisting> </programlisting>
</example> </example>
<example label="commands"> <example>
<title>Enabling the proxy</title>
<programlisting> <programlisting>
<![CDATA[# systemctl enable proxy-with-nginx.socket <![CDATA[# systemctl enable proxy-to-nginx.socket
# systemctl start proxy-with-nginx.socket # systemctl start proxy-to-nginx.socket
$ curl http://localhost:80/]]> $ curl http://localhost:80/]]>
</programlisting> </programlisting>
</example> </example>
@ -226,7 +212,9 @@ $ curl http://localhost:80/]]>
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry> <citerefentry><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>nginx</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>curl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para> </para>
</refsect1> </refsect1>
</refentry> </refentry>