96 lines
2.3 KiB
INI
96 lines
2.3 KiB
INI
|
# Copyright 2019 The Kubernetes Authors.
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
# Perform a fresh install, not an upgrade
|
||
|
install
|
||
|
cdrom
|
||
|
|
||
|
# Perform a text installation
|
||
|
text
|
||
|
|
||
|
# Do not install an X server
|
||
|
skipx
|
||
|
|
||
|
# Configure the locale/keyboard
|
||
|
lang en_US.UTF-8
|
||
|
keyboard us
|
||
|
|
||
|
# Configure networking
|
||
|
network --onboot yes --bootproto dhcp --hostname capv.vm
|
||
|
firewall --disabled
|
||
|
selinux --permissive
|
||
|
timezone UTC
|
||
|
|
||
|
# Don't flip out if unsupported hardware is detected
|
||
|
unsupported_hardware
|
||
|
|
||
|
# Configure the user(s)
|
||
|
auth --enableshadow --passalgo=sha512 --kickstart
|
||
|
user --name=builder --plaintext --password builder --groups=builder,wheel
|
||
|
|
||
|
# Disable general install minutia
|
||
|
firstboot --disabled
|
||
|
eula --agreed
|
||
|
|
||
|
# Create a single partition with no swap space
|
||
|
bootloader --location=mbr
|
||
|
zerombr
|
||
|
clearpart --all --initlabel
|
||
|
part / --grow --asprimary --fstype=ext4 --label=slash
|
||
|
|
||
|
%packages --ignoremissing --excludedocs
|
||
|
openssh-server
|
||
|
sed
|
||
|
sudo
|
||
|
|
||
|
# Remove unnecessary firmware
|
||
|
-*-firmware
|
||
|
|
||
|
# Remove other unnecessary packages
|
||
|
-postfix
|
||
|
%end
|
||
|
|
||
|
# Enable/disable the following services
|
||
|
services --enabled=sshd
|
||
|
|
||
|
# Perform a reboot once the installation has completed
|
||
|
reboot
|
||
|
|
||
|
# The %post section is essentially a shell script
|
||
|
%post --erroronfail
|
||
|
|
||
|
# Update the root certificates
|
||
|
update-ca-trust force-enable
|
||
|
|
||
|
# Ensure that the "builder" user doesn't require a password to use sudo,
|
||
|
# or else Ansible will fail
|
||
|
echo 'builder ALL=(ALL) NOPASSWD: ALL' >/etc/sudoers.d/builder
|
||
|
chmod 440 /etc/sudoers.d/builder
|
||
|
|
||
|
# Install open-vm-tools
|
||
|
yum install -y open-vm-tools
|
||
|
|
||
|
# Remove the package cache
|
||
|
yum -y clean all
|
||
|
|
||
|
# Disable swap
|
||
|
swapoff -a
|
||
|
rm -f /swapfile
|
||
|
sed -ri '/\sswap\s/s/^#?/#/' /etc/fstab
|
||
|
|
||
|
# Ensure on next boot that network devices get assigned unique IDs.
|
||
|
sed -i '/^\(HWADDR\|UUID\)=/d' /etc/sysconfig/network-scripts/ifcfg-*
|
||
|
|
||
|
%end
|