-
Notifications
You must be signed in to change notification settings - Fork 9
Add n8n workflow automation appliance #90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pablodelarco
wants to merge
9
commits into
OpenNebula:master
Choose a base branch
from
pablodelarco:feature/add-n8n-appliance
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add n8n workflow automation appliance #90
pablodelarco
wants to merge
9
commits into
OpenNebula:master
from
pablodelarco:feature/add-n8n-appliance
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Add new Image appliance for n8n workflow automation platform - Support for visual workflow editor connecting services and APIs - Include Docker-based deployment with automatic container startup - Features Ubuntu 22.04 LTS, Docker Engine CE, n8n latest container - Add contextualization parameters for container configuration - Include png logo (256x256) and complete appliance metadata - Web interface accessible on port 5678 - Configurable via OpenNebula context: ports, environment variables, volumes - Data persistence with volume mapping to /data:/home/node/.n8n - Includes N8N_SECURE_COOKIE=false for IP-based access
…tion - Fix tests.yaml: remove escaped underscore (00-n8n\_basic.rb -> 00-n8n_basic.rb) - Rewrite tests to use standard RSpec framework (lib/community/app_handler) - Add comprehensive tests matching actual appliance: * Docker installation and service status * n8n container image availability (n8nio/n8n:latest) * Data directory existence (/data) * Container running status (n8n-container) * Container responsiveness * Container restart policy (unless-stopped) * Port mapping (5678:5678) * Volume mapping (/data:/home/node/.n8n) * oneapps MOTD verification (required test) - Remove old test framework that doesn't exist in marketplace
Add missing newline at end of file to comply with yamllint rules.
The user_inputs should be a dictionary (key: value), not an array. Changed keys to lowercase with oneapp_ prefix to match OpenNebula conventions: - CONTAINER_NAME -> oneapp_container_name - CONTAINER_PORTS -> oneapp_container_ports - CONTAINER_ENV -> oneapp_container_env - CONTAINER_VOLUMES -> oneapp_container_volumes Updated inputs_order to match the new uppercase context variable names.
Set ONE_SERVICE_VERSION='latest' instead of leaving it empty. This fixes the build script metadata.
Use proper version number '1.0' instead of 'latest' for the appliance version.
- Add wait period for contextualization to complete (60s initial + up to 120s for Docker) - Fix template parsing error in volume mount test (use single quotes for docker format) - Fix app_handler.rb context escaping (add quotes around context value and use consistent escaping) The tests now properly wait for Docker service to start and the n8n container to be created before running validation checks.
- Fix metadata.yaml structure to match test framework requirements - Change :os: from array to hash with :type and :base - Change :hypervisor: from array to single value - Add 1️⃣ section with template configuration - Add :infra: section with disk_format and apps_path - Add generated context.yaml for n8n appliance All 9 tests passing successfully.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Appliance
New appliance submission for n8n workflow automation platform.
Appliance Name
:app: n8n
Type of Contribution
Description of Changes
This PR adds a new n8n appliance to the OpenNebula Community Marketplace.
n8n is a fair-code licensed workflow automation tool that allows you to connect different services and automate tasks. It provides a visual workflow editor with a node-based interface for creating complex automation workflows. This appliance provides:
Technical Implementation:
n8nio/n8n:latest) pre-pulled and ready to run/data:/home/node/.n8nN8N_SECURE_COOKIE=falsefor IP-based access without HTTPSAccess Methods:
Contributor Checklist
Publisher Information
Testing & Validation
Files Added
Appliance Files:
appliances/n8n/appliance.sh- Main appliance script with Docker container managementappliances/n8n/metadata.yaml- Appliance metadataappliances/n8n/README.md- Documentationappliances/n8n/CHANGELOG.md- Version historyappliances/n8n/context.yaml- Context configurationappliances/n8n/tests.yaml- Test configurationappliances/n8n/tests/00-n8n_basic.rb- Basic functionality testsappliances/n8n/cf81cb32-dde4-4d47-a09c-fc3b4f058f45.yaml- Appliance configurationPacker Build Files:
apps-code/community-apps/packer/n8n/n8n.pkr.hcl- Main Packer configurationapps-code/community-apps/packer/n8n/variables.pkr.hcl- Build variablesapps-code/community-apps/packer/n8n/common.pkr.hcl- Common configuration (symlink)apps-code/community-apps/packer/n8n/gen_context- Context generation scriptapps-code/community-apps/packer/n8n/81-configure-ssh.sh- SSH configurationapps-code/community-apps/packer/n8n/82-configure-context.sh- Context configurationapps-code/community-apps/packer/n8n/postprocess.sh- Post-processing scriptConfiguration:
apps-code/community-apps/Makefile.config- Added n8n to SERVICES listLogo:
logos/n8n.png- Official n8n logo (256x256)