Comments (4)
We often have the problem that we don't know where the source code for an image lives.
"Often"? For example?
There's a more-or-less standard way of providing this information, using Docker labels. We should do that.
I wouldn't consider the label-schema.org stuff to be widely accepted or a standard. I'd describe it as something that was started started, that didn't get wide adoption, and that people have now moved on from. For instance, there are only 11 threads on its email list[1], these tags aren't "supported" in anyway by the docker hub, and there are only 1.2k images using them[2].
[1] https://groups.google.com/forum/#!forum/label-schema
[2] https://microbadger.com/labelschema
I much prefer the naming convention approach to solving this problem.
from build-tools.
Examples:
- a couple of months ago, me trying to find where the code for tomwilkie/git-sync is
- last month, Paul trying to find where weaveworks/gfdatasource was
A naming convention could work, but the issue is that we have several:
- name is repo, e.g. weaveworks/kubediff -> github.com/weaveworks/kubediff
- name is subdir of unmentioned repo, e.g. quay.io/weaveworks/alertmanager -> github.com/weaveworks/monitoring
- name is subproject of mentioned repo, e.g. quay.io/weaveworks/cortex-alertmanager -> github.com/weaveworks/cortex
At the very least.
from build-tools.
Suggested minimum useful set of labels:
LABEL works.weave.source-path="/grafana/Dockerfile" \
org.label-schema.schema-version="1.0" \
org.label-schema.vcs-url="https://github.com/weaveworks/service-conf"
Where works.weave.source-path
is the path to the Dockerfile for this image.
from build-tools.
@marccarre has been working on https://github.com/weaveworks-experiments/imagediff to help with this process.
from build-tools.
Related Issues (20)
- Updating subtree-d code should be automated HOT 1
- Build tools is not linted to the same standard as the scope repo lints it
- Add a yaml linter
- Stop apt daily job running on test machines
- Current build fails HOT 1
- Distribute build tools as a single binary HOT 6
- Update wks -> wksctl circleci project name
- Port ./scheduler to python3
- Replace individual Go checking tools with golangci-lint
- Stop pre-building Go std library
- Take out build.sh chmod
- Move off of gvt
- CircleCI build breaks due to old Go version
- Shell lint doesn't fail when it should HOT 1
- Python linting & formatting HOT 2
- tools/lint fails own check HOT 1
- Add staticcheck
- push-images doesn't fail when a push fails
- Include build-tools in build image
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from build-tools.