Ignition & Combustion Config Generator. Easily generate new or edit existing Ignition configs.

Overview

Fuel Ignition

Ignition & Combustion Config Generator. Easily generate new or edit existing Ignition configs. No more fiddling around with JSON or Butane.

Local Development

npm install
npm run dev

Local Development in a container

$ sudo zypper in podman
$ make
$ podman run --network=host fuelignition:latest

> [email protected] dev
> vite

Pre-bundling dependencies:
  vue
  @formkit/vue
  bootstrap
  vue-router
(this will be run only when your dependencies or config have changed)

  vite v2.6.14 dev server running at:

  > Local: http://localhost:3000/fuel-ignition/
  > Network: use `--host` to expose

  ready in 472ms.

$ firefox http://localhost:3000/fuel-ignition/

Notice

Fuel-ignition is still in early development and will most likely undergo massive changes. I'm always open to feedback and enjoy hearing your thoughts. Cheers!

human sitting in a tent next to a fire

Comments
  • Error:

    Error: "~/.local/share/containers/storage/btrfs" is not on a btrfs filesystem

    Hi On openSUSE Tumbleweed a fresh install of podman uses fuse-overlayfs as follows;

    zypper in podman
    
    The following 3 recommended packages were automatically selected:
    cni-plugins criu podman-cni-config
    
    The following 13 NEW packages are going to be installed:
    catatonit cni cni-plugins conmon criu fuse-overlayfs libcontainers-common libnet9 podman podman-cni-config python38-protobuf runc slirp4netns
    

    When running make for the first time I get the following error;

    make
    
    podman build --build-arg CONTAINER_USERID=1000 -t fuelignition .
    Error: "~/.local/share/containers/storage/btrfs" is not on a btrfs filesystem: prerequisites for driver not satisfied (wrong filesystem?)
    make: *** [Makefile:4: all] Error 125
    

    It seems one needs to create this storage configuration and was fixed with the following;

    rm -rf ~/.local/share/containers/storage
    
    mkdir -p ~/.config/containers/storage
    
    echo -e "[storage]\ndriver = \"overlay\"" > ~/.config/containers/storage.conf
    

    Now it's all working;

    make
    
    podman run --network=host fuelignition:latest &
    
    xdg-open http://localhost:3000/fuel-ignition/ > /dev/null 2>&1
    

    Perhaps the README can be updated with this information?

    Note, I also used xdg-open as this will open the default browser for the user.

    opened by malcolmlewis 3
  • Adding storage drops to emergency mode

    Adding storage drops to emergency mode

    Hi The json generated/downloaded storage/file entry contains for example ;

    "source": "data:text/plain;charset=utf-8;,PermitRootLogin%20yes%0APasswordAuthentication%20yes"
    

    After generating the iso image (I'm using vagrant/libvirt) with;

    mkisofs -o $(pwd)/ignition.iso -V ignition disk
    

    It drops to emergency mode again...

    If I edit out the text/plain;charset=utf-8; and create the iso image again system boots to login prompt fine.

    No issues bringing the instance up if I just generate a user/passwd (Hash Yourself) and no storage.

    Operating System: opensuse/MicroOS.x86_64 (libvirt, 16.0.0.20220521)

    opened by malcolmlewis 2
  • Usage in Harvester

    Usage in Harvester

    When using the created image in harvester, it complains:

    Upload failed: the uploaded file size 20482460 should be a multiple of 512 bytes since Longhorn uses directIO by default

    opened by dgiebert 1
  • Downloaded config.ign file incorrectly formatted

    Downloaded config.ign file incorrectly formatted

    Hi The created config.ign code in the presented code window is correctly formated, if I copy and paste formatting is kept as follows;

    {
      "ignition": {
        "version": "3.2.0"
      },
      "passwd": {
        "users": [
          {
            "name": "root",
            "passwordHash":
    

    If I download the config.ign file and open in an editor (eg gedit) I see;

    {"ignition":{"version":"3.2.0"},"passwd":{"users":[{"name":"root","passwordHash":
    

    I'm using vagrant/libvirt to spin up a Tumbleweed MicroOS image, so after creating a disk image via;

    mkdir -p disk/ignition
    cp config.ign disk/ignition/
    mkisofs -o $(pwd)/ignition.iso -V ignition disk
    

    ISSUE: The cut/paste and saved version allows an image to spin up as expected, the downloaded version puts the system in maintenance mode.

    I'm assuming the downloaded image creation lacks the CR/LF to format properly?

    opened by malcolmlewis 1
  • npm ERR! Invalid version:

    npm ERR! Invalid version: "1.0"

    Hi I'm getting the following error when trying to run;

    podman run --network=host fuelignition:latest
    npm ERR! Invalid version: "1.0"
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /fuelignition/.npm/_logs/2022-05-23T13_54_50_536Z-debug.log
    

    Operating System: openSUSE Tumbleweed 20220521

    I've attached the debug log and make output;

    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/bin/node14', '/usr/bin/npm14', 'run', 'dev' ]
    2 info using [email protected]
    3 info using [email protected]
    4 verbose config Skipping project config: /fuelignition/.npmrc. (matches userconfig)
    5 verbose stack Error: Invalid version: "1.0"
    5 verbose stack     at Object.fixVersionField (/usr/lib64/node_modules/npm14/node_modules/normalize-package-data/lib/fixer.js:191:13)
    5 verbose stack     at /usr/lib64/node_modules/npm14/node_modules/normalize-package-data/lib/normalize.js:32:38
    5 verbose stack     at Array.forEach (<anonymous>)
    5 verbose stack     at normalize (/usr/lib64/node_modules/npm14/node_modules/normalize-package-data/lib/normalize.js:31:15)
    5 verbose stack     at final (/usr/lib64/node_modules/npm14/node_modules/read-package-json/read-json.js:429:5)
    5 verbose stack     at then (/usr/lib64/node_modules/npm14/node_modules/read-package-json/read-json.js:161:5)
    5 verbose stack     at /usr/lib64/node_modules/npm14/node_modules/read-package-json/read-json.js:382:12
    5 verbose stack     at /usr/lib64/node_modules/npm14/node_modules/graceful-fs/graceful-fs.js:123:16
    5 verbose stack     at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:71:3)
    6 verbose cwd /fuelignition
    7 verbose Linux 5.17.9-1-default
    8 verbose argv "/usr/bin/node14" "/usr/bin/npm14" "run" "dev"
    9 verbose node v14.18.3
    10 verbose npm  v6.14.15
    11 error Invalid version: "1.0"
    12 verbose exit [ 1, true ]
    
    make
    podman build --build-arg CONTAINER_USERID=1000 -t fuelignition .
    STEP 1/10: FROM registry.suse.com/bci/nodejs
    Trying to pull registry.suse.com/bci/nodejs:latest...
    Getting image source signatures
    Copying blob b03c0b85d07c done  
    Copying blob 669090d919f8 done  
    Copying config d85454d264 done  
    Writing manifest to image destination
    Storing signatures
    STEP 2/10: ARG CONTAINER_USERID
    --> c2baf60777c
    STEP 3/10: RUN zypper -n install --no-recommends mkisofs
    Refreshing service 'container-suseconnect-zypp'.
    Problem retrieving the repository index file for service 'container-suseconnect-zypp':
    [container-suseconnect-zypp|file:/usr/lib/zypp/plugins/services/container-suseconnect-zypp] 
    Warning: Skipping service 'container-suseconnect-zypp' because of the above error.
    Building repository 'SLE_BCI' cache [....done]
    Loading repository data...
    Reading installed packages...
    Resolving package dependencies...
    
    The following 4 NEW packages are going to be installed:
      libscg1_0 libschily1_0 mkisofs zisofs-tools
    
    The following 4 packages are not supported by their vendor:
      libscg1_0 libschily1_0 mkisofs zisofs-tools
    
    4 new packages to install.
    Overall download size: 478.4 KiB. Already cached: 0 B. After the operation, additional 1.7 MiB will be used.
    Continue? [y/n/v/...? shows all options] (y): y
    Retrieving package libschily1_0-3.02~a09-4.6.1.x86_64 (1/4),  62.0 KiB (140.8 KiB unpacked)
    Retrieving: libschily1_0-3.02~a09-4.6.1.x86_64.rpm [done]
    Retrieving package libscg1_0-3.02~a09-4.6.1.x86_64 (2/4),  45.0 KiB (104.4 KiB unpacked)
    Retrieving: libscg1_0-3.02~a09-4.6.1.x86_64.rpm [done]
    Retrieving package mkisofs-3.02~a09-4.6.1.x86_64 (3/4), 342.7 KiB (  1.4 MiB unpacked)
    Retrieving: mkisofs-3.02~a09-4.6.1.x86_64.rpm [.done (304.0 KiB/s)]
    Retrieving package zisofs-tools-1.0.8-1.27.x86_64 (4/4),  28.7 KiB ( 52.9 KiB unpacked)
    Retrieving: zisofs-tools-1.0.8-1.27.x86_64.rpm [done]
    
    Checking for file conflicts: [.......done]
    (1/4) Installing: libschily1_0-3.02~a09-4.6.1.x86_64 [.......done]
    (2/4) Installing: libscg1_0-3.02~a09-4.6.1.x86_64 [......done]
    (3/4) Installing: mkisofs-3.02~a09-4.6.1.x86_64 [............done]
    (4/4) Installing: zisofs-tools-1.0.8-1.27.x86_64 [......done]
    --> 173bd72f33f
    STEP 4/10: RUN useradd -m -d /fuelignition fuelignition -u ${CONTAINER_USERID}
    Group 'mail' not found. Creating the user mailbox file with 0600 mode.
    --> 0c1820a2c8c
    STEP 5/10: ADD . /fuelignition/
    --> 1dc4efd1941
    STEP 6/10: RUN chown -R fuelignition /fuelignition
    --> 98418b4a78b
    STEP 7/10: USER fuelignition
    --> 88537622831
    STEP 8/10: WORKDIR /fuelignition
    --> fe0b4463ba6
    STEP 9/10: RUN npm install
    npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!
    npm WARN Invalid version: "1.0"
    npm WARN fuelignition No description
    npm WARN fuelignition No repository field.
    npm WARN fuelignition No README data
    npm WARN fuelignition No license field.
    
    up to date in 1.14s
    found 0 vulnerabilities
    
    --> cdf3b5d9cdf
    STEP 10/10: CMD ["npm", "run", "dev"]
    COMMIT fuelignition
    --> 824585158c5
    Successfully tagged localhost/fuelignition:latest
    824585158c5ff35c7e9bd902b45bc0cc52424502582f501956ed5d9939335529
    
    opened by malcolmlewis 1
  • Reimplement image writing

    Reimplement image writing

    nan had to be updated as the old version didn't compile any more.

    The main part of this PR is the reimplementation of the image writing code, and as an additional bonus the JSON output is pretty-printed in the image file now (to match the configuration as it is displayed in the browser).

    opened by laenion 0
Releases(1.0.0)
Owner
openSUSE
Your friendly neighborhood free software project promoting the use of Linux everywhere, working as part of the worldwide community
openSUSE
Web Extension — A new tab page extension with material design and useful features :new: :tada:

Epiboard A new tab page adding a touch of wow and an interface following the lines of the material design. ?? ?? . You can simply and quickly access t

Alex 307 Dec 13, 2022
JSON Schema Editor is an intuitive editor for JSON schema. It provides a tree view to present the structure of schema, and a property inspector to edit the properties of schema element. Develop with Vue.js 2 and Firebase.

json-schema-editor An intuitive editor for JSON schema which provides a tree view to present structure of schema and a property inspector to edit the

TangramJs 235 Jan 3, 2023
NoteHub is an online note sharing platform where users can edit notes with a versatile rich-text editor in a real-time collaborative environment

NoteHub is an online note sharing platform where users can edit notes with a versatile rich-text editor in a real-time collaborative environment. NoteHub also provides notes sharing features between individuals or communities, and even more advanced features such as AI assistance, including content summarization, Q&A, voice to text transcription, and handwritten text recognition.

Boquan (Brian) Yin 15 Aug 16, 2022
NoteHub is an online note sharing platform where users can edit notes with a versatile rich-text editor in a real-time collaborative environment.

NoteHub is an online note sharing platform where users can edit notes with a versatile rich-text editor in a real-time collaborative environment. NoteHub also provides notes sharing features between individuals or communities, and even more advanced features such as AI assistance, including content summarization, Q&A, voice to text transcription, and handwritten text recognition.

null 15 Aug 16, 2022
Kinklist-v2 - New version of kinklist. Kinklist lets you easily share your preferences in kink with others

kinklistv2 Project setup yarn install Compiles and hot-reloads for development yarn serve Compiles and minifies for production yarn build Lints and

null 3 Oct 24, 2022
Config files for my GitHub profile.

Github太慢的话可以访问Gitee国内地址:https://gitee.com/chendark/chendark 前言 1.之前一直使用hexo做为博客引擎然后上传至github来做静态博客网站,后部署至gitee。但由于站内文章越来越多,导致自己需要一套轻松便捷的博客管理系统来进行管理。 2

Chen 0 Nov 26, 2022
Bytebase is a web-based, zero-config, dependency-free database schema change and version control management tool for developers and DBAs

Web-based, zero-config, dependency-free database schema change and version control tool for teams.

Bytebase 4.6k Jan 9, 2023
Use Grid-Awesome to generate boilerplate css for grid layouts using the css display: grid; property.

Grid Awesome Use Grid-Awesome to generate boilerplate css for grid layouts using the css display: grid; property. Demo Getting Started git clone https

Louis Bourque 24 Nov 27, 2022
A simple app generate ethereum wallet with vuejs.

vuethwallet A simple app using eth-lightwallet and vuejs to generate ethereum wallet. Usage Run development environment clone the repo npm install npm

Peter Lai 55 May 11, 2022
Vue single page app to generate Terraform code for Mongey's Kafka provider

Vue single page app to generate Terraform code for Mongey's Kafka provider

null 2 Jan 19, 2022
A simple app generate ethereum wallet with vuejs.

vuethwallet A simple app using eth-lightwallet and vuejs to generate ethereum wallet. Usage Run development environment clone the repo npm install npm

Peter Lai 55 May 11, 2022
Quasar-app-extension-color-scheme - Generate nice, pretty color schemes for your Quasar project

Quasar App Extension color-scheme Generate nice, pretty color schemes for your Q

null 1 Jan 9, 2022
Generate dynamic PDFs using Vue templates and Prince

Generate dynamic PDFs using Vue templates and Prince

Mom's Friendly Development Company 0 Mar 21, 2021
Stable UI is a web user interface designed to generate, save, and view images using Stable Diffusion, with the goal being able to provide Stable Diffusion to anyone.

stable-ui Stable UI is a web user interface designed to generate, save, and view images using Stable Diffusion, with the goal being able to provide St

null 52 Jan 2, 2023
🚕 Simple automation desktop app to download and organize your receipts from Uber/Lyft. Try out our new Ride Receipts PRO !

Simple automation desktop app to download and organize your receipts from Uber and Lyft. Download To download Ride Receipts or purchase Ride Receipts

Hello Efficiency 138 Nov 21, 2022
A platform where users can sell and buy new as well as old/used products. Made using Golang, Gorilla Mux, SQLite and Vue.js

A platform where users can sell and buy new as well as old/used products. Made using Golang, Gorilla Mux, SQLite and Vue.js

Niloy Sikdar 18 Oct 6, 2021
🚀 Lightweight Browser new tab extension | 一款轻量简洁的新标签页浏览器插件

Light Tab Page 轻标签页 一款轻量简洁的新标签页浏览器插件,专注新标签页基础功能 使用下一代前端开发与构建框架编写,更低CPU、内存占用,加载更迅速 安装 Chrome 应用商店(待上架) Edge 应用商店 Firefox 应用商店 离线安装包 体验地址 (仅缺失部分插件独有功能)

Zhang 75 Dec 20, 2022