Skip to content

Releases: bsdpot/pot

0.10.2

17 Dec 11:14
Compare
Choose a tag to compare

Another bug fix release, with small improvements added:

Added

  • fbsd-update flavour: add a flavour to run freebsd update

Changed

  • slim flavour: remove a bounch of other directories

Fixed

  • flavor: set-cmd can cause issue if it has quotes or double quotes in the command string
  • tinirc: lo1 initialization needed only for public or private bridge
  • start: background tasks now check if the pot is running
  • init: fix bridge folder creation
  • prepare: fix prepare when no command is provided (-c is optional)

0.10.1

04 Dec 14:53
Compare
Choose a tag to compare

Mainly a bug fix release, but with initial support for hooks scripts.

Added

  • set-hooks: add support for pre/post start/stop hooks. Script are executed in the host environment (#61)

Changed

  • home-usr/home: those link are not always available. Change create and crate-base to have them always (reported by Philip Jocks)

Fixed

  • create: permission of /tmp in single type are wrong (#72)
  • create: if FreeBSD base fetch is interrupted, a broken file is left and the checksum will always fail (#73)
  • import: if the image fetch is interrupted, a broken file is left and the checksum will always fail
  • import: fix hostname rename
  • localhost-tunnel: fix kill of ncat tunnel, when the pot has a long name

0.10.0

01 Nov 17:15
Compare
Choose a tag to compare

Short Changelog for Release 0.10.0

New network type private-bridge

From a network point of view, private-bridge works in the same way as public-bridge. However, you can have more than one private-bridge (you can create new bridges with the new command create-private-bridge) and every private bridge is isolated: the bridges are not connected together.

Added

  • set-hosts: new command to add custom etc/hosts entries to a pot
  • set-env: new command to add environment variable to a pot
  • Image Guide: added a guide about how to create an Image of a pot
  • POT_EXTRA_EXTIF: add multiple network interfaces support

Changed

  • start: overwrite /etc/hosts of a pot, adding all pots on the same bridge and custom entries added via set-hosts

Deprecated

  • snapshot: -n option to provide custom name to snapshots
  • snapshot: support to full pot snapshot (external zfs dataset) in snapshot and start, as well as the _pot_zfs_snap_full function
  • snapshot: support to full pot revert (external zfs dataset) in revert/rollback (option -a)
  • create-dns: undocumented and too hard to maintain
  • export: -s option, to specify a snapshot. It's misleading, because zfs send -R will send all the previous snapshots anyway

0.9.2

20 Sep 09:47
Compare
Choose a tag to compare

Fix release

  • improve robustness of stop (workaround for a race condition in the kernel)
  • introducing lockf to run create, import or clone one at a time

0.9.1

20 Aug 13:34
Compare
Choose a tag to compare

Fixes release

Release with fixes mainly directed to improve the experience with nomad

Added

Add an attribute to spawn a tunnel to allow exported ports to be reachable from the host using the external IP as well. It's a feature needed by consul and, for some reason, pf redirection doesn't fully work.
This attribute is automatically set on with pots generated with the command prepare
This new feature needs nmap package, to use the ncat utility

Fixed

fixes in commands:

  • start
  • destroy
  • get-rss
  • set-cmd

0.9.0

13 Aug 11:08
Compare
Choose a tag to compare

Breaking change: set-rss for CPUs is based on the number of CPUs, not on which CPUs.
Dependency: potnet 0.3.1 is needed, it provides the potcpu utility

Added

  • Installation Guide: a more detailed guide, that better explains the installation of pot
  • fdescfs attribute: new attribute to mount fdescfs inside the pot
  • init: add a network configuration validation step

Changed

  • POT_CACHE: the cache used by import is now a dataset, child of POT_ZFS_ROOT
  • set-rss: CPU limits is set as maximum amount of CPU. At start, pot decide where to allocate using potcpu
  • prunable: if a pot is prunable, it has to be started at least once to be pruned (flavour counts)

0.8.0

31 Jul 13:11
Compare
Choose a tag to compare

More work to better support orchestration tools.
Removed all commands mark as deprecated until the 0.7.0 release
Reworked the create command to better configure the network type of the pot
clonenow support the change of network type of the pot

Detailed change list:

Added

  • update-config: implemented -a flag to update all pot configurations in one run
  • get-rss: show the current resources usage (output available in json)
  • procfs attribute: new attribute to mount a procfs inside the pot
  • prunable attribute: new attribute prunable, to automatically delete not running pots (prune)
  • prune: new command to automatically destroy inactive prunable pots

Changed

  • create: rework how to configure the network type of a pot
  • Quickstart Guide: rework the guide using mount-in and copy-in, listing all possibilities
  • README: remove the introduction and pointing to the Quickstart guide instead
  • import: removed -a option, not really needed during import
  • prepare: optimized, importing once and using clone instead of import+rename every time
  • clone: add -N option, to change network type while cloning
  • prepare: add -N option, to change network type while preparing

Removed

  • promote: after a long deprecation time, promote has been deleted
  • add-fscomp: removed, mount-in is its more generic replacement
  • add-file: removed, copy-in is its more generic replacement
  • execute: remove this alias of prepare

Fixed

  • start: if the start command doesn't go in background, rss and persist weren't managed

0.7.0

04 Jul 15:27
Compare
Choose a tag to compare
0.7.0 Pre-release
Pre-release

This new release introduce new commands designed to be used by an orchestrator, like nomad.
The new command copy-in will take the place of add-file, extending the support to directories.
The new command mount-in will take the place of add-fscomp, make it more general and intuitive.
The new command update-config has been introduced to update the configuration of existing pot with the last version of the framework.

Changelog

Added

  • update-config: new command that will update a pot configuration
  • execute: an orchestration oriented command that imports and automatically set several settings on a pot
  • prepare: new command, taking the place of execute
  • copy-in: new command, to copy files or directory inside a pot (generalized replacement of add-file)
  • mount-in: new command, to mount a directory, a zfs dataset or a fscomp inside a pot (replacement for add-fscomp)

Changed

  • export-ports: removed -S for static port export
  • export-ports: add the ability to associate any host port to a pot port to be exported using pot_port:host_port format
  • execute: an alias for prepare

Deprecated

  • add-file: deprecated, replaced by the more general new copy-in command
  • add-fscomp: deprecated, replaces by the more general new mount-in command

0.6.1

25 Jun 13:01
Compare
Choose a tag to compare
0.6.1 Pre-release
Pre-release

Fix-only release

fixes to make pf initialization more robust

0.6.0

23 Jun 14:32
Compare
Choose a tag to compare
0.6.0 Pre-release
Pre-release

This release is a big step to use improve jails usability and to provide commands designed to be used by a container orchestrator.

UPGRADE Instructions

A less intrusive way to deal with pf has been implemented. To upgrade from a previous version of pot to 0.6.0 this is the process:

  • stop all your pots
  • re-run pot init
    Depending on your configuration, restart pf could be necessary.

Changelog

Added

  • add-fscomp: add option -d, to allow to mount generic directories into a pot (-d and -f are mutual)
  • show: add -q flag, to only show pot names
  • set-attribute: to set pot attributes (options/flags/configurations)
  • get-attribute: to get pot attributes (options/flags/configurations)
  • FreeBSD version usable to create a pot are all the ones listed in the FreeBSD MANIFEST
  • attributes: add persistent attribute to jail
  • attributes: add no-rc-script attribute to start a pot without a rc script
  • add-file: new command to copy a single file inside a pot

Changed

  • inherit network: added ipv6 support (automatic)
  • static IP network: added ipv6 support
  • pf: adopt anchor with relevant changes in nat rules management

Deprecated

  • pot_list: in rc.conf pot_list is not supported anymore. Please use the start-at-boot attribute

Fixed

  • syntax error in zsh autocompletion
  • ls fscomp: using zfs instead of ls (if a fscomp is re-mounted, the mountpoint is not in /opt/pot/fscomp anymore)
  • static-ip: Fix invocation to potnet to validate ip addresses