*: 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>
This commit is contained in:
parent
f5db5f704f
commit
56fd7c4de9
2 changed files with 782 additions and 69 deletions
26
Dockerfile
26
Dockerfile
|
@ -1,9 +1,21 @@
|
|||
FROM quay.io/buildah/stable
|
||||
RUN dnf install -y skopeo && \
|
||||
dnf clean all && \
|
||||
mkdir -p /output
|
||||
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/
|
||||
VOLUME /var/lib/container
|
||||
VOLUME /output
|
||||
|
||||
RUN mkdir -p /output
|
||||
ENV OUTPUT_DIR=/output
|
||||
ENTRYPOINT ["/usr/local/bin/BuildSourceImage.sh"]
|
||||
VOLUME /output
|
||||
|
||||
ENV SRC_DIR=/src
|
||||
VOLUME /src
|
||||
|
||||
#ENTRYPOINT ["/usr/local/bin/BuildSourceImage.sh"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue