Vincent Batts
56fd7c4de9
_(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>
21 lines
485 B
Docker
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"]
|