fb5ae2c Ticket 50197 - Container init tools

Authored and Committed by firstyear 5 years ago
    Ticket 50197 - Container init tools
    
    Bug Description: It's important that 389 Directory Server
    has a functional, correct, and high quality container integration
    system. After years of work on the server core and lib389, this is
    nearly possible.
    
    Importantly, containers have certain requirements we must understand.
    All state must be in external-filesystem volumes. We can not assume
    that we have an instance installed, so must create one on launch.
    If one exists, we need to expose it. We don't have the ability to
    ask questions, so we need to use environment, or work with no
    input at all. We can't make assumptions about backends. Finally,
    we need to assume that we could be a new version of the server -
    we don't know about anything else.
    
    Fix Description: This adds a dscontainer wrapper tool that is
    intended for operation inside of containers. It handles and binds
    many of the existing parts of lib389 for container support. I have
    cleaned up past container support realising how it was done wasn't
    as elegant as this.
    
    The dscontainer tool is intended to be the entry point from a
    dockerfile, IE the CMD directive.
    
    There are still some avenues to explore. For example, we could
    attempt to override the storage paths for logs and db rather than
    relying on dockerfile system links. (this may break apparmor though).
    
    https://pagure.io/389-ds-base/issue/50197
    
    Author: William Brown <william@blackhats.net.au>
    
    Review by: ???
    
        
file modified
+0 -4
file modified
+8 -3
file modified
+1 -2