Index: net/Makefile =================================================================== --- net/Makefile +++ net/Makefile @@ -87,6 +87,7 @@ SUBDIR += clusterit SUBDIR += cnd SUBDIR += concourse-fly + SUBDIR += containernetworking-plugins SUBDIR += corkscrew SUBDIR += corosync2 SUBDIR += corosync3 Index: net/containernetworking-plugins/Makefile =================================================================== --- /dev/null +++ net/containernetworking-plugins/Makefile @@ -0,0 +1,28 @@ +PORTNAME= containernetworking-plugins +DISTVERSION= 0.1 +CATEGORIES= net + +MAINTAINER= dfr@FreeBSD.org +COMMENT= Networking plugins for container networking support +WWW= https://github.com/containernetworking/plugins + +LICENSE= GPLv2 + +USES= go:no_targets +BUILD_DEPENDS= bash:shells/bash + +USE_GITHUB= yes +GH_ACCOUNT= dfr +GH_PROJECT= plugins +GH_TAGNAME= 60b0a2b + +do-build: + cd ${WRKSRC} && ${SETENV} XDG_CACHE_HOME=${WRKDIR}/.cache GO=${GO_CMD} ./build_freebsd.sh + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/cni + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/containers + cd ${WRKSRC} && ${INSTALL_PROGRAM} bin/* ${STAGEDIR}${PREFIX}/libexec/cni + ${INSTALL_DATA} files/pf.conf.sample ${STAGEDIR}${PREFIX}/etc/containers + +.include Index: net/containernetworking-plugins/distinfo =================================================================== --- /dev/null +++ net/containernetworking-plugins/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1667064085 +SHA256 (dfr-plugins-0.1-60b0a2b_GH0.tar.gz) = e2eb2a6ec6209b4cd08ebd53b104fe1d0edafb3d3473c8450e60a69e3c509399 +SIZE (dfr-plugins-0.1-60b0a2b_GH0.tar.gz) = 4197131 Index: net/containernetworking-plugins/files/pf.conf.sample =================================================================== --- /dev/null +++ net/containernetworking-plugins/files/pf.conf.sample @@ -0,0 +1,8 @@ +# Change this to the interface with the default route +egress_if = "ix0" + +nat on $egress_if inet from to any -> ($egress_if) +nat on $egress_if inet6 from to !ff00::/8 -> ($egress_if) + +rdr-anchor "cni-rdr/*" +table Index: net/containernetworking-plugins/pkg-descr =================================================================== --- /dev/null +++ net/containernetworking-plugins/pkg-descr @@ -0,0 +1,3 @@ +CNI plugins for container networking support. This is used by +container engines such as podman and buildah to setup and teardown +network access for containers. Index: net/containernetworking-plugins/pkg-message =================================================================== --- /dev/null +++ net/containernetworking-plugins/pkg-message @@ -0,0 +1,8 @@ +Container networking relies on NAT to allow container network packets +out to the host's network. This requires a PF firewall to perform the +translation. A simple example is included - to use it: + +# cp /usr/local/etc/containers/pf.conf.sample /etc/pf.conf +... edit /etc/pf.conf and set egress_if to your network interface ... +# sysrc pf_enable=YES +# service pf start Index: net/containernetworking-plugins/pkg-plist =================================================================== --- /dev/null +++ net/containernetworking-plugins/pkg-plist @@ -0,0 +1,8 @@ +etc/containers/pf.conf.sample +libexec/cni/bridge +libexec/cni/firewall +libexec/cni/host-local +libexec/cni/loopback +libexec/cni/portmap +libexec/cni/static +libexec/cni/tuning Index: sysutils/Makefile =================================================================== --- sysutils/Makefile +++ sysutils/Makefile @@ -147,6 +147,7 @@ SUBDIR += bstack SUBDIR += btop SUBDIR += btsixad + SUBDIR += buildah SUBDIR += bulk_extractor SUBDIR += bupstash SUBDIR += burp @@ -211,7 +212,9 @@ SUBDIR += conky SUBDIR += conky-awesome SUBDIR += conman + SUBDIR += conmon SUBDIR += consolehm + SUBDIR += containers-common SUBDIR += consolekit2 SUBDIR += consul SUBDIR += consul-alerts @@ -830,6 +833,7 @@ SUBDIR += oak SUBDIR += obliterate SUBDIR += oc + SUBDIR += ocijail SUBDIR += odo SUBDIR += ods2 SUBDIR += ohmu @@ -1012,6 +1016,8 @@ SUBDIR += plconfig SUBDIR += pmt SUBDIR += pnscan + SUBDIR += podman + SUBDIR += podman-suite SUBDIR += polkit SUBDIR += polkit-gnome SUBDIR += polkit-qt @@ -1322,6 +1328,7 @@ SUBDIR += signon-plugin-oauth2 SUBDIR += signon-qt5 SUBDIR += signon-ui + SUBDIR += skopeo SUBDIR += slack SUBDIR += sleuthkit SUBDIR += slst Index: sysutils/buildah/Makefile =================================================================== --- /dev/null +++ sysutils/buildah/Makefile @@ -0,0 +1,27 @@ +PORTNAME= buildah +PORTVERSION= 1.28.1.dev +CATEGORIES= sysutils + +MAINTAINER= dfr@FreeBSD.org +COMMENT= Manage Pods, Containers and Container Images +WWW= https://github.com/containers + +LICENSE= GPLv2 + +LIB_DEPENDS= libgpgme.so:security/gpgme +RUN_DEPENDS= containers-common>=0:sysutils/containers-common \ + containernetworking-plugins>=0:net/containernetworking-plugins \ + ocijail:sysutils/ocijail +BUILD_DEPENDS= go-md2man:textproc/go-md2man \ + bash:shells/bash \ + gsed:textproc/gsed + +USES= gmake go:no_targets pkgconfig + +USE_GITHUB= yes +GH_ACCOUNT= containers +GH_PROJECT= buildah +GH_TAGNAME= c2cf9fa +INSTALL_TARGET= install install.completions + +.include Index: sysutils/buildah/distinfo =================================================================== --- /dev/null +++ sysutils/buildah/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1667387850 +SHA256 (containers-buildah-1.28.1.dev-c2cf9fa_GH0.tar.gz) = 0466d8a7aeb83f70d1223c63119a8f59b4010e6450c4ea9a6b52f6e9ee422a2c +SIZE (containers-buildah-1.28.1.dev-c2cf9fa_GH0.tar.gz) = 14799241 Index: sysutils/buildah/pkg-descr =================================================================== --- /dev/null +++ sysutils/buildah/pkg-descr @@ -0,0 +1,7 @@ +The buildah package provides a command line tool which can be used to +* create a working container from scratch +or +* create a working container from an image as a starting point +* mount/umount a working container's root file system for manipulation +* save container's root file system layer to create a new image +* delete a working container or an image. Index: sysutils/buildah/pkg-message =================================================================== --- /dev/null +++ sysutils/buildah/pkg-message @@ -0,0 +1,2 @@ +This port of the buildah image building tool is based on unreleased +sources and should be used for evaluation and testing purposes only. Index: sysutils/buildah/pkg-plist =================================================================== --- /dev/null +++ sysutils/buildah/pkg-plist @@ -0,0 +1,41 @@ +bin/buildah +share/bash-completion/completions/buildah +share/man/man1/buildah-add.1.gz +share/man/man1/buildah-bud.1.gz +share/man/man1/buildah-build.1.gz +share/man/man1/buildah-commit.1.gz +share/man/man1/buildah-config.1.gz +share/man/man1/buildah-containers.1.gz +share/man/man1/buildah-copy.1.gz +share/man/man1/buildah-from.1.gz +share/man/man1/buildah-images.1.gz +share/man/man1/buildah-info.1.gz +share/man/man1/buildah-inspect.1.gz +share/man/man1/buildah-login.1.gz +share/man/man1/buildah-logout.1.gz +share/man/man1/buildah-manifest-add.1.gz +share/man/man1/buildah-manifest-annotate.1.gz +share/man/man1/buildah-manifest-create.1.gz +share/man/man1/buildah-manifest-exists.1.gz +share/man/man1/buildah-manifest-inspect.1.gz +share/man/man1/buildah-manifest-push.1.gz +share/man/man1/buildah-manifest-remove.1.gz +share/man/man1/buildah-manifest-rm.1.gz +share/man/man1/buildah-manifest.1.gz +share/man/man1/buildah-mount.1.gz +share/man/man1/buildah-pull.1.gz +share/man/man1/buildah-push.1.gz +share/man/man1/buildah-rename.1.gz +share/man/man1/buildah-rm.1.gz +share/man/man1/buildah-rmi.1.gz +share/man/man1/buildah-run.1.gz +share/man/man1/buildah-source-add.1.gz +share/man/man1/buildah-source-create.1.gz +share/man/man1/buildah-source-pull.1.gz +share/man/man1/buildah-source-push.1.gz +share/man/man1/buildah-source.1.gz +share/man/man1/buildah-tag.1.gz +share/man/man1/buildah-umount.1.gz +share/man/man1/buildah-unshare.1.gz +share/man/man1/buildah-version.1.gz +share/man/man1/buildah.1.gz Index: sysutils/conmon/Makefile =================================================================== --- /dev/null +++ sysutils/conmon/Makefile @@ -0,0 +1,19 @@ +PORTNAME= conmon +DISTVERSION= 2.1.4 +CATEGORIES= sysutils + +MAINTAINER= dfr@FreeBSD.org +COMMENT= OCI container runtime monitor +WWW= https://github.com/containers + +LICENSE= GPLv2 + +LIB_DEPENDS= libglib-2.0.so:devel/glib20 +BUILD_DEPENDS= bash:shells/bash + +USES= gmake go:no_targets pkgconfig +USE_GITHUB= yes +GH_ACCOUNT= containers +GH_TAGNAME= 1df3e90 + +.include Index: sysutils/conmon/distinfo =================================================================== --- /dev/null +++ sysutils/conmon/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1666527539 +SHA256 (containers-conmon-2.1.4-1df3e90_GH0.tar.gz) = 06cf4af13ea5c3098e084cd5280e14d4966289f4408d5df31fa3f02d1c2e1ed5 +SIZE (containers-conmon-2.1.4-1df3e90_GH0.tar.gz) = 160805 Index: sysutils/conmon/pkg-descr =================================================================== --- /dev/null +++ sysutils/conmon/pkg-descr @@ -0,0 +1,3 @@ +conmon is a command-line program for monitoring and managing the +lifecycle of containers that follow the Open Container Initiative +(OCI) format. Index: sysutils/conmon/pkg-plist =================================================================== --- /dev/null +++ sysutils/conmon/pkg-plist @@ -0,0 +1,2 @@ +bin/conmon +share/man/man8/conmon.8.gz Index: sysutils/containers-common/Makefile =================================================================== --- /dev/null +++ sysutils/containers-common/Makefile @@ -0,0 +1,51 @@ +PORTNAME= containers-common +DISTVERSIONPREFIX= v +DISTVERSION= 0.50.1 +CATEGORIES= sysutils + +MAINTAINER= dfr@FreeBSD.org +COMMENT= Common manpages and config files for podman and buildah +WWW= https://github.com/containers + +LICENSE= GPLv2 + +BUILD_DEPENDS= curl:ftp/curl go-md2man:textproc/go-md2man bash:shells/bash + +USES= gmake + +IMAGEVERSION= 5.22.1 +STORAGEVERSION= 1.43.0 +SKOPEOVERSION= 1.10.0 + +USE_GITHUB= nodefault +GH_ACCOUNT= containers:common containers:image containers:storage containers:skopeo +GH_PROJECT= common:common image:image storage:storage skopeo:skopeo +GH_TAGNAME= v${DISTVERSION}:common v${IMAGEVERSION}:image v${STORAGEVERSION}:storage v${SKOPEOVERSION}:skopeo + +NO_ARCH= yes + +WRKSRC= ${WRKDIR}/common-${DISTVERSION} +IMAGESRC= ${WRKDIR}/image-${IMAGEVERSION} +STORAGESRC= ${WRKDIR}/storage-${STORAGEVERSION} +SKOPEOSRC= ${WRKDIR}/skopeo-${SKOPEOVERSION} + +do-build: + ${GMAKE} -C ${WRKSRC}/docs + ${GMAKE} -C ${STORAGESRC} install.tools + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/containers/certs.d + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/containers/hooks.d + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/containers/registries.d + ${INSTALL_DATA} ${SKOPEOSRC}/default-policy.json ${STAGEDIR}${PREFIX}/etc/containers/policy.json.sample + # Temporary until https://github.com/containers/common/pull/1199 propagates to podman and buildah + ${INSTALL_DATA} ${PATCHDIR}/containers.conf ${STAGEDIR}${PREFIX}/etc/containers/containers.conf.sample + #${INSTALL_DATA} ${WRKSRC}/pkg/config/containers.conf-freebsd ${STAGEDIR}${PREFIX}/etc/containers/containers.conf.sample + ${INSTALL_DATA} ${STORAGESRC}/storage.conf-freebsd ${STAGEDIR}${PREFIX}/etc/containers/storage.conf.sample + ${INSTALL_DATA} ${IMAGESRC}/registries.conf ${STAGEDIR}${PREFIX}/etc/containers/registries.conf.sample + ${GMAKE} -C ${WRKSRC}/docs DESTDIR=${STAGEDIR} install + ${GMAKE} -C ${IMAGESRC} PREFIX=${STAGEDIR}${PREFIX} install-docs + ${GMAKE} -C ${STORAGESRC}/docs GOMD2MAN=${LOCALBASE}/bin/go-md2man containers-storage.conf.5 + ${INSTALL_MAN} ${STORAGESRC}/docs/containers-storage.conf.5 ${STAGEDIR}${PREFIX}/share/man/man5 + +.include Index: sysutils/containers-common/distinfo =================================================================== --- /dev/null +++ sysutils/containers-common/distinfo @@ -0,0 +1,9 @@ +TIMESTAMP = 1666442335 +SHA256 (containers-common-v0.50.1_GH0.tar.gz) = 35d5c1d2a1e5d51bd75e017b06b5a3bf54b1a8d44029eedf489df04dab394efa +SIZE (containers-common-v0.50.1_GH0.tar.gz) = 8579517 +SHA256 (containers-image-v5.22.1_GH0.tar.gz) = f76780cb2d3389805d56ea9162482e291de527a4f628624016eb7b0f9e06c750 +SIZE (containers-image-v5.22.1_GH0.tar.gz) = 645125 +SHA256 (containers-storage-v1.43.0_GH0.tar.gz) = 472d0190106573db5f9b97ed1f60f96f06ed8534d3b30f86ef98556f0a462c29 +SIZE (containers-storage-v1.43.0_GH0.tar.gz) = 3773804 +SHA256 (containers-skopeo-v1.10.0_GH0.tar.gz) = c3d15ec25c028980b795a0ccdcd48296287b8467fe24a7bc319f5fc87378fe8c +SIZE (containers-skopeo-v1.10.0_GH0.tar.gz) = 6460856 Index: sysutils/containers-common/files/containers.conf =================================================================== --- /dev/null +++ sysutils/containers-common/files/containers.conf @@ -0,0 +1,642 @@ +# The containers configuration file specifies all of the available configuration +# command-line options/flags for container engine tools like Podman & Buildah, +# but in a TOML format that can be easily modified and versioned. + +# Please refer to containers.conf(5) for details of all configuration options. +# Not all container engines implement all of the options. +# All of the options have hard coded defaults and these options will override +# the built in defaults. Users can then override these options via the command +# line. Container engines will read containers.conf files in up to three +# locations in the following order: +# 1. /usr/local/share/containers/containers.conf +# 2. /usr/local/etc/containers/containers.conf +# 3. $HOME/.config/containers/containers.conf (Rootless containers ONLY) +# Items specified in the latter containers.conf, if they exist, override the +# previous containers.conf settings, or the default settings. + +[containers] + +# List of annotation. Specified as +# "key = value" +# If it is empty or commented out, no annotations will be added +# +#annotations = [] + +# The hosts entries from the base hosts file are added to the containers hosts +# file. This must be either an absolute path or as special values "image" which +# uses the hosts file from the container image or "none" which means +# no base hosts file is used. The default is "" which will use /etc/hosts. +# +#base_hosts_file = "" + +# List of default capabilities for containers. If it is empty or commented out, +# the default capabilities defined in the container engine will be added. +# +default_capabilities = [ + "CHOWN", + "DAC_OVERRIDE", + "FOWNER", + "FSETID", + "KILL", + "NET_BIND_SERVICE", + "SETFCAP", + "SETGID", + "SETPCAP", + "SETUID", + "SYS_CHROOT" +] + +# A list of sysctls to be set in containers by default, +# specified as "name=value", +# for example:"net.ipv4.ping_group_range=0 0". +# +default_sysctls = [ + "net.ipv4.ping_group_range=0 0", +] + +# A list of ulimits to be set in containers by default, specified as +# "=:", for example: +# "nofile=1024:2048" +# See setrlimit(2) for a list of resource names. +# Any limit not specified here will be inherited from the process launching the +# container engine. +# Ulimits has limits for non privileged container engines. +# +#default_ulimits = [ +# "nofile=1280:2560", +#] + +# List of devices. Specified as +# "::", for example: +# "/dev/sdc:/dev/xvdc:rwm". +# If it is empty or commented out, only the default devices will be used +# +#devices = [] + +# List of default DNS options to be added to /etc/resolv.conf inside of the container. +# +#dns_options = [] + +# List of default DNS search domains to be added to /etc/resolv.conf inside of the container. +# +#dns_searches = [] + +# Set default DNS servers. +# This option can be used to override the DNS configuration passed to the +# container. The special value "none" can be specified to disable creation of +# /etc/resolv.conf in the container. +# The /etc/resolv.conf file in the image will be used without changes. +# +#dns_servers = [] + +# Environment variable list for the conmon process; used for passing necessary +# environment variables to conmon or the runtime. +# +#env = [ +# "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", +# "TERM=xterm", +#] + +# Pass all host environment variables into the container. +# +#env_host = false + +# Set the ip for the host.containers.internal entry in the containers /etc/hosts +# file. This can be set to "none" to disable adding this entry. By default it +# will automatically choose the host ip. +# +# NOTE: When using podman machine this entry will never be added to the containers +# hosts file instead the gvproxy dns resolver will resolve this hostname. Therefore +# it is not possible to disable the entry in this case. +# +#host_containers_internal_ip = "" + +# Default proxy environment variables passed into the container. +# The environment variables passed in include: +# http_proxy, https_proxy, ftp_proxy, no_proxy, and the upper case versions of +# these. This option is needed when host system uses a proxy but container +# should not use proxy. Proxy environment variables specified for the container +# in any other way will override the values passed from the host. +# +#http_proxy = true + +# Run an init inside the container that forwards signals and reaps processes. +# +#init = false + +# Container init binary, if init=true, this is the init binary to be used for containers. +# +#init_path = "/usr/local/libexec/podman/catatonit" + +# Default way to to create an IPC namespace (POSIX SysV IPC) for the container +# Options are: +# "host" Share host IPC Namespace with the container. +# "none" Create shareable IPC Namespace for the container without a private /dev/shm. +# "private" Create private IPC Namespace for the container, other containers are not allowed to share it. +# "shareable" Create shareable IPC Namespace for the container. +# +#ipcns = "shareable" + +# keyring tells the container engine whether to create +# a kernel keyring for use within the container. +# +#keyring = true + +# label tells the container engine whether to use container separation using +# MAC(SELinux) labeling or not. +# The label flag is ignored on label disabled systems. +# +#label = true + +# Logging driver for the container. Available options: k8s-file and journald. +# +#log_driver = "k8s-file" + +# Maximum size allowed for the container log file. Negative numbers indicate +# that no size limit is imposed. If positive, it must be >= 8192 to match or +# exceed conmon's read buffer. The file is truncated and re-opened so the +# limit is never exceeded. +# +#log_size_max = -1 + +# Specifies default format tag for container log messages. +# This is useful for creating a specific tag for container log messages. +# Containers logs default to truncated container ID as a tag. +# +#log_tag = "" + +# Default way to to create a Network namespace for the container +# Options are: +# `private` Create private Network Namespace for the container. +# `host` Share host Network Namespace with the container. +# `none` Containers do not use the network +# +#netns = "private" + +# Create /etc/hosts for the container. By default, container engine manage +# /etc/hosts, automatically adding the container's own IP address. +# +#no_hosts = false + +# Default way to to create a PID namespace for the container +# Options are: +# `private` Create private PID Namespace for the container. +# `host` Share host PID Namespace with the container. +# +#pidns = "private" + +# Maximum number of processes allowed in a container. +# +#pids_limit = 2048 + +# Copy the content from the underlying image into the newly created volume +# when the container is created instead of when it is started. If false, +# the container engine will not copy the content until the container is started. +# Setting it to true may have negative performance implications. +# +#prepare_volume_on_create = false + +# Set timezone in container. Takes IANA timezones as well as "local", +# which sets the timezone in the container to match the host machine. +# +#tz = "" + +# Set umask inside the container +# +#umask = "0022" + +# Default way to to create a User namespace for the container +# Options are: +# `auto` Create unique User Namespace for the container. +# `host` Share host User Namespace with the container. +# +#userns = "host" + +# Number of UIDs to allocate for the automatic container creation. +# UIDs are allocated from the "container" UIDs listed in +# /etc/subuid & /etc/subgid +# +#userns_size = 65536 + +# Default way to to create a UTS namespace for the container +# Options are: +# `private` Create private UTS Namespace for the container. +# `host` Share host UTS Namespace with the container. +# +#utsns = "private" + +# List of volumes. Specified as +# "::", for example: +# "/db:/var/lib/db:ro". +# If it is empty or commented out, no volumes will be added +# +#volumes = [] + +[secrets] +#driver = "file" + +[secrets.opts] +#root = "/example/directory" + +[network] + +# Network backend determines what network driver will be used to set up and tear down container networks. +# Valid values are "cni" and "netavark". +# The default value is empty which means that it will automatically choose CNI or netavark. If there are +# already containers/images or CNI networks preset it will choose CNI. +# +# Before changing this value all containers must be stopped otherwise it is likely that +# iptables rules and network interfaces might leak on the host. A reboot will fix this. +# +#network_backend = "" + +# Path to directory where CNI plugin binaries are located. +# +#cni_plugin_dirs = [ +# "/usr/local/libexec/cni", +# "/usr/libexec/cni", +# "/usr/local/lib/cni", +# "/usr/lib/cni", +# "/opt/cni/bin", +#] + +# The network name of the default network to attach pods to. +# +#default_network = "podman" + +# The default subnet for the default network given in default_network. +# If a network with that name does not exist, a new network using that name and +# this subnet will be created. +# Must be a valid IPv4 CIDR prefix. +# +#default_subnet = "10.88.0.0/16" + +# DefaultSubnetPools is a list of subnets and size which are used to +# allocate subnets automatically for podman network create. +# It will iterate through the list and will pick the first free subnet +# with the given size. This is only used for ipv4 subnets, ipv6 subnets +# are always assigned randomly. +# +#default_subnet_pools = [ +# {"base" = "10.89.0.0/16", "size" = 24}, +# {"base" = "10.90.0.0/15", "size" = 24}, +# {"base" = "10.92.0.0/14", "size" = 24}, +# {"base" = "10.96.0.0/11", "size" = 24}, +# {"base" = "10.128.0.0/9", "size" = 24}, +#] + +# Path to the directory where network configuration files are located. +# For the CNI backend the default is "/etc/cni/net.d" as root +# and "$HOME/.config/cni/net.d" as rootless. +# For the netavark backend "/etc/containers/networks" is used as root +# and "$graphroot/networks" as rootless. +# +#network_config_dir = "/usr/local/etc/cni/net.d/" + +[engine] +# Index to the active service +# +#active_service = production + +# The compression format to use when pushing an image. +# Valid options are: `gzip`, `zstd` and `zstd:chunked`. +# +#compression_format = "gzip" + +# Environment variables to pass into conmon +# +#conmon_env_vars = [ +# "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +#] + +# Paths to look for the conmon container manager binary +# +#conmon_path = [ +# "/usr/libexec/podman/conmon", +# "/usr/local/libexec/podman/conmon", +# "/usr/local/lib/podman/conmon", +# "/usr/bin/conmon", +# "/usr/sbin/conmon", +# "/usr/local/bin/conmon", +# "/usr/local/sbin/conmon" +#] + +# Enforces using docker.io for completing short names in Podman's compatibility +# REST API. Note that this will ignore unqualified-search-registries and +# short-name aliases defined in containers-registries.conf(5). +#compat_api_enforce_docker_hub = true + +# Specify the keys sequence used to detach a container. +# Format is a single character [a-Z] or a comma separated sequence of +# `ctrl-`, where `` is one of: +# `a-z`, `@`, `^`, `[`, `\`, `]`, `^` or `_` +# +#detach_keys = "ctrl-p,ctrl-q" + +# Determines whether engine will reserve ports on the host when they are +# forwarded to containers. When enabled, when ports are forwarded to containers, +# ports are held open by as long as the container is running, ensuring that +# they cannot be reused by other programs on the host. However, this can cause +# significant memory usage if a container has many ports forwarded to it. +# Disabling this can save memory. +# +#enable_port_reservation = true + +# Environment variables to be used when running the container engine (e.g., Podman, Buildah). +# For example "http_proxy=internal.proxy.company.com". +# Note these environment variables will not be used within the container. +# Set the env section under [containers] table, if you want to set environment variables for the container. +# +#env = [] + +# Define where event logs will be stored, when events_logger is "file". +#events_logfile_path="" + +# Sets the maximum size for events_logfile_path. +# The size can be b (bytes), k (kilobytes), m (megabytes), or g (gigabytes). +# The format for the size is ``, e.g., `1b` or `3g`. +# If no unit is included then the size will be read in bytes. +# When the limit is exceeded, the logfile will be rotated and the old one will be deleted. +# If the maximum size is set to 0, then no limit will be applied, +# and the logfile will not be rotated. +#events_logfile_max_size = "1m" + +# Selects which logging mechanism to use for container engine events. +# Valid values are `journald`, `file` and `none`. +# +#events_logger = "file" + +# A is a list of directories which are used to search for helper binaries. +# +#helper_binaries_dir = [ +# "/usr/local/libexec/podman", +# "/usr/local/lib/podman", +# "/usr/libexec/podman", +# "/usr/lib/podman", +#] + +# Path to OCI hooks directories for automatically executed hooks. +# +#hooks_dir = [ +# "/usr/local/share/containers/oci/hooks.d", +#] + +# Manifest Type (oci, v2s2, or v2s1) to use when pulling, pushing, building +# container images. By default image pulled and pushed match the format of the +# source image. Building/committing defaults to OCI. +# +#image_default_format = "" + +# Default transport method for pulling and pushing for images +# +#image_default_transport = "docker://" + +# Maximum number of image layers to be copied (pulled/pushed) simultaneously. +# Not setting this field, or setting it to zero, will fall back to containers/image defaults. +# +#image_parallel_copies = 0 + +# Default command to run the infra container +# +#infra_command = "/pause" + +# Infra (pause) container image name for pod infra containers. When running a +# pod, we start a `pause` process in a container to hold open the namespaces +# associated with the pod. This container does nothing other then sleep, +# reserving the pods resources for the lifetime of the pod. By default container +# engines run a builtin container using the pause executable. If you want override +# specify an image to pull. +# +#infra_image = "" + +# Specify the locking mechanism to use; valid values are "shm" and "file". +# Change the default only if you are sure of what you are doing, in general +# "file" is useful only on platforms where cgo is not available for using the +# faster "shm" lock type. You may need to run "podman system renumber" after +# you change the lock type. +# +#lock_type** = "shm" + +# MultiImageArchive - if true, the container engine allows for storing archives +# (e.g., of the docker-archive transport) with multiple images. By default, +# Podman creates single-image archives. +# +#multi_image_archive = "false" + +# Default engine namespace +# If engine is joined to a namespace, it will see only containers and pods +# that were created in the same namespace, and will create new containers and +# pods in that namespace. +# The default namespace is "", which corresponds to no namespace. When no +# namespace is set, all containers and pods are visible. +# +#namespace = "" + +# Path to the slirp4netns binary +# +#network_cmd_path = "" + +# Default options to pass to the slirp4netns binary. +# Valid options values are: +# +# - allow_host_loopback=true|false: Allow the slirp4netns to reach the host loopback IP (`10.0.2.2`). +# Default is false. +# - mtu=MTU: Specify the MTU to use for this network. (Default is `65520`). +# - cidr=CIDR: Specify ip range to use for this network. (Default is `10.0.2.0/24`). +# - enable_ipv6=true|false: Enable IPv6. Default is true. (Required for `outbound_addr6`). +# - outbound_addr=INTERFACE: Specify the outbound interface slirp should bind to (ipv4 traffic only). +# - outbound_addr=IPv4: Specify the outbound ipv4 address slirp should bind to. +# - outbound_addr6=INTERFACE: Specify the outbound interface slirp should bind to (ipv6 traffic only). +# - outbound_addr6=IPv6: Specify the outbound ipv6 address slirp should bind to. +# - port_handler=rootlesskit: Use rootlesskit for port forwarding. Default. +# Note: Rootlesskit changes the source IP address of incoming packets to a IP address in the container +# network namespace, usually `10.0.2.100`. If your application requires the real source IP address, +# e.g. web server logs, use the slirp4netns port handler. The rootlesskit port handler is also used for +# rootless containers when connected to user-defined networks. +# - port_handler=slirp4netns: Use the slirp4netns port forwarding, it is slower than rootlesskit but +# preserves the correct source IP address. This port handler cannot be used for user-defined networks. +# +#network_cmd_options = [] + +# Whether to use chroot instead of pivot_root in the runtime +# +#no_pivot_root = false + +# Number of locks available for containers and pods. +# If this is changed, a lock renumber must be performed (e.g. with the +# 'podman system renumber' command). +# +#num_locks = 2048 + +# Whether to pull new image before running a container +# +#pull_policy = "missing" + +# Indicates whether the application should be running in remote mode. This flag modifies the +# --remote option on container engines. Setting the flag to true will default +# `podman --remote=true` for access to the remote Podman service. +# +#remote = false + +# Default OCI runtime +# +#runtime = "crun" +runtime = "ocijail" + +# List of the OCI runtimes that support --format=json. When json is supported +# engine will use it for reporting nicer errors. +# +#runtime_supports_json = ["crun", "runc", "kata", "runsc", "krun"] +runtime_supports_json = ["crun", "runc", "kata", "runsc", "krun", "ocijail"] + +# List of the OCI runtimes that supports running containers with KVM Separation. +# +#runtime_supports_kvm = ["kata", "krun"] + +# List of the OCI runtimes that supports running containers without cgroups. +# +#runtime_supports_nocgroups = ["crun", "krun"] + +# Default location for storing temporary container image content. Can be overridden with the TMPDIR environment +# variable. If you specify "storage", then the location of the +# container/storage tmp directory will be used. +# image_copy_tmp_dir="/var/tmp" + +# Number of seconds to wait without a connection +# before the `podman system service` times out and exits +# +#service_timeout = 5 + +# Directory for persistent engine files (database, etc) +# By default, this will be configured relative to where the containers/storage +# stores containers +# Uncomment to change location from this default +# +#static_dir = "/var/lib/containers/storage/libpod" + +# Number of seconds to wait for container to exit before sending kill signal. +# +#stop_timeout = 10 + +# Number of seconds to wait before exit command in API process is given to. +# This mimics Docker's exec cleanup behaviour, where the default is 5 minutes (value is in seconds). +# +#exit_command_delay = 300 + +# map of service destinations +# +#[service_destinations] +# [service_destinations.production] +# URI to access the Podman service +# Examples: +# rootless "unix://run/user/$UID/podman/podman.sock" (Default) +# rootful "unix://run/podman/podman.sock (Default) +# remote rootless ssh://engineering.lab.company.com/run/user/1000/podman/podman.sock +# remote rootful ssh://root@10.10.1.136:22/run/podman/podman.sock +# +# uri = "ssh://user@production.example.com/run/user/1001/podman/podman.sock" +# Path to file containing ssh identity key +# identity = "~/.ssh/id_rsa" + +# Directory for temporary files. Must be tmpfs (wiped after reboot) +# +#tmp_dir = "/run/libpod" + +# Directory for libpod named volumes. +# By default, this will be configured relative to where containers/storage +# stores containers. +# Uncomment to change location from this default. +# +#volume_path = "/var/lib/containers/storage/volumes" + +# Paths to look for a valid OCI runtime (crun, runc, kata, runsc, krun, etc) +[engine.runtimes] +#crun = [ +# "/usr/bin/crun", +# "/usr/sbin/crun", +# "/usr/local/bin/crun", +# "/usr/local/sbin/crun", +# "/sbin/crun", +# "/bin/crun", +# "/run/current-system/sw/bin/crun", +#] + +#kata = [ +# "/usr/bin/kata-runtime", +# "/usr/sbin/kata-runtime", +# "/usr/local/bin/kata-runtime", +# "/usr/local/sbin/kata-runtime", +# "/sbin/kata-runtime", +# "/bin/kata-runtime", +# "/usr/bin/kata-qemu", +# "/usr/bin/kata-fc", +#] + +#runc = [ +# "/usr/bin/runc", +# "/usr/sbin/runc", +# "/usr/local/bin/runc", +# "/usr/local/sbin/runc", +# "/sbin/runc", +# "/bin/runc", +# "/usr/lib/cri-o-runc/sbin/runc", +#] + +#runsc = [ +# "/usr/bin/runsc", +# "/usr/sbin/runsc", +# "/usr/local/bin/runsc", +# "/usr/local/sbin/runsc", +# "/bin/runsc", +# "/sbin/runsc", +# "/run/current-system/sw/bin/runsc", +#] + +#krun = [ +# "/usr/bin/krun", +# "/usr/local/bin/krun", +#] + +ocijail = [ + "/usr/local/bin/ocijail", +] + +[engine.volume_plugins] +#testplugin = "/var/run/podman/plugins/test.sock" + +[machine] +# Number of CPU's a machine is created with. +# +#cpus=1 + +# The size of the disk in GB created when init-ing a podman-machine VM. +# +#disk_size=10 + +# The image used when creating a podman-machine VM. +# +#image = "testing" + +# Memory in MB a machine is created with. +# +#memory=2048 + +# The username to use and create on the podman machine OS for rootless +# container access. +# +#user = "core" + +# Host directories to be mounted as volumes into the VM by default. +# Environment variables like $HOME as well as complete paths are supported for +# the source and destination. An optional third field `:ro` can be used to +# tell the container engines to mount the volume readonly. +# +# volumes = [ +# "$HOME:$HOME", +#] + +# The [machine] table MUST be the last entry in this file. +# (Unless another table is added) +# TOML does not provide a way to end a table other than a further table being +# defined, so every key hereafter will be part of [machine] and not the +# main config. Index: sysutils/containers-common/pkg-descr =================================================================== --- /dev/null +++ sysutils/containers-common/pkg-descr @@ -0,0 +1 @@ +Common manpages and config files for podman and buildah. Index: sysutils/containers-common/pkg-message =================================================================== --- /dev/null +++ sysutils/containers-common/pkg-message @@ -0,0 +1,9 @@ +Container images and related state is stored in /var/db/containers. It +is recommended to use ZFS for this: + +# zfs create -o mountpoint=/var/db/containers zroot/containers + +If your system cannot use ZFS, change storage.conf to use the vfs +storage driver: + +# sed -I .bak -e 's/driver = "zfs"/driver = "vfs"/' /usr/local/etc/containers/storage.conf Index: sysutils/containers-common/pkg-plist =================================================================== --- /dev/null +++ sysutils/containers-common/pkg-plist @@ -0,0 +1,21 @@ +@sample etc/containers/containers.conf.sample +@sample etc/containers/policy.json.sample +@sample etc/containers/registries.conf.sample +@sample etc/containers/storage.conf.sample +share/man/man5/.containerignore.5.gz +share/man/man5/Containerfile.5.gz +share/man/man5/containerignore.5.gz +share/man/man5/containers-auth.json.5.gz +share/man/man5/containers-certs.d.5.gz +share/man/man5/containers-mounts.conf.5.gz +share/man/man5/containers-policy.json.5.gz +share/man/man5/containers-registries.conf.5.gz +share/man/man5/containers-registries.conf.d.5.gz +share/man/man5/containers-registries.d.5.gz +share/man/man5/containers-signature.5.gz +share/man/man5/containers-storage.conf.5.gz +share/man/man5/containers-transports.5.gz +share/man/man5/containers.conf.5.gz +@dir etc/containers/certs.d +@dir etc/containers/hooks.d +@dir etc/containers/registries.d Index: sysutils/ocijail/Makefile =================================================================== --- /dev/null +++ sysutils/ocijail/Makefile @@ -0,0 +1,26 @@ +PORTNAME= ocijail +PORTVERSION= 0.1.rc1 +CATEGORIES= sysutils + +MAINTAINER= dfr@FreeBSD.org +COMMENT= Experimental, proof-of-concept OCI-compatible runtime for jails +WWW= https://github.com/dfr/ocijail + +LICENSE= BSD3CLAUSE + +BUILD_DEPENDS= bazel:devel/bazel bash:shells/bash + +USE_GITHUB= yes +GH_ACCOUNT= dfr +GH_TAGNAME= v0.1rc1 + +PLIST_FILES= bin/ocijail + +# Build happens in the //:install rule +NO_BUILD= yes +BAZEL_OPTS= --batch --output_user_root=${WRKDIR}/bazel_out + +do-install: + cd ${WRKSRC} && bazel ${BAZEL_OPTS} run --experimental_repository_disable_download //:install -- ${STAGEDIR}${PREFIX}/bin + +.include Index: sysutils/ocijail/distinfo =================================================================== --- /dev/null +++ sysutils/ocijail/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1666951980 +SHA256 (dfr-ocijail-0.1.rc1-v0.1rc1_GH0.tar.gz) = 476b0feb9cb197df2f41efd10f07bdd9b8c2a463691dfd0ba73091ba72932bb8 +SIZE (dfr-ocijail-0.1.rc1-v0.1rc1_GH0.tar.gz) = 839566 Index: sysutils/ocijail/pkg-descr =================================================================== --- /dev/null +++ sysutils/ocijail/pkg-descr @@ -0,0 +1,3 @@ +Experimental, proof-of-concept OCI-compatible runtime for jails. This +is used by container engines such as buildah or podman to manage the +container lifecycle Index: sysutils/podman-suite/Makefile =================================================================== --- /dev/null +++ sysutils/podman-suite/Makefile @@ -0,0 +1,21 @@ +PORTNAME= podman-suite +PORTVERSION= 20221029 +CATEGORIES= sysutils + +MAINTAINER= dfr@FreeBSD.org +COMMENT= Metaport of podman and buildah toolkit +WWW= https://podman.io/ + +USES= metaport + +RUN_DEPENDS= buildah>=0:sysutils/buildah \ + podman>=0:sysutils/podman \ + skopeo>=0:sysutils/skopeo + +.include + +.if ${OPSYS} != FreeBSD +IGNORE= not supported for this configuration +.endif + +.include Index: sysutils/podman-suite/pkg-descr =================================================================== --- /dev/null +++ sysutils/podman-suite/pkg-descr @@ -0,0 +1,5 @@ +buildah, podman and skopeo, comprise a modern container-based workflow +toolkit, now available on FreeBSD. + +This meta-package doesn't preclude users from combining these +separately, nor from installing a functional subset of components. Index: sysutils/podman/Makefile =================================================================== --- /dev/null +++ sysutils/podman/Makefile @@ -0,0 +1,43 @@ +PORTNAME= podman +PORTVERSION= 4.4.0.dev +CATEGORIES= sysutils + +MAINTAINER= dfr@FreeBSD.org +COMMENT= Manage Pods, Containers and Container Images +WWW= https://github.com/containers + +LICENSE= GPLv2 + +LIB_DEPENDS= libgpgme.so:security/gpgme +RUN_DEPENDS= containers-common>=0:sysutils/containers-common \ + containernetworking-plugins>=0:net/containernetworking-plugins \ + conmon:sysutils/conmon \ + ocijail:sysutils/ocijail +BUILD_DEPENDS= go-md2man:textproc/go-md2man \ + bash:shells/bash \ + gsed:textproc/gsed + +USES= gmake go:no_targets pkgconfig python:3.7+,build shebangfix + +SHEBANG_LANG= python +SHEBANG_FILES= ${WRKSRC}/hack/markdown-preprocess + +# Parallel builds are flaky due to some kind of file race in the +# markdown-preprocess phase of the docs build. +MAKE_JOBS_UNSAFE=yes + +USE_GITHUB= yes +GH_ACCOUNT= containers +GH_PROJECT= podman +GH_TAGNAME= d319860 + +INSTALL_TARGET= install install.completions + +# Temporary until https://github.com/containers/podman/pull/16422 lands +do-install: + ${GMAKE} -C ${WRKSRC} DESTDIR=${STAGEDIR} GO=${GO_CMD} install + ${GMAKE} -C ${WRKSRC} DESTDIR=${STAGEDIR} GO=${GO_CMD} install.completions + ${RM} ${STAGEDIR}${PREFIX}/lib/tmpfiles.d/podman.conf + ${RMDIR} ${STAGEDIR}${PREFIX}/lib/tmpfiles.d + +.include Index: sysutils/podman/distinfo =================================================================== --- /dev/null +++ sysutils/podman/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1667387841 +SHA256 (containers-podman-4.4.0.dev-d319860_GH0.tar.gz) = 4fa3ccb4c8cc6abe745652bf77141da2729541ada13f9a8bacee5f39a6e29e93 +SIZE (containers-podman-4.4.0.dev-d319860_GH0.tar.gz) = 12865441 Index: sysutils/podman/pkg-descr =================================================================== --- /dev/null +++ sysutils/podman/pkg-descr @@ -0,0 +1,9 @@ +podman (Pod Manager) is a fully featured container engine that is a +simple daemonless tool. podman provides a Docker-CLI comparable +command line that eases the transition from other container engines +and allows the management of pods, containers and images. Simply put: +alias docker=podman. + +podman uses Buildah(1) internally to create container images. Both +tools share image (not container) storage, hence each can use or +manipulate images (but not containers) created by the other. Index: sysutils/podman/pkg-message =================================================================== --- /dev/null +++ sysutils/podman/pkg-message @@ -0,0 +1,2 @@ +This port of the podman container engine is based on unreleased +sources and should be used for evaluation and testing purposes only. Index: sysutils/podman/pkg-plist =================================================================== --- /dev/null +++ sysutils/podman/pkg-plist @@ -0,0 +1,212 @@ +bin/podman +bin/podman-remote +@dir libexec/podman +share/bash-completion/completions/podman +share/bash-completion/completions/podman-remote +share/fish/vendor_completions.d/podman-remote.fish +share/fish/vendor_completions.d/podman.fish +share/man/man1/podman-attach.1.gz +share/man/man1/podman-auto-update.1.gz +share/man/man1/podman-build.1.gz +share/man/man1/podman-commit.1.gz +share/man/man1/podman-completion.1.gz +share/man/man1/podman-container-attach.1.gz +share/man/man1/podman-container-checkpoint.1.gz +share/man/man1/podman-container-cleanup.1.gz +share/man/man1/podman-container-clone.1.gz +share/man/man1/podman-container-commit.1.gz +share/man/man1/podman-container-cp.1.gz +share/man/man1/podman-container-create.1.gz +share/man/man1/podman-container-diff.1.gz +share/man/man1/podman-container-exec.1.gz +share/man/man1/podman-container-exists.1.gz +share/man/man1/podman-container-export.1.gz +share/man/man1/podman-container-init.1.gz +share/man/man1/podman-container-inspect.1.gz +share/man/man1/podman-container-kill.1.gz +share/man/man1/podman-container-list.1.gz +share/man/man1/podman-container-logs.1.gz +share/man/man1/podman-container-ls.1.gz +share/man/man1/podman-container-mount.1.gz +share/man/man1/podman-container-pause.1.gz +share/man/man1/podman-container-port.1.gz +share/man/man1/podman-container-prune.1.gz +share/man/man1/podman-container-ps.1.gz +share/man/man1/podman-container-rename.1.gz +share/man/man1/podman-container-restart.1.gz +share/man/man1/podman-container-restore.1.gz +share/man/man1/podman-container-rm.1.gz +share/man/man1/podman-container-run.1.gz +share/man/man1/podman-container-runlabel.1.gz +share/man/man1/podman-container-start.1.gz +share/man/man1/podman-container-stats.1.gz +share/man/man1/podman-container-stop.1.gz +share/man/man1/podman-container-top.1.gz +share/man/man1/podman-container-umount.1.gz +share/man/man1/podman-container-unmount.1.gz +share/man/man1/podman-container-unpause.1.gz +share/man/man1/podman-container-update.1.gz +share/man/man1/podman-container-wait.1.gz +share/man/man1/podman-container.1.gz +share/man/man1/podman-cp.1.gz +share/man/man1/podman-create.1.gz +share/man/man1/podman-diff.1.gz +share/man/man1/podman-events.1.gz +share/man/man1/podman-exec.1.gz +share/man/man1/podman-export.1.gz +share/man/man1/podman-generate-kube.1.gz +share/man/man1/podman-generate-spec.1.gz +share/man/man1/podman-generate-systemd.1.gz +share/man/man1/podman-generate.1.gz +share/man/man1/podman-healthcheck-run.1.gz +share/man/man1/podman-healthcheck.1.gz +share/man/man1/podman-help.1.gz +share/man/man1/podman-history.1.gz +share/man/man1/podman-image-build.1.gz +share/man/man1/podman-image-diff.1.gz +share/man/man1/podman-image-exists.1.gz +share/man/man1/podman-image-history.1.gz +share/man/man1/podman-image-import.1.gz +share/man/man1/podman-image-inspect.1.gz +share/man/man1/podman-image-list.1.gz +share/man/man1/podman-image-load.1.gz +share/man/man1/podman-image-ls.1.gz +share/man/man1/podman-image-mount.1.gz +share/man/man1/podman-image-prune.1.gz +share/man/man1/podman-image-pull.1.gz +share/man/man1/podman-image-push.1.gz +share/man/man1/podman-image-rm.1.gz +share/man/man1/podman-image-save.1.gz +share/man/man1/podman-image-scp.1.gz +share/man/man1/podman-image-search.1.gz +share/man/man1/podman-image-sign.1.gz +share/man/man1/podman-image-tag.1.gz +share/man/man1/podman-image-tree.1.gz +share/man/man1/podman-image-trust.1.gz +share/man/man1/podman-image-umount.1.gz +share/man/man1/podman-image-unmount.1.gz +share/man/man1/podman-image-untag.1.gz +share/man/man1/podman-image.1.gz +share/man/man1/podman-images.1.gz +share/man/man1/podman-import.1.gz +share/man/man1/podman-info.1.gz +share/man/man1/podman-init.1.gz +share/man/man1/podman-inspect.1.gz +share/man/man1/podman-kill.1.gz +share/man/man1/podman-kube-down.1.gz +share/man/man1/podman-kube-generate.1.gz +share/man/man1/podman-kube-play.1.gz +share/man/man1/podman-kube.1.gz +share/man/man1/podman-load.1.gz +share/man/man1/podman-login.1.gz +share/man/man1/podman-logout.1.gz +share/man/man1/podman-logs.1.gz +share/man/man1/podman-machine-info.1.gz +share/man/man1/podman-machine-init.1.gz +share/man/man1/podman-machine-inspect.1.gz +share/man/man1/podman-machine-list.1.gz +share/man/man1/podman-machine-ls.1.gz +share/man/man1/podman-machine-rm.1.gz +share/man/man1/podman-machine-set.1.gz +share/man/man1/podman-machine-ssh.1.gz +share/man/man1/podman-machine-start.1.gz +share/man/man1/podman-machine-stop.1.gz +share/man/man1/podman-machine.1.gz +share/man/man1/podman-manifest-add.1.gz +share/man/man1/podman-manifest-annotate.1.gz +share/man/man1/podman-manifest-create.1.gz +share/man/man1/podman-manifest-exists.1.gz +share/man/man1/podman-manifest-inspect.1.gz +share/man/man1/podman-manifest-push.1.gz +share/man/man1/podman-manifest-remove.1.gz +share/man/man1/podman-manifest-rm.1.gz +share/man/man1/podman-manifest.1.gz +share/man/man1/podman-mount.1.gz +share/man/man1/podman-network-connect.1.gz +share/man/man1/podman-network-create.1.gz +share/man/man1/podman-network-disconnect.1.gz +share/man/man1/podman-network-exists.1.gz +share/man/man1/podman-network-inspect.1.gz +share/man/man1/podman-network-ls.1.gz +share/man/man1/podman-network-prune.1.gz +share/man/man1/podman-network-reload.1.gz +share/man/man1/podman-network-rm.1.gz +share/man/man1/podman-network.1.gz +share/man/man1/podman-pause.1.gz +share/man/man1/podman-play-kube.1.gz +share/man/man1/podman-pod-clone.1.gz +share/man/man1/podman-pod-create.1.gz +share/man/man1/podman-pod-exists.1.gz +share/man/man1/podman-pod-inspect.1.gz +share/man/man1/podman-pod-kill.1.gz +share/man/man1/podman-pod-logs.1.gz +share/man/man1/podman-pod-pause.1.gz +share/man/man1/podman-pod-prune.1.gz +share/man/man1/podman-pod-ps.1.gz +share/man/man1/podman-pod-restart.1.gz +share/man/man1/podman-pod-rm.1.gz +share/man/man1/podman-pod-start.1.gz +share/man/man1/podman-pod-stats.1.gz +share/man/man1/podman-pod-stop.1.gz +share/man/man1/podman-pod-top.1.gz +share/man/man1/podman-pod-unpause.1.gz +share/man/man1/podman-pod.1.gz +share/man/man1/podman-port.1.gz +share/man/man1/podman-ps.1.gz +share/man/man1/podman-pull.1.gz +share/man/man1/podman-push.1.gz +share/man/man1/podman-remote.1.gz +share/man/man1/podman-rename.1.gz +share/man/man1/podman-restart.1.gz +share/man/man1/podman-rm.1.gz +share/man/man1/podman-rmi.1.gz +share/man/man1/podman-run.1.gz +share/man/man1/podman-save.1.gz +share/man/man1/podman-search.1.gz +share/man/man1/podman-secret-create.1.gz +share/man/man1/podman-secret-inspect.1.gz +share/man/man1/podman-secret-ls.1.gz +share/man/man1/podman-secret-rm.1.gz +share/man/man1/podman-secret.1.gz +share/man/man1/podman-start.1.gz +share/man/man1/podman-stats.1.gz +share/man/man1/podman-stop.1.gz +share/man/man1/podman-system-connection-add.1.gz +share/man/man1/podman-system-connection-default.1.gz +share/man/man1/podman-system-connection-list.1.gz +share/man/man1/podman-system-connection-remove.1.gz +share/man/man1/podman-system-connection-rename.1.gz +share/man/man1/podman-system-connection.1.gz +share/man/man1/podman-system-df.1.gz +share/man/man1/podman-system-info.1.gz +share/man/man1/podman-system-migrate.1.gz +share/man/man1/podman-system-prune.1.gz +share/man/man1/podman-system-renumber.1.gz +share/man/man1/podman-system-reset.1.gz +share/man/man1/podman-system-service.1.gz +share/man/man1/podman-system.1.gz +share/man/man1/podman-tag.1.gz +share/man/man1/podman-top.1.gz +share/man/man1/podman-umount.1.gz +share/man/man1/podman-unmount.1.gz +share/man/man1/podman-unpause.1.gz +share/man/man1/podman-unshare.1.gz +share/man/man1/podman-untag.1.gz +share/man/man1/podman-update.1.gz +share/man/man1/podman-version.1.gz +share/man/man1/podman-volume-create.1.gz +share/man/man1/podman-volume-exists.1.gz +share/man/man1/podman-volume-export.1.gz +share/man/man1/podman-volume-import.1.gz +share/man/man1/podman-volume-inspect.1.gz +share/man/man1/podman-volume-ls.1.gz +share/man/man1/podman-volume-mount.1.gz +share/man/man1/podman-volume-prune.1.gz +share/man/man1/podman-volume-reload.1.gz +share/man/man1/podman-volume-rm.1.gz +share/man/man1/podman-volume-unmount.1.gz +share/man/man1/podman-volume.1.gz +share/man/man1/podman-wait.1.gz +share/man/man1/podman.1.gz +share/zsh/site-functions/_podman +share/zsh/site-functions/_podman-remote Index: sysutils/skopeo/Makefile =================================================================== --- /dev/null +++ sysutils/skopeo/Makefile @@ -0,0 +1,30 @@ +PORTNAME= skopeo +DISTVERSIONPREFIX= v +DISTVERSION= 1.10.0 +CATEGORIES= sysutils + +MAINTAINER= dfr@FreeBSD.org +COMMENT= Inspect container images and repositories on registries +WWW= https://github.com/containers + +LICENSE= GPLv2 + +LIB_DEPENDS= libgpgme.so:security/gpgme +RUN_DEPENDS= ${LOCALBASE}/etc/containers/containers.conf.sample:sysutils/containers-common +BUILD_DEPENDS= curl:ftp/curl \ + go-md2man:textproc/go-md2man \ + bash:shells/bash + +USES= gmake pkgconfig go:modules,no_targets +USE_GITHUB= yes +GH_ACCOUNT= containers +GH_PROJECT= skopeo + +do-install: + ${SETENV} ${MAKE_ENV} ${GO_ENV} ${GMAKE} -C ${WRKSRC} \ + DESTDIR=${STAGEDIR} GOCACHE=${WRKDIR}.gocache \ + GO=${GO_CMD} install-binary install-docs install-completions + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/containers/registries.d + ${INSTALL_DATA} ${WRKSRC}/default.yaml ${STAGEDIR}${PREFIX}/etc/containers/registries.d/default.yaml + +.include Index: sysutils/skopeo/distinfo =================================================================== --- /dev/null +++ sysutils/skopeo/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1666523319 +SHA256 (containers-skopeo-v1.10.0_GH0.tar.gz) = c3d15ec25c028980b795a0ccdcd48296287b8467fe24a7bc319f5fc87378fe8c +SIZE (containers-skopeo-v1.10.0_GH0.tar.gz) = 6460856 Index: sysutils/skopeo/pkg-descr =================================================================== --- /dev/null +++ sysutils/skopeo/pkg-descr @@ -0,0 +1,2 @@ +Command line utility to inspect images and repositories directly on Docker +registries without the need to pull them. Index: sysutils/skopeo/pkg-plist =================================================================== --- /dev/null +++ sysutils/skopeo/pkg-plist @@ -0,0 +1,16 @@ +bin/skopeo +etc/containers/registries.d/default.yaml +share/bash-completion/completions/skopeo +share/fish/vendor_completions.d/skopeo.fish +share/man/man1/skopeo-copy.1.gz +share/man/man1/skopeo-delete.1.gz +share/man/man1/skopeo-inspect.1.gz +share/man/man1/skopeo-list-tags.1.gz +share/man/man1/skopeo-login.1.gz +share/man/man1/skopeo-logout.1.gz +share/man/man1/skopeo-manifest-digest.1.gz +share/man/man1/skopeo-standalone-sign.1.gz +share/man/man1/skopeo-standalone-verify.1.gz +share/man/man1/skopeo-sync.1.gz +share/man/man1/skopeo.1.gz +share/zsh/site-functions/_skopeo