Git Product home page Git Product logo

forester's Introduction

Forester Project

Bare-metal image-based unattended provisioning service for Red Hat Anaconda (Fedora, RHEL, CentOS Stream, Alma Linux...) which works out-of-box. It utilises Redfish API and UEFI HTTP Boot to deploy images created by Image Builder through Anaconda.

More information, quick start and documentation available at https://foresterorg.github.io

API

The service API is RPC over HTTP with OpenAPI Specification

Language clients:

Feedback and support

Visit our discussion forums!

License

GNU GPL v3

Copyright (c) 2022 Lukáš Zapletal and AUTHORS, (c) 2023 Red Hat, Inc.

TODO

  • Direct ISO boot only through EFI HTTP and BIOS iPXE sanboot
  • Support for generic (netboot) images (https://odcs.fedoraproject.org/composes/production/latest-Fedora-ELN/compose/BaseOS/x86_64/os/images/boot.iso)
  • Support for ostree/bootc via generic (netboot) images
  • Uploading via URL
  • Bootstrapping unknown hosts does not work (make discovery interactive?)
  • Update documentation on the recent changes (template generation, note that iPXE will not work with SecureBoot)
  • Create events table and store installation milestones (boot, ks, finish) and rendered templates in the database
  • Change log level to debug for "finished request" log for range requests (blocks are 4096, 8192, 32768, 65536 or) for ISO HTTP EFI Boot workflow: msg="finished request" method=GET path=/img/1/image.iso duration_ms=0s status=206 bytes=131072 trace_id=pBI45d1z
  • Detect installation IP address (shim + %pre curl + event table) and secure the default sshpw password with "ssh" CLI fully working
  • Squash migrations and refactor table names to singular
  • Perform power operation in a goroutine (simple scheduler)
  • Improve hardcoded power cycle delay (configurable?)
  • Implement pykickstart checking of kickstart content (generated template and ks)
  • Importing shim signatures in discovery mode: https://lukas.zapletalovi.com/posts/2021/rhelcentos-8-shim-kernel-signatures/
  • Ability to create/edit/show system comment
  • Make SlogDualWriter optional (this is only useful for debugging)

forester's People

Contributors

lzap avatar ezr-ondrej avatar

Stargazers

Jonathan Holloway avatar  avatar Chris S avatar  avatar Daniel Theodoro avatar Joel Rebello avatar Ron Lavi avatar Neal Gompa (ニール・ゴンパ) avatar David Hillman avatar Mark Kogan avatar Patrick M. Slattery avatar  avatar Chris Hayter avatar Marcin Skarbek avatar Liam Proven avatar

Watchers

 avatar Joel Rebello avatar Jonathan Holloway avatar Liam Proven avatar

forester's Issues

New EFI entry is not booted by QEMU

After restart, new EFI entry is not booted by qemu and system boots from network again. This is a known limitation of the libvirt API. There has to be a way to workaround this as Cockpit has "Install" button instead of "Start" button for the initial installation (but still use <boot dev='hd'/>).

Controller container build fails

  1. slice package is not available for go:1.20
  2. microdnf fails to download the packages even if I move it from CMD to RUN (as we want to download during build time)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.