Skip to content

sadaszewski/focker

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Focker 2

- IMPORTANT LEGAL NOTICE
-
- I oppose totalitarianism, anti-constitutional crimes and crimes against
- Human Rights. If you support forced or effectively forced gene therapy
- (or other medical procedures), digital identity tracking, contact tracing,
- lockdowns and/or abolition of cash, I expressly deny any license to you
- for using this and/or any other software of mine in any way, shape or form.

Visit:

  • covidhub.ch,
  • verfassungsfreunde.ch,
  • actions-suisse.ch,
  • banbye.pl

to get your facts straight.

To install Focker 2, please read the Installation manual.

For introduction, see Basic Usage Guide or Detailed Intro. For an end-to-end example with description, see the scm-manager example.

Focker underwent a not-so-slow overhaul in the period of June-August 2021 which was concluded by the release of version 2.0. The aim was to make the code more structured, have better abstractions/more reusability and to lay foundations for the future development. Consequently, three major objectives have been achieved:

  • API - new abstractions constitute a framework which makes Focker as easy to use in custom code as in the command line,
  • Configurability - at the same time the way Focker's configuration is passed around has been remade, allowing to pass any and all Focker parameters either on the command line OR via environment variables OR by system/user-specific configuration files - /etc/focker.conf, /usr/local/etc/focker.conf and ~/focker.conf,
  • Plugins system - the native Focker command modules (image, jail, compose) have become plugins themselves and the rule now is to implement every new block of functionality as a plugin on top of the slim and robust core.

Three important mechanisms have changed:

  • Facets - facets and dictionary-based steps are innovations that vastly improve the image recipe writing experience,
  • FEnv (Focker Environment) Variables can be used to parametrize the processes of image and composition building.
  • Bootstrap - bootstrap is now more granular and gives user more control.

Focker 2.0 introduced as well many smaller Improvements:

  • Taking into account the exec.fib setting when running focker jail exec,
  • Allow for bootstrapping images using different versions of FreeBSD not only the current one,
  • Sorting of listing results,
  • Configurable prefix for names in /etc/jail.conf,
  • Configurable location (dataset) for focker objects.
  • Detect usage of volumes by jails when pruning
  • Roundtrip jail.conf parser
  • Automatically create mount destinations if they don't exist
  • Allow to include other Fockerfiles inside of a Fockerfile, as an alternative to the scheme of base images,
  • Make a few more settings configurable, e.g. whether to copy /etc/resolv.conf or not, possibility of static resolv.conf, etc.,

Future development will focus on providing the "Infrastructure as Code" functionality well-known from the Kubernetes (K8s) ecosystem and highly appreciated by the industry.

About

Focker is a FreeBSD image/jail orchestration tool in the vein of Docker.

Resources

License

Stars

Watchers

Forks

Packages

No packages published