Comments (7)
Not currently. But that doesn't mean that we wouldn't make a plan if it's desired and demonstrably viable/valuable. The best way forward would be if you would expand a little on what you have in mind.
from molecule.
we need the possibility to describe this in molecule.yml - or am I just missing something here?
from molecule.
@dhutty, our use case would be using Molecule in an environment where one can't easily spin up virtual machines with Vagrant, but can easily create Docker containers.
An example of such an environment are most CI services which usually only provide a single or a couple of very customized operating system options (e.g. Travis CI's build environment) but offer Docker support for spinning up containers from any operating system image.
It would be great if one could use Molecule with e.g. Travis CI to test an Ansible role on various operating systems via their official Docker images.
The way I see this could be implemented is to create a new provisioner as an alternative to the VagrantProvisioner
but I don't know which Docker tool could provide similar capabilities to Vagrant?
from molecule.
@tjanez Having molecule work on travisci is paramount. We are knees deep in some platform work, but happy to look into this in the next couple months.
from molecule.
I decided to take a stab at this. It's a work in progress at https://github.com/azenk/molecule/tree/docker_provisioner
It looks to me like a change in the provisioner injection code is required, as well as a config file change. Without it, I don't believe that the provisioner can be changed from vagrant without modifying the default.yml file. I'd propose adding a provisioner option to the molecule section.
from molecule.
I decided to give this a try because I urgently desired this feature. So far all of the commands except verify are supported and right now I have it only building off of one static image name. But at the moment, a molecule converge does run the playbooks against the specified docker containers. Molecule test also works (except the verify states that integration tests are skipped).
https://github.com/kireledan/molecule/tree/docker_provision
My next step is to do some cleanup and add some more abstraction.
from molecule.
Completed - @kireledan rocks 🎸
from molecule.
Related Issues (20)
- v6 fails due to collection path not aligning with ansible collection path HOT 13
- molecule fails in GitHub actions with: ansible_compat.errors.InvalidPrerequisiteError: Collection 'community.docker' not found in '['/home/runner/.ansible/collections', '/usr/share/ansible/collections']' HOT 17
- RFE: Use the output of list to find a scenario
- New collection --pre handling breaks on empty list HOT 2
- created: true is ignored in state.yml HOT 1
- RFE: Use inventory plugin to manage molecule dynamic inventory
- Getting Started example: Molecule looking for namespace.collection.role within the molecule directory structure HOT 5
- Incorrect pip install documentation
- Development of dependent roles requires workarounds because of non configurable symlinking
- molecule login does not work with podman containers HOT 2
- When including more than 1 entry in platforms molecule_inventory.yml doesn't contain all entries HOT 2
- Documentation still mentions "Docker" as the default driver in certain places
- Molecule Reset overwrites projects in COLLECTIONS_PATHS HOT 2
- Idempotence tests incorrectly succeed when Ansible callback plugin is not default HOT 4
- testinfra 9.0.0 use the same ssh connection as molecule/ansible… which can lead to wrong environment variables
- MOLECULE_REPORT is not generating html report when mentioned in molecule.yml as per docs HOT 2
- Update documentation about default Driver HOT 1
- [Docs] Update user guide with missing sections HOT 4
- [Docs] Add porting guide HOT 1
- dependency step installs roles to user's roles path, not in ephemeral directory HOT 3
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 molecule.