Add documentation for codedocs.cacert.org
authorJan Dittberner <jan@dittberner.info>
Fri, 26 Oct 2018 23:47:58 +0000 (01:47 +0200)
committerJan Dittberner <jan@dittberner.info>
Fri, 26 Oct 2018 23:47:58 +0000 (01:47 +0200)
docs/systems/jenkins.rst
docs/systems/web.rst
docs/systems/webstatic.rst

index 0ccf7bf..ccbc23d 100644 (file)
@@ -170,8 +170,8 @@ Connected Systems
 
 * :doc:`git` for triggering Jenkins web hooks
 * :doc:`monitor`
-* :doc:`web` as reverse proxy for hostnames funding.cacert.org and
-  infradocs.cacert.org
+* :doc:`web` as reverse proxy for hostnames codedocs.cacert.org,
+  funding.cacert.org and infradocs.cacert.org
 
 
 Outbound network connections
@@ -182,8 +182,8 @@ Outbound network connections
 * :doc:`git` for fetching source code
 * :doc:`proxyout` as HTTP proxy for APT and Jenkins plugin updates
 * :doc:`puppet` for configuration management
-* :doc:`webstatic` for publishing infrastructure documentation to
-  infradocs.cacert.org
+* :doc:`webstatic` for publishing code documentation to codedocs.cacert.org and
+  infrastructure documentation to infradocs.cacert.org
 * arbitrary Internet HTTP, HTTPS, FTP, FTPS, git servers for fetching source
   code and build dependencies (via ``&CONTAINER_OUT_ELEVATED("jenkins");`` in
   :file:`/etc/ferm/ferm.d/jenkins.conf` on :doc:`infra02`).
index 5ead67f..16e32b2 100644 (file)
@@ -12,7 +12,8 @@ Reverse proxy for different websites that handles http to https redirection and
 TLS handshakes. The following services are currently proxied by this system:
 
 * Jenkins on :doc:`jenkins`
-* funding.cacert.org and infradocs.cacert.org on :doc:`webstatic`
+* codedocs.cacert.org, funding.cacert.org and infradocs.cacert.org on
+  :doc:`webstatic`
 
 The proxy should be used for all web applications that do not need access to the
 TLS parameters (client certificates, other peer information). Applications that
@@ -176,8 +177,8 @@ Outbound network connections
 * :doc:`puppet` (tcp/8140) as Puppet master
 * :doc:`proxyout` as HTTP proxy for APT
 * :doc:`jenkins` as backend for the jenkins.cacert.org VirtualHost
-* :doc:`webstatic` as backend for the funding.cacert.org and
-  infradocs.cacert.org VirtualHosts
+* :doc:`webstatic` as backend for the codedocs.cacert.org, funding.cacert.org
+  and infradocs.cacert.org VirtualHosts
 
 Security
 ========
@@ -217,12 +218,21 @@ configuration items outside of the Puppet repository.
 Keys and X.509 certificates
 ---------------------------
 
+.. sslcert:: codedocs.cacert.org
+   :altnames:   DNS:codedocs.cacert.org
+   :certfile:   /etc/ssl/certs/codedocs.cacert.org.crt
+   :keyfile:    /etc/ssl/private/codedocs.cacert.org.key
+   :serial:     02CB3D
+   :expiration: Oct 25 22:35:23 2020 GMT
+   :sha1fp:     49:FA:0B:01:C0:9F:74:EF:12:15:8F:CA:8E:D3:2C:FA:0C:7E:3C:F7
+   :issuer:     CAcert Class 3 Root
+
 .. sslcert:: funding.cacert.org
    :altnames:   DNS:funding.cacert.org
    :certfile:   /etc/ssl/certs/funding.cacert.org.crt
    :keyfile:    /etc/ssl/private/funding.cacert.org.key
    :serial:     02A770
-   :expiration: Feb 16 12:07:35 19 GMT
+   :expiration: Feb 16 12:07:35 2019 GMT
    :sha1fp:     36:E0:A1:86:7A:FA:C6:F4:86:9F:CC:9C:61:4D:B9:A4:7C:0F:9F:C9
    :issuer:     CAcert Class 3 Root
 
@@ -240,7 +250,7 @@ Keys and X.509 certificates
    :certfile:   /etc/ssl/certs/jenkins.cacert.org.crt
    :keyfile:    /etc/ssl/private/jenkins.cacert.org.key
    :serial:     02A76F
-   :expiration: Feb 16 12:07:29 19 GMT
+   :expiration: Feb 16 12:07:29 2019 GMT
    :sha1fp:     D1:E3:5B:73:63:28:C6:31:0F:35:4A:2F:0D:12:B5:6C:3F:72:08:3D
    :issuer:     CAcert Class 3 Root
 
@@ -249,7 +259,7 @@ Keys and X.509 certificates
    :certfile:   /etc/ssl/certs/web.cacert.org.crt
    :keyfile:    /etc/ssl/private/web.cacert.org.key
    :serial:     02BE3D
-   :expiration: Feb 19 11:44:47 20 GMT
+   :expiration: Feb 19 11:44:47 2020 GMT
    :sha1fp:     D5:20:E8:4D:C1:FC:6E:DF:7E:D3:5D:03:03:3D:1B:CB:27:4B:3D:85
    :issuer:     CAcert Class 3 Root
 
@@ -269,6 +279,13 @@ Apache httpd configuration
   Defines the default VirtualHost for requests reaching this host with no
   specifically handled host name.
 
