Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for environment variables with default values in fig.yml #845

Closed
wants to merge 1 commit into from

Commits on Feb 6, 2015

  1. Add support for environment variables with backoff values in fig.yml

    This change resolves docker#495 by introducing a Config class inside the cli
    library. The Config class is responsible for loading a .yml file and
    evaluating its contents for environment variables. The Config immediately
    reloads the data as a dictionary, which reduces compatibility issues within
    previously written code. This behavior also prevents race conditions
    caused by changes to the environment during long-running fig builds.
    
    This change is valuable because it allows for a greater degree of
    automation and variability when working with multiple environments
    or deployment types that use identically built containers. We
    currently have to define separate services for each degree of
    variability we want to account for.
    
    Future steps for this change may include introducing template files,
    or adding access and manipulation APIs directly so that we can
    perpetuate the config class everywhere we are currently using
    bare dictionaries.
    
    Added in revision requests from  @dnephin:
    
    * Terminology fix in docs/yml.md
    * Refactored config class into a series of functions
    * Updated tests to reflect functional interpolation
    * Improved forward compatibility
    
    Added in revision requests from @thaJeztah
    
    * Terminology fixes
    
    Added in revision requests from @aanand
    
    * Support for escaping
    
    Added in revision requests from @thaJeztah
    
    * Support for multiple variables per line
    
    Developer's Certificate of Origin 1.1
    
    By making a contribution to this project, I certify that:
    
    (a) The contribution was created in whole or in part by me and I
        have the right to submit it under the open source license
        indicated in the file; or
    
    (b) The contribution is based upon previous work that, to the best
        of my knowledge, is covered under an appropriate open source
        license and I have the right under that license to submit that
        work with modifications, whether created in whole or in part
        by me, under the same open source license (unless I am
        permitted to submit under a different license), as indicated
        in the file; or
    
    (c) The contribution was provided directly to me by some other
        person who certified (a), (b) or (c) and I have not modified
        it.
    
    (d) I understand and agree that this project and the contribution
        are public and that a record of the contribution (including all
        personal information I submit with it, including my sign-off) is
        maintained indefinitely and may be redistributed consistent with
        this project or the open source license(s) involved.
    
    Signed-off-by: Robert Elwell <robert.elwell@gmail.com>
    Sponsored by: Lookout, Inc.
    Robert Elwell committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    061460d View commit details
    Browse the repository at this point in the history