Potluck is to FreeBSD and pot
what Dockerhub is to Linux and Docker.
Ok, maybe it is not yet as big, but soon it will be. Even bigger. With your help.
How Do I Use Potluck
On the start page of this website you see a list of alphabetically sorted (and in the upper right corner also tagged) flavours and images for pot
. To use them, you need to have pot
installed on FreeBSD (pkg install pot
).
Simply click on one entry in the repository and it is explained to you how you can either easily use pot
to directly import the image from this repository (more or less like using FreeBSD pkg
) or to create the jail from scratch with the flavour files yourself (a bit like using the FreeBSD Ports Collection).
Note: Potluck uses Let`s Encrypt certificates, so if you get certificate errors when running pot import
, install the root certificate package first:
pkg install ca_root_nss
Can I Trust the Images?
After reading this section, please also read our disclaimer.
To help you answer the question for yourself whether you trust the images published on this site for tests or even production, let us explain how the repository is managed.
- All the images are based on the flavours listed on the github flavour repository. Pull requests or additions will always be curated.
- A Jenkins instance fetches the flavours from the github project and feeds them into build servers that run
pot
to validate the flavours and create the images. pot
builds the images by only executing the flavour scripts from github, usually in the process fetching packages from the official FreeBSD pkg mirrors (since the system is located in South Africa at the moment, the mirrors being used are most likely the South African FreeBSD mirrors).
To understand exactly whatpot
is doing, feel free to read the flavour scripts either on github or in the repository listing on this site.- After the build, Jenkins pushes the files, the build output, build logs etc. to the repository for you to see and download.
The Jenkins instance, the build servers and the repository web server are managed by Honeyguide Group (Pty) Ltd as a service to the FreeBSD and Open Source community.
Please note that there currently are no mechanisms in place to protect the image file integrity e.g. with private keys and hashes.
Unlike the FreeBSD Jenkins environment, the Jenkins instance and the build servers are currently not publicly accessible, this might change when we find the time to work on this (help is always welcome!).
What are NOMAD Flavours/Images?
First of all, flavours/images marked with nomad
can be used only with pot
, without any additional tools or setups, like all other flavours and images on this site.
On the other hand, flavours/images not marked with nomad
can not so easily used with nomad
.
The main difference is that pot start
does not return when starting nomad
-images but instead one (main) process is started which does not return to the shell (or other process starting pot
) until the jail is stopped or this process gets killed.
The reason for this are requirements of nomad
container orchestration. For more details and how to use it, see ORCHESTRATING JAILS WITH NOMAD AND POT - A container-based cloud computing platform for FreeBSD on papers.freebsd.org.
I Want To Provide Flavours/Images!
This repository is a community effort, like the FreeBSD Ports collection, so any kind of feedback and support is welcome.
If you want to reuse our code which should significantly simplify flavour creation, go to our how-to.
If you do have any flavours you would like to add or improvements to existing flavours, please either send them to us (contact details in the header) or - preferably - directly create a pull request on the github project.
Please note that we only add flavours, the images will always be created by our Jenkins instance on our build servers to ensure that they are as trustworthy as possible (not unlike the official FreeBSD pkg repositories).
Do You Own The Copyright To All The Software?
No.
As you can see from the build scripts, the generated images are assembled from FreeBSD Packages and Ports and configured by the flavour scripts. The licenses of the software used in these images needs to be understood and adhered to.
If you are unsure about which software is included in the images, please read and understand the flavour scripts published on the repository entry on this website.
Disclaimer
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.