menedev / dockmoor Goto Github PK
View Code? Open in Web Editor NEWManage docker image references
Manage docker image references
The update command should update images to the latest image according to SemVer-based tags or the current latest
image.
Blocked by #8
The pin command replaces image references with their equivalent, but more reproducible counterpart.
Ways to archive that:
Note that the substitution should only be performed if the new reference is equivalent, i.e. referring to the same image.
Depending on the scope this can mean one of two things:
There should be an option to toggle between both scopes. Blocked by #8
Dockmoor has several filters, to limit actions to a set of image references. This includes:
For all those filters a regex implementation would be useful.
The regex implementation could be triggered by surrounding the string with /
on the commandline, e.g.
dockmoor list --tag "/-testing/"
However other implementations are welcome.
dockmoor should be able to pin an image reference to the version that is currently used. For this to work, the docker daemon must be queried for the digest of the current image version.
Implement the dockfmt.Format interface for .travis.yml.
Design goal: When the file is changed, every change must be as local as possible. That means that white-spaces (including line-endings) and comments are retained. Only the image reference may change.
While this is not strictly blocked by #5 / #13, the design goal only makes sense afterwards.
dockmoor should be able to pin an image reference to the version that is currently available on a repository. For this to work, the repository must be queried for the digest of the current image version.
Implement the dockfmt.Format interface for docker-compose.yml.
Design goal: When the file is changed, every change must be as local as possible. That means that white-spaces (including line-endings) and comments are retained. Only the image reference may change.
While this is not strictly blocked by #5 / #13, the design goal only makes sense afterwards.
Implement the dockfmt.Format interface for .circleci/config.yml.
Design goal: When the file is changed, every change must be as local as possible. That means that white-spaces (including line-endings) and comments are retained. Only the image reference may change.
While this is not strictly blocked by #5 / #13, the design goal only makes sense afterwards.
Each component of a reference should be reflected by at least one predicate.
See https://github.com/docker/distribution/blob/master/reference/reference.go
The components are:
There is also the synthesized
which should be taken into account as this seems to be the most widely used form of docker image references.
Since yaml is widely used, there should be a common set of helpers to cope with the format. Unfortunately there is currently no round-trip parser for yml in go.
The helpers should allow to retrieve and replace values by path. Other implementations are welcome as long as they allow to change single values without affecting other parts of a yaml file.
Both, AsciiDoc and Markdown, are not part of this projects scope. Also other projects could benefit from a generated documentation, just like dockmoor does.
Implement the dockfmt.Format interface for .gitlab-ci.yml.
Design goal: When the file is changed, every change must be as local as possible. That means that white-spaces (including line-endings) and comments are retained. Only the image reference may change.
While this is not strictly blocked by #5 / #13, the design goal only makes sense afterwards.
We currently lack instructions how to compile the project locally.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.