containers-bsi/Dockerfile
Vincent Batts 56fd7c4de9
*: big rewrite
_(this is a WIP)_

for the requirements to not be so bound to RPM only, breaking collection
of sources out into "plugins". Currently not much more sophisticated
than just iterating through bash functions that expect 3 argugments.
rootfs of the inspectee; output path for the sources collected; manifest
path.
The idea for the manifest is still loose, but how best to follow up the
plugin which collected source, to then have the rich metadata available
to attach to the individual "layers" that are produced for each source
component.

for the requirement of most contrained non-root container running this
script as non-root, we'll switch away from buildah for now. This ought
to just be skopeo copy, unpacking, inspecting, json, and skopeo copy. No
mounting, no namespacing, etc.

for the sake of writing unit tests (i.e. `bats`), break the script into
a way that it can be sourced and run the functions individually. Only
act like the whole script when run directly.

If `umoci` is available it will get used for some functions (like
unpacking), but it is not required and will be attempted with jq and
bash otherwise.

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2019-09-10 09:08:19 -04:00

21 lines
485 B
Docker

FROM fedora
RUN dnf install -y skopeo golang jq git
RUN dnf install -y make findutils
ENV GOPATH=/usr/share/gocode
ENV GOBIN=/usr/local/bin
RUN git clone https://github.com/openSUSE/umoci $GOPATH/src/github.com/openSUSE/umoci
RUN cd $GOPATH/src/github.com/openSUSE/umoci && \
make && \
mv umoci /usr/local/bin
COPY . /usr/local/bin/
RUN mkdir -p /output
ENV OUTPUT_DIR=/output
VOLUME /output
ENV SRC_DIR=/src
VOLUME /src
#ENTRYPOINT ["/usr/local/bin/BuildSourceImage.sh"]