diff --git a/manifests/freenas-12-stable-ec2.json b/manifests/freenas-12-stable-ec2.json new file mode 100644 index 0000000..7c424e1 --- /dev/null +++ b/manifests/freenas-12-stable-ec2.json @@ -0,0 +1,235 @@ +{ + "base-packages": { + "kernel-flags": { + "default": [ + ] + }, + "branch":"freenas/12-stable", + "repo":"https://github.com/freenas/os" + }, + "poudriere": { + "jailname": "freenas", + "portsname": "freenas" + }, + "iso": { + "auto-install-packages": { + "default": [ + "freenas/freenas", + "sysutils/openzfs" + ] + }, + "auto-install-script": "", + "dist-packages": {}, + "prune": { + "default": [ + "METALOG", + "/usr/local/share/examples", + "/usr/local/include", + "/usr/bin/cc*", + "/usr/bin/clang*", + "/usr/bin/cpp", + "/usr/bin/cpp", + "/usr/bin/c++", + "/usr/bin/lldb", + "/usr/bin/ld.lld", + "/usr/bin/llvm*", + "/usr/bin/objdump*", + "/usr/bin/svn*", + "/usr/lib/clang", + "/usr/share/man", + "/usr/share/i18n", + "/usr/share/openssl/man", + "/usr/include", + "/usr/lib32" + ] + }, + "file-name": "FreeNAS-12-snapshot-EC2-%%DATE%%", + "install-script": "", + "iso-packages": { + "default": [] + }, + "offline-update": true, + "overlay": {}, + "pool": { + "name": "freenas-boot" + }, + "os_name": "FreeNAS", + "post-install-commands": [] + }, + "os_name": "FreeNAS", + "os_version": "12-STABLE", + "pkg-repo": { + "pubKey": [ + "-----BEGIN PUBLIC KEY-----", + "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAx4YxSavJkE7HjopkMtgK", + "tk/plcnImzfx0MmdK3ijv2724+v810kbAmRI01aiooQvusfcQ5OOyNpAzxwKMTTB", + "6bo46YtrnYBTP5G1mNqTRxL5Sg03Kpwcb6fCZ4gYOqTNPmhV6BskhRrfGOzNazcd", + "cb8CeqTeL7A44vwkyufQrSNgT9+ByCGuxaEp2os+GEbELyWZMmpQD6s2gAgpXuB6", + "K/f7pm9ZsULjJ+ZKc31TjgMTyVA07niocjDxiD2KVEbiagirnxA7BLa66u58B1ol", + "tnvOD8JNkGONT2LJhWOMXowZ8fCQ6Ec6ws2SY0UJ14d4w7xnz7U9+STHRYlJnNyl", + "ZYNLZ7UK7zyILWhAjkmq3TUaw7o456+QIyf4hA/he9UZhwhgRGNjJCUATbEUT+PF", + "65ox6+rT5g/jjDlY6kxfvLCTYJG/Arlj9FCAV/vBa/0lUu1OjivxPNK694G4tVHl", + "/z1yApzgzbOgkOY1caPCkGgniD2N4rySm744RxVXonrKmso9nsG0tGrDTC72M39Y", + "xgzt2x+NCDhBxZ6EWkqXH6Xk5yOPUV8XDTjqwOnm4XvyD9jzxAiK9Bex6CxKNfph", + "9p42Kr3QZPVXjZofqcfhJxZ4Nv0s09K1R1yqNzMmO7Aa2uF2F6ChQ/m6Z41hdaeO", + "AxxsOeRYAlBFJ4oo2cFVyqkCAwEAAQ==", + "-----END PUBLIC KEY-----" + ], + "url": "https://pkg.trueos.org/pkg/freenas/12/snapshot" + }, + "ports": { + "branch": "freenas/12-stable", + "build": { + "default": [ + "editors/emacs-nox11", + "os/userland-debug@nozfs", + "os/userland-devtools@nozfs", + "os/userland@nozfs", + "os/kernel@nozfs", + "os/kernel-debug@nozfs", + "os/kernel-symbols@nozfs", + "os/kernel-debug-symbols@nozfs" + ] + }, + "build-all": false, + "local_source": "/usr/local_source", + "make.conf": { + "default": [ + "BASEPKG_ABISTRING=FreeBSD:12:amd64", + "CRAZY=YES", + "DEBUGKERNCONF=IXNAS-DEBUG", + "DEFAULT_VERSIONS+=python=3.7 python3=3.7", + "KERNCONF=IXNAS", + "MAKE_JOBS_NUMBER_LIMIT=3", + "NET_SNMP_WITHOUT_MIB_MODULE_LIST=sctp-mib", + "WANT_OPENLDAP_SASL=YES", + "WITHOUT_CHECK=YES", + "databases_rrdtool_UNSET+=DEJAVU", + "databases_rrdtool_UNSET+=PERL", + "databases_rrdtool_UNSET+=PYTHON", + "devel_dbus_UNSET+=X11", + "devel_gdb_SET+=PYTHON", + "dns_samba-nsupdate_SET+=IPV6", + "emulators_mtools_UNSET+=X11", + "emulators_openvm-tools_UNSET+=ICU", + "editors_jed_UNSET+=X11", + "graphics_cairo_UNSET+=OPENGL XCB X11", + "lang_perl5.26_UNSET+=DTRACE", + "lang_python27_UNSET+=NLS", + "misc_mc_UNSET+=X11", + "net_netatalk3_SET+=ACL", + "net_netatalk3_SET+=DBUS", + "net_netatalk3_SET+=KERBEROS", + "net_netatalk3_SET+=KERBEROS5", + "net_netatalk3_SET+=LDAP", + "net_netatalk3_SET+=SENDFILE", + "net_netatalk3_SET+=PAM", + "net_netatalk3_UNSET+=MDNSRESPONDER", + "net_netatalk3_UNSET+=AVAHI", + "net_nss-pam-ldapd-sasl_SET+=KERBEROS", + "net_nss-pam-ldapd-sasl_SET+=NSS", + "net_nss-pam-ldapd-sasl_SET+=PAM", + "net_openldap24-sasl-client_SET+=GSSAPI", + "net_py-ldap_SET+=SASL", + "net_rsync_SET+=ACL", + "net_rsync_SET+=ICONV", + "net_rsync_UNSET+=FLAGS", + "net_samba411_SET+=ACL_SUPPORT", + "net_samba411_SET+=ADS", + "net_samba411_SET+=AIO_SUPPORT", + "net_samba411_SET+=CLUSTER", + "net_samba411_SET+=DNSUPDATE", + "net_samba411_SET+=DOCS", + "net_samba411_SET+=EXP_MODULES", + "net_samba411_SET+=FAM", + "net_samba411_SET+=LDAP", + "net_samba411_SET+=LIBZFS", + "net_samba411_SET+=MANPAGES", + "net_samba411_SET+=NSUPDATE", + "net_samba411_SET+=PAM_SMBPASS", + "net_samba411_SET+=PTHREADPOOL", + "net_samba411_SET+=QUOTAS", + "net_samba411_SET+=SYSLOG", + "net_samba411_SET+=UTMP", + "net_samba411_UNSET+=MDNSRESPONDER", + "net_samba411_UNSET+=AVAHI", + "net_samba411_UNSET+=AD_DC", + "net_samba411_UNSET+=BIND99", + "net_samba411_UNSET+=BIND910", + "net_samba411_UNSET+=CUPS", + "net_samba411_UNSET+=DEBUG", + "net_samba411_UNSET+=DEVELOPER", + "net_samba411_UNSET+=SPOTLIGHT", + "net-mgmt_netdata_SET+=FREEIPMI", + "net-mgmt_net-snmp_UNSET+=PERL", + "net-mgmt_net-snmp_UNSET+=PERL_EMBEDDED", + "net-mgmt_collectd5_SET+=CURL", + "net-mgmt_collectd5_SET+=DEBUG", + "net-mgmt_collectd5_SET+=DISK", + "net-mgmt_collectd5_SET+=IPMI", + "net-mgmt_collectd5_SET+=NUTUPS", + "net-mgmt_collectd5_SET+=PYTHON", + "net-mgmt_collectd5_SET+=RRDTOOL", + "net-mgmt_collectd5_SET+=STATGRAB", + "net-mgmt_collectd5_UNSET+=BIND", + "net-mgmt_collectd5_UNSET+=SNMP", + "os_buildkernel_UNSET+=ZFS", + "os_buildworld_UNSET+=BLUETOOTH", + "os_buildworld_UNSET+=BSDINSTALL", + "os_buildworld_UNSET+=PPP", + "os_buildworld_UNSET+=SVNLITE", + "os_buildworld_UNSET+=ZFS", + "os_userland_UNSET+=LIB32", + "os_userland_SET+=ZOL", + "print_harfbuzz_UNSET+=X11", + "print_harfbuzz_UNSET+=XCB", + "security_ca_root_nss_SET+=ETCSYMLINK", + "security_openssh-portable_SET+=HEIMDAL_BASE", + "security_openssh-portable_SET+=NONECIPHER", + "security_openssh-portable_SET+=HPN", + "security_sudo_SET+=LDAP", + "shells_bash_UNSET+=NLS", + "shells_scponly_SET+=GFTP", + "shells_scponly_SET+=RSYNC", + "shells_scponly_SET+=SCP", + "shells_scponly_SET+=WINSCP", + "sysutils_e2fsprogs_UNSET+=NOTESTS", + "sysutils_e2fsprogs_SET+=SMALLTESTS", + "sysutils_nut_UNSET+=NEON", + "sysutils_tmux_SET+=LIBEVENT2", + "www_minio-client_UNSET+=MC", + "www_nginx_SET+=HTTP_SSL", + "www_nginx_SET+=HTTP_UPLOAD", + "www_nginx_SET+=HTTP_UPLOAD_PROGRESS", + "www_nginx_SET+=SPDY", + "www_nginx_SET+=STATUS", + "www_node_UNSET+=DTRACE", + "www_py-ws4py_UNSET+=CHERRYPY", + "www_py-ws4py_UNSET+=GEVENT", + "x11-toolkits_pango_UNSET+=X11" + ] + }, + "type": "git", + "url": "https://github.com/freenas/ports" + }, + "poudriere-conf": [ + "NOHANG_TIME=14400", + "BUILD_AS_NON_ROOT=no", + "RESTRICT_NETWORKING=no" + ], + "version": "1.1", + "vm": { + "boot": "zfs", + "disk-config": "zfs-noswap-freenas", + "file-name": "FreeNAS-12-snapshot-EC2-%%GITHASH%%-%%DATE%%", + "pool-name": "freenas-boot", + "size": "3G", + "vm-base-packages": { + "default": [ + "os-nozfs-userland", + "os-nozfs-kernel", + "sysutils/openzfs" + ] + } + } +} diff --git a/vm-diskcfg/zfs-noswap-common.sh b/vm-diskcfg/zfs-noswap-common.sh new file mode 100755 index 0000000..f1be3dc --- /dev/null +++ b/vm-diskcfg/zfs-noswap-common.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# EC2 disk provision script +# + +DISK="$1" +POOL="$2" +ONDISKPOOL="$3" +if [ ! -e "/dev/${DISK}" ] ; then + echo "Missing device /dev/${DISK}" +fi + +if [ -z "$POOL" ] ; then + echo "Missing POOL argument" +fi + +if [ ! -d "vm-mnt" ] ; then + mkdir vm-mnt +fi + +gpart create -s gpt -f active ${DISK} +if [ $? -ne 0 ] ; then + exit 1 +fi + +gpart add -t freebsd-boot -s 512 ${DISK} +if [ $? -ne 0 ] ; then + exit 1 +fi + +gpart add -t freebsd-zfs ${DISK} +if [ $? -ne 0 ] ; then + exit 1 +fi + +zpool create -t ${POOL} -m none -R $(pwd)/vm-mnt ${ONDISKPOOL} ${DISK}p2 +if [ $? -ne 0 ] ; then + exit 1 +fi diff --git a/vm-diskcfg/zfs-noswap-freenas.sh b/vm-diskcfg/zfs-noswap-freenas.sh new file mode 100644 index 0000000..ea85e1b --- /dev/null +++ b/vm-diskcfg/zfs-noswap-freenas.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# +# EC2 disk provision script +# + +`dirname $0`/zfs-noswap-common.sh "$@" + +DISK="$1" +POOL="$2" +ONDISKPOOL="$3" + +zfs create -o canmount=off ${POOL}/ROOT +zfs create -o canmount=on -o mountpoint=/ ${POOL}/ROOT/default +zpool set bootfs=${POOL}/ROOT/default ${POOL} + +touch vm-mnt/.ec2 + +# Disk provision done diff --git a/vm-diskcfg/zfs-noswap.sh b/vm-diskcfg/zfs-noswap.sh index 4d01484..175c8f8 100644 --- a/vm-diskcfg/zfs-noswap.sh +++ b/vm-diskcfg/zfs-noswap.sh @@ -3,40 +3,11 @@ # EC2 disk provision script # +`dirname $0`/zfs-noswap-common.sh "$@" + DISK="$1" POOL="$2" ONDISKPOOL="$3" -if [ ! -e "/dev/${DISK}" ] ; then - echo "Missing device /dev/${DISK}" -fi - -if [ -z "$POOL" ] ; then - echo "Missing POOL argument" -fi - -if [ ! -d "vm-mnt" ] ; then - mkdir vm-mnt -fi - -gpart create -s gpt -f active ${DISK} -if [ $? -ne 0 ] ; then - exit 1 -fi - -gpart add -t freebsd-boot -s 512 ${DISK} -if [ $? -ne 0 ] ; then - exit 1 -fi - -gpart add -t freebsd-zfs ${DISK} -if [ $? -ne 0 ] ; then - exit 1 -fi - -zpool create -t ${POOL} -m none -R $(pwd)/vm-mnt ${ONDISKPOOL} ${DISK}p2 -if [ $? -ne 0 ] ; then - exit 1 -fi zfs set compression=on ${POOL} zfs create -o canmount=off ${POOL}/ROOT