🚧 This instance is under construction; expect occasional downtime. Runners available in /repos. Questions? Ask in #wikimedia-gitlab on libera.chat, or under GitLab on Phabricator.

NEWS 3.01 KB
Newer Older
Thcipriani's avatar
Thcipriani committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
NEWS for Blubber
================

Blubber is a command line tool to produce Dockerfiles from higher-level
specifications in YAML. Also included is Blubberoid, which provides a
simple web interface.

v0.8.0 (Wed, 24 Jul 2019)
-------------------------

### Backwards compatibility notes

* `v4` is the only supported version. Blubber, being not yet to a 1.0.0
  release, has changed the compatibility of the `version` field to only
  support `v4`.

* Unify `copies` and `artifacts` configuration

    tl;dr: `copies` and `artifacts` have been merged to just `copies`

    Refactored `copies` configuration to allow for greater control over
    when and which both local build context files and variant artifacts
    are copied into the target image.

    The new configuration introduces a "local" keyword to signify when a
    `copies` entry should apply to the files from the local build
    context as opposed to files from another variant's image during a
    multi-stage build.

        variants:
          build:
            copies:
             - from: local
               source: ./src
               destination: .

    Note that with this change, the user must now explicitly define
    whether _any_ files should be copied in from the local build
    context. None will be copied in by default.

    To help keep configurations succinct, especially considering this
    new requirement, and to approximate the old `copies: variant`, a
    shorthand format and sane defaults for `source` and `destination`
    (depending whether `from` is "local" or a variant name) were
    implemented.

        variants:
          build:
            copies: [local]
          development:
            copies:
             - from: build
             - from: local
               source: ./config.dev.yaml
               destination: ./config.yaml

    The shorthand:

        copies: [ref, ...]
        # is equivalent to
        copies: [{ from: ref }, ...]

    And the following defaults are used when no `source` and
    `destination` are specified.

        copies:
         - from: local
         # defaults to
         - from: local
           source: .
           destination: .

        copies:
         - from: variant
         # defaults to two entries
         - from: variant
           source: /srv/app # the lives.in dir
           destination: /srv/app
         - from: variant
           source: /opt/local # the shared lib dir
           destination: /opt/local


### Updates and changes

* Added support for use-system-flag directive. The `--target` flag is
  broken in Debian/Ubuntu due to a distro-specific --user install default
  in versions prior to 18.1.1 (including the Stretch version).

    <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830892>

    This behavior can be switched off by specifying the --system flag in the
    install command.

* Updated the go-playground validator to support "startswith" and
  "endswith" validators to be used to validate images used for production.
  See the example in policy.example.yaml for how this would be used.