+* :file:`/etc/apache2/sites-available/codedocs.cacert.org.conf`
+
+  Defines the VirtualHost http://codedocs.cacert.org/ that redirects to
+  https://codedocs.cacert.org/ and the VirtualHost
+  https://codedocs.cacert.org/ that provides reverse proxy functionality for
+  the same host name on :doc:`webstatic`.
+
 * :file:`/etc/apache2/sites-available/funding.cacert.org.conf`
 
   Defines the VirtualHost http://funding.cacert.org/ that redirects to
index 4d35c44..77c175b 100644 (file)
@@ -15,6 +15,9 @@ termination and redirects from http scheme URLs to https.
 Application Links
 -----------------
 
+Code Documentation
+   https://codedocs.cacert.org/
+
 Funding
    https://funding.cacert.org/
 
@@ -83,8 +86,9 @@ DNS
 =========================== ======== ====================================================================
 Name                        Type     Content
 =========================== ======== ====================================================================
-funding.cacert.org.         IN CNAME webstatic.cacert.org.
-infradocs.cacert.org.       IN CNAME webstatic.cacert.org.
+codedocs.cacert.org.        IN CNAME web.cacert.org.
+funding.cacert.org.         IN CNAME web.cacert.org.
+infradocs.cacert.org.       IN CNAME web.cacert.org.
 webstatic.cacert.org.       IN A     213.154.225.242
 webstatic.cacert.org.       IN SSHFP 1 1 30897A7A984D8350495946D54C6374E9331237EF
 webstatic.cacert.org.       IN SSHFP 1 2 32BB10C5CF48532D077066E012230058DDF3CCE731C561F228E310EB7A546E3F
@@ -119,17 +123,17 @@ Services
 Listening services
 ------------------
 
-+----------+-----------+-----------+-----------------------------------------+
-| Port     | Service   | Origin    | Purpose                                 |
-+==========+===========+===========+=========================================+
-| 22/tcp   | ssh       | ANY       | admin console and gitolite access       |
-+----------+-----------+-----------+-----------------------------------------+
-| 25/tcp   | smtp      | local     | mail delivery to local MTA              |
-+----------+-----------+-----------+-----------------------------------------+
-| 80/tcp   | http      | ANY       | application                             |
-+----------+-----------+-----------+-----------------------------------------+
-| 5666/tcp | nrpe      | monitor   | remote monitoring service               |
-+----------+-----------+-----------+-----------------------------------------+
++----------+-----------+-----------+----------------------------+
+| Port     | Service   | Origin    | Purpose                    |
++==========+===========+===========+============================+
+| 22/tcp   | ssh       | ANY       | admin console access       |
++----------+-----------+-----------+----------------------------+
+| 25/tcp   | smtp      | local     | mail delivery to local MTA |
++----------+-----------+-----------+----------------------------+
+| 80/tcp   | http      | ANY       | application                |
++----------+-----------+-----------+----------------------------+
+| 5666/tcp | nrpe      | monitor   | remote monitoring service  |
++----------+-----------+-----------+----------------------------+
 
 Running services
 ----------------
@@ -174,8 +178,8 @@ Running services
 Connected Systems
 -----------------
 
-* :doc:`jenkins` for publishing infrastructure documentation to
-  infradocs.cacert.org
+* :doc:`jenkins` for publishing code documentation to codedocs.cacert.org and
+  infrastructure documentation to infradocs.cacert.org
 * :doc:`monitor`
 * :doc:`web` as reverse proxy for hostnames funding.cacert.org and
   infradocs.cacert.org
@@ -203,9 +207,8 @@ Dedicated user roles
 +-------------------+---------------------------------------------------+
 | Group             | Purpose                                           |
 +===================+===================================================+
-| git               | User for :program:`gitolite`                      |
-+-------------------+---------------------------------------------------+
 | jenkins-infradocs | Used by :doc:`jenkins` to upload documentation to |
+|                   | :file:`/var/www/codedocs.cacert.org/html/` and    |
 |                   | :file:`/var/www/infradocs.cacert.org/html/`       |
 +-------------------+---------------------------------------------------+
 
@@ -216,22 +219,13 @@ The Puppet agent package and a few dependencies are installed from the official
 Puppet APT repository because the versions in Debian are too old to use modern
 Puppet features.
 
-The used :program:`gitolite` version is from Debian Jessie and should either
-be replaced by :program:`gitolite3` from Debian Stretch or a combination of
-git repositories on :doc:`git` and web hooks for triggering updates.
-
-.. todo:: replace :program:`gitolite` with a maintained service
-
 Risk assessments on critical packages
 -------------------------------------
 
 Apache httpd is configured with a minimum of enabled modules to allow serving
 static content and nothing else to reduce potential security risks.
 
-Access to :program:`gitolite` and the jenkins-infradocs user is gated by a
-defined set of ssh keys.
-
-.. todo:: check access on gitolite repositories
+Access to the jenkins-infradocs user is gated by a defined ssh key.
 
 The system uses third party packages with a good security track record and
 regular updates. The attack surface is small due to the tightly restricted
@@ -264,6 +258,10 @@ The main configuration files for Apache httpd are:
   Defines the default VirtualHost for requests reaching this host with no
   specifically handled host name.
 
+* :file:`/etc/apache2/sites-available/codedocs.cacert.org.conf`
+
+  Defines the VirtualHost for https://codedocs.cacert.org/
+
 * :file:`/etc/apache2/sites-available/funding.cacert.org.conf`
 
   Defines the VirtualHost for https://funding.cacert.org/
@@ -300,4 +298,3 @@ References
 ----------
 
 * http://httpd.apache.org/docs/2.4/
-* http://gitolite.com/gitolite/migr/