Comments (7)
this is very nice feature - and will be pretty neat to do.
It will be much more easy to do with a buildah.
from cct.
I would probably raise priority of this issue, for me this looks like an important thing to maintain units of changes (modules).
from cct.
lets talk about this when we split repos and start using CCT.
from cct.
Why don't we broaden the whole idea such that image.yaml is an extension of module.yaml that adds image specific details, mainly FROM. At that point, the module system is really just merging a set of files to create what was our old image.yaml format. This would make image.yaml look something like:
name: "jboss-eap-6/eap64-openshift
description: "..."
version: "..."
from: "jboss-eap-6/eap64:latest"
labels: [...]
envs: [...]
requires:
- name: "core.jolokia"
url: https://github.com/jboss-openshift/modules-core.git
path: jolokia
...
Adding in "overrides," one could specify a property like: module.core.jolokia.url=/home/me/src/modules-core. (I'll add this and more to jboss-dockerfiles/dogen#12.) It would also be great if version could be specified during the build or from the tag/ref specified.
from cct.
The biggest benefit of this approach is that the logic for processing image.yaml can be reused for all of the modules. For example, the jinja template might simply be:
for each module in requires
labels
env
packages
scripts
This would greatly simplify the amount of new code we'd need to write for dogen as we'd simply be adding the mechanics for module retrieval and overrides via properties.
from cct.
A more concrete, complete example: https://github.com/rcernich/cct_module/tree/module-refactoring/common
from cct.
I like that idea, but as you suggested it will need some bigger changes in CCT/Dogen, I think for this we should first merge CCT inside dogen, make it cooperate and create tight relationship.
Then we can do this - maybe we should schedule some call about this and plan Dogen 3.0 with CCT inside?
from cct.
Related Issues (20)
- misleading errors at build-time due to module scanner
- Pykwalify and logging levels HOT 1
- Remove dummy module causing No such file or directory DEBUG messages
- Show bash command output if any, when debug enabled HOT 2
- Release module as part of CCT release HOT 3
- CCT report modules as NotRun HOT 1
- Enable script modules to use any language
- update artifacts fetching to be synced with dogen approach
- revisit module.yaml syntax
- Remove bash module
- If change yaml file request module which doesn't exists it fail quietly HOT 1
- Remove old and outdated samples HOT 1
- Fix python module names to comply with script ones
- CCT_MODULE_PATH variable is wrongly set in script modules
- remove run from excluded module methods.
- CCT configuration in YAML should be validated HOT 1
- Cache modules locally for faster building HOT 1
- Make it easy to locally develop CCT modules HOT 1
- modules should be cloned with -b and --depth 1 options HOT 1
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 cct.