All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- FIXED: cf_apt_key_updater for Ubuntu 18.04
- FIXED: to enable timers on startup
- NEW: additional system startup commands
- FIXED: to allow cftimer- service tuning through settings_tune
- FIXED: to allow cfsvc- service tuning through settings_tune
- NEW: allow borrowing insufficient memory from swap for distribution
- NEW: implemented local backup filebucket cleanup
- FIXED: forced secrets to override persistent values
- FIXED: atomicWrite to obey ownership & mode when content is the same
- FIXED: cfsystem_timer exceptions in some configurations
- CHANGED: to prune /opt/codingfuture/bin
- CHANGED: Ubuntu instance to remove update-motd package
- CHANGED: got rid of historical cf-apt-update workaround
- NEW: 'silent' atomic file write API for temporary cases
- CHANGED: updated for Ubuntu 18.04 Bionic support
- CHANGED: to use cfhttp service in firewall config
- CHANGED: enabled cgroup-v2 for kernels 4.5+
- NEW: cfsystem::add_handy_tools to control additional package setup
- NEW: FreeIPA NTP support
- NEW: cfsystem_service type
- NEW: cfsystem_timer type
- NEW: cfsystem::metric type as a sort of IoC to integrate cfmetrics
- NEW: Copy-on-Write reserve feature for service definition (overcommit)
- NEW: cfsystem::add_group functions
- CHANGED: to allow zero min/max memory requirements
- NEW: cfsystem::pip class for latest pip setup in /usr/local
- FIXED: Metaspace JVM parameter detection with JRE 1.8.0_162+
- FIXED: updated exim4 config template
- NEW: generic cfsystem::sshdir with custom configuration extension support
- NEW: cf_notify as replacement for standard notify to avoid its refresh side effects
- NEW: added tshark package for standard installation
- CHANGED: to always prefer PSON serialization to avoid retries
- CHANGED: moved syslog related stuff solely to cflogsink
- CHANGED: improved APT cache, Email & NTP service security with ipset:localnet
- FIXED: internal API to allow custom EnvironmentFile for systemd unit
- NEW: cfsystem::location variable
- NEW: cfsystem::netsyslog functionality
- NEW: cfsystem::hdsyslog functionality
- NEW: CfSystem.makeVersion now supports directory traversal
- NEW: show amount of unused RAM in memory distribution
- CHANGED: to mask instead of just disable agent/mcollective, if required
- FIXED: support systemd 236+ timesyncd setup
- CHANGED: to use systemd-timesyncd by default
- NEW: systemd-timesyncd support
- NEW: cfsystem::sysctl::vm_mmax_map_count
- NEW: custom systemd services to use service name for syslog tagging
- FIXED: minor ntp.conf configuration issues
- CHANGED: cfsystem::service_face to default to cfnetwork::service_face
- FIXED/CHANGED: ntpd configuration to use "server" instead of "pool"
- CHANGED: to use Puppet 5 by default
- FIXED: Puppet 5 runtime issues
- FIXED: cf_auto_block_scheduler to work with stricter "test"
- NEW: cfsystem::clusterssh adds also public key file for convenience
- FIXED: clusterssh / PuppetX::CfSystem::Util.genKeyCommon to force new keys on secondary instances when old one is already set
- FIXED: kernel version check to filter out only installed versions
- FIXED: kernel version check to use natural sorting after version extraction
- FIXED: kernel version check to use natural sorting
- CHANGED: to use now available Stretch repository
- CHANGED: LimitMEMLOCK is set to "infinity" instead of MemoryMax size, if requested
- NEW: absolute cfsystem::dotenv filename support
- NEW: string support to systemd memory limits (internal API)
- FIXED: to allow execute cf_wait_socket helper by any user
- CHANGED: to use http://deb.debian.org/debian as default for Debian
- CHANGED: to use $apt_backports_pin = 1001 by default for old system
- CHANGED: updated to APT module >= 4.1
- NEW: Puppet 5.x support
- NEW: Ubuntu Zesty support
- NEW: cfsystem::pretty_json
- Changed ntpdate cron to mail output only if |time offset| >= 1
- Minor fix for HAProxy setup @ jessie
- Fixed to also pin libssl-dev @ jessie
- Fixed to properly create slice extension
- Updated to new 'cfnetwork::bind_address' API
- Added cf_ntpdate wrapper & cron job
- Changed not to run apt-update only when require, but not daily
- Solves cases of failed APT update during catalog deploy
- Added second attempt on failure
- Fixed a long standing issues with "exists" in ensure processing
- Refactor persistent handling and added internal cfsystem_persist type to minimize dependency on facts
- Implemented generic cfsystem::clusterssh to aid cluster deployment with tradeoff for security
- Changed NTPd "server" to "pool" directive
- Fixed long standing issues with mutable fact processing
- Added cf_wait_sock utility & refactored internal API
- Added /etc/profile.d management through cfsystem::binpath
- Added cfsystem::binpath to sudo search_path
- Fixed old problem of not processed providers on first run
- Fixed to stop service prior to cleanup
- Dropped dependency on dalen-puppetdbquery in favor of native puppetdb_query
- Removed old cf_query_*() API
- Added cfsystem::query() API with catalog-specific caching
- Removed deprecated calls to try_get_value()
- Refactored and exposes 'cfsystem::gen_*()' API
- Added installation of libpam-systemd to workaround sshd session issues
- Fixed to properly disable puppet/mcollective/pxp-agent
- Fixed Stretch apt-key issues
- Fixed to support Debian "testing" target
- Converted to support Debian/Ubuntu based on LSB versions, but not codenames
- Switched default keyserver to keyserver.ubuntu.com due to issues with pgp.mit.edu
- Fixed BASE_PORT redifinition warnings
- Fixed not to add backports for testing
- puppet_release apt-key looping update issues
- Added aptitude, psmisc and dnsutils to the list of essential packages
- Added "Debian Old" repos for testing to help migration of external repos
- Fixed puppetlabs apt::key update issues & minor refactoring
- Changed to use puppetlabs-release-pc1 as the only up-to-date source of PuppetLabs signing keys
- Updated to cfnetwork:0.10.1, cfauth:0.10.1
- Fixed to allow ntp connection to localhost for internal purposes
- Fixed to make sure
systemd
is init - Updated to
cfnetwork
0.10.0 API changes - Updated CF deps to v0.10.x
- Fixed another minor typo in hwm::smc type
- Fixed syntax error in HWM generic type
- Automatic newer puppet-lint fixes
- Fixed puppet-lint and metadata-json-lint warnings
- Added experimental support for HardWare Management
Added generic IPMI support Added Dell APT report + OpenManage installation
- Fixed minor issue with undefined variables
- Added
cfsystem::randomfeed
withhaveged
- Fixed to use proper firewall user names for NTP daemon choices
- Added iotop package to installation
- Bug fixes for recent internal API
- New internal API for systemd file cleanup
- Added
cfsystem::ntpd_type
to support ntp(default), openntpd and chrony - Changed default ntp.conf to use "tinker panic 0" to force time sync
- Precised parameter types
- Added global wget configuration with http_proxy/https_proxy
- Fixed BlockIOWeight and CPUShares default calculations
- Added more advanced apt-cacher-ng configuration support
- Added maxmind GeoIP database support for apt-cacher-ng
- Changed to disable puppet agent by default
- Added atomic file write dry_run support (internal API)
- Fixed to strip /etc/cflocation & /etc/cflocationpool in case of manual changes
- Disabled show diff on cfsystem::puppetpki
- Fixed previous broken release for cases with no HTTP proxy configured
- Enforced parameter types
- Added more puppet keys to auto-update
- Added generic helper
cf_apt_key_updater
- Added
cf_kernel_version_check
on every deploy
- Added internal
cfsystem_info
helper to store arbitrary info incfsystem.json
- Fixed to install libssl1.0.0 dep for latest HAProxy @ Jessie
- Fixed case of PuppetLabs PGP key auto-update without proxy
- Fixed wrong version of PuppetLabs PGP key auto-update getting in release
- Implemented auto-update of PuppetLabs PGP key
- Fixed to enable services during creation in Ruby framework
- Minor fix of private Ruby infrastructure
- Changed parser helper
cf_genpass
andcf_genport
to use facts and act like client-side counterpart - Added
cf_genport
helper integrated with facts - Improved logic of CfSystem.genPort()
- Added
cfsystem::haproxy
to setup packages - Added custom
$pki_dir
support tocfsystem::puppetpki
- Fixed to make sort cfsystem.json sections are sorted as well
- Fixed not to fail all resources, if some resource save handler fails in cfsystem.json
- Added wrappers around
puppetdbquery
module - Fixed to support static catalog (no puppet:// source)
- Added control parameter for mcollective service
- Improved security of .env files - only owner can read
- Implemented stable sorting of cfsystem.json section content
- Fixed exim4 provisioning deps & misc.
- Fixed to correctly support Ubuntu Xenial
- Added disabling of IPv6 in APT
- Added disabling of not yet supported backports
- Changed to use fixed mirror by default
- Disabled scheduled agent runs for safety purposes
- Implemented framework support for systemd slices
- Fixed to pass strict mode checking
- Implemented automatic memory distribution with incremental part definitions per service
- Added cfsystem::puppetpki type to copy puppet PKI for local user
- Added strace to list of standard tools
- Updated deps to latest versions
- Workaround to use jessie for stretch for PuppetLabs APT repo
- Changed back to use xenial for appeared PuppetLabs APT repo
- Added support for next Ubuntu 16.10 (yakkety)
- Implemented experimental framework for:
- weight based memory distribution
- resource configuration management
- Implemented a new feature cfsystem::dotenv to manange ~/.env config
- Moved block scheduler logic from rc.local to cf_auto_block_scheduler script
- Added missing apt-listchanges installation
- Added a workaround to install wily packages for xenial until PuppetLabs release those
- Added special '_apt' user support for stretch/xenial
- Updated to use current Debian/Ubuntu release (fact) as the default for APT
- Fixed cf_kernel_version_check to work on Ubuntu with /proc/version_signature
- Implemented cron job for outdated kernel version detection (reboot reminder)
- Added generic /opt/codingfuture/bin folder for all installed scripts
- Moved to generic bin dir and renamed exim helper tools
- cf_send_test_email
- cf_clear_email_queue
- cf_clear_frozen_emails
- Added generic infrastructure for Debconf support (cfsystem::debian::debconf)
- Added support for default system locale
- Added installation of all locales
- Updated Timezone configuration to properly utilize Debconf on Debian & Ubuntu
- Added APT pinning support with forced downgrades by default
- Fixed apt-cacher-ng to allow root user http/https connections during dpkg processing
- Fixed use_srv_records puppet setting to depend on correct parameter
- Fixed to unconditionally install puppet-agent package
- Fixed issue of ca_server not being properly set in some cases
- Changed to force 'default' value for cf_location and cf_location_pool, unless set. That's required to minimize issues due to empty interpolation in Hiera paths.
- Moved sudo and openssh-server installation to cfauth module
- Reorganized internal manifests
- Added puppet agent configuration parameters, including CA server, use DNS SRV records, and puppet environment
- Dropped off external timezone module dependency and re-implemented internally
- Changed to use PuppetLabs approved augeas sysctl module
- Dropped of external openntpd module dependency and re-implementd internally due to original implementation dependency on module_data module which breaks Puppet 4.
- OpenNTPd is using "servers" instead of "server" configuration option now.
- Removed inittab processing for Xen PV guests as they should use systemd
- Force to re-execute sysctl conf in rc.local
- Added custom I/O scheduler support
- Forced noop scheduler for SSD and virtual devices
- Added custom rc.local commands support
- Added 'cf_virt_detect' which has output of systemd-detect-virt
- Fixed issue of apt-cacher-ng bootstrap when APT config depends on not yet installed proxy
- Fixed to use xen PV console on xen hosts
- Added hiera.yaml version 4 support
- Added APT purge and update control through cfsystem parameters
Initial release