2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-07-31 18:19:40 +00:00

149 Commits

Author SHA1 Message Date
Vinícius Ferrão ae0d790adb fix(xcatsn): name SLES Apache service unit 2026-07-27 17:19:27 -03:00
Vinícius Ferrão f6ba29ef80 build(spec): activate the hardened Apache headers on SUSE
The security response headers added to xcat.conf are wrapped in
<IfModule mod_headers.c>, so they only take effect where mod_headers is loaded.
EL loads it by default and the Debian postinst enables it with a2enmod, but SUSE
apache2 does not load it by default, so the headers stayed inactive there. Enable
it in the RPM %post for the apache2 case, guarded so it is a no-op on EL (where
a2enmod is absent and mod_headers is already loaded).

Verified on openSUSE Leap 15.6: mod_headers is off by default, the hardened
config still starts, and after a2enmod the served response carries all four
security headers. The need to load mod_headers on SUSE was identified in the
lenovobuild branch (660df81379 / xcat.conf.apach24.sles), here done via
a2enmod rather than a separate config file.

Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com>
2026-07-27 17:18:57 -03:00
Vinícius Ferrão 9261a765bd fix(httpd): harden the xCAT Apache configuration
Add standard security response headers (X-Frame-Options, X-Content-Type-
Options, Content-Security-Policy, X-Permitted-Cross-Domain-Policies) to the
/install and /tftpboot directories, mask the server banner with
"ServerTokens Prod", and drop the Includes (SSI) and MultiViews options from
those file-serving directories. Indexes on /install/postscripts, /install/post
and the doc directory are left intact so directory browsing still works where
xCAT relies on it.

The Header directives are wrapped in <IfModule mod_headers.c> so a server
whose mod_headers is not loaded still starts cleanly instead of failing on an
unknown directive. On Debian/Ubuntu, where mod_headers is not enabled by
default, the xCAT and xCATsn package postinst scripts run "a2enmod headers"
before restarting Apache so the headers take effect there as well; on
RHEL/SLES the module is loaded by default and needs no action.

Recovered from the unmerged lenovobuild branch (originals 7ee0c129, 85c8bc09,
d4d1783a), adapted: the deprecated X-XSS-Protection header and the
mod_allowmethods-dependent AllowMethods directive are omitted, and the Header
directives use "set" rather than "append".

Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com>
2026-07-27 17:18:57 -03:00
Vinícius Ferrão f20727ed2a build(spec): drop the mandatory elilo-xcat dependency
xCAT and xCATsn hard-required elilo-xcat on every non-s390x install. elilo only
provides the ia64 (Itanium) UEFI loader; modern x86-64 UEFI netboot uses
xnba.efi and aarch64 uses grub2, so the dependency pulls a loader no current
platform needs. Drop the Requires (xnba-undi, which the UEFI path does use, is
kept). elilo-xcat can still be installed by hand for legacy ia64.

An OVMF x86-64 UEFI client netboots through xnba.efi with no elilo involved.

Recovered from the unmerged lenovobuild branch (e53b62e0).

Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com>
2026-07-23 01:32:16 -03:00
Daniel Hilst 419d6c262c Merge pull request #7596 from VersatusHPC/fix/issue-7593-systemd-packaging
fix: avoid sysvinit paths on systemd enabled systems
2026-07-17 21:35:45 -03:00
Vinícius Ferrão d829be9e94 fix(packaging): make xcatd callers init-agnostic 2026-07-16 01:41:38 -03:00
Daniel Hilst 529c821177 fix(packaging): install-time DHCP rich dep + genesis-base out of flat core
The single flat xcat-core repo serves el8/el9/el10 from one build, but two spec
decisions were resolved at BUILD time and so were wrong for the other ELs that
share the same repo.

1. DHCP backend. xCAT.spec and xCATsn.spec selected the dhcp provider with a
   build-time %if (rhel >= 10 -> kea, else dhcpd), so an el10 build wrongly
   required kea on el8/el9 (and an el8/el9 build wrongly required dhcpd on
   el10). Replace it with an install-time RPM rich dependency:

     Requires: (kea if (system-release >= 10) else /usr/sbin/dhcpd)
     Requires: (kea-hooks if (system-release >= 10))

   dnf now resolves it per client: kea on el10+ (which dropped ISC dhcp from the
   distro), dhcpd on el8/el9. SLES has no "system-release" provide, so the
   condition is false there and it falls back to /usr/sbin/dhcpd, preserving
   prior behavior. system-release is versioned per release package
   (el10=10.x, el9=9.x, el8=8.x).

2. openssl. Make the xCAT-server openssl Requires uniform across EL (non-SUSE)
   instead of el10-only, so the produced package set does not depend on which EL
   the build host happened to be.

Also drop xCAT-genesis-base from the default @PACKAGES set in buildrpms.pl: its
initramfs bundles the build-chroot kernel/glibc and is therefore OS- and
arch-dependent, so it cannot ship in the single flat core. It is now built per
target by the xcat-dep pipeline (mockbuild-all.pl, via
`buildrpms.pl --package xCAT-genesis-base`) and ships in xcat-dep/rh<N>. The
explicit `--package xCAT-genesis-base` build path is retained.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-06-30 19:19:33 -03:00
Daniel Hilst 37212eea3c fix(xcat): drop unsatisfiable ppc64 genesis-scripts dependency
xcat and xcatsn declared a hard dependency on xcat-genesis-scripts-ppc64. In
an amd64-only build that package is never produced, so apt could not satisfy
the dependency and refused to install xcat. Depend only on the amd64
genesis-scripts package.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-06-24 14:20:26 -03:00
Daniel Hilst 638f0d75c4 Fix xCAT 2.18 EL10 x86_64 package build issues
Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-06-20 18:48:14 -03:00
Vinícius Ferrão 5035697e9b fix: disable Apache directory indexing on /install and /tftpboot
The default xCAT Apache configuration shipped with Options Indexes
enabled for the /install and /tftpboot directories. This allowed
unauthenticated users to browse directory listings, disclosing the
full tree of postscripts, boot files, and (in production deployments)
potentially kickstart files with password hashes, custom scripts with
embedded credentials, and cluster topology details.

Replace Options Indexes with -Indexes in all four shipped Apache config
files (MN and SN, Apache 2.2 and 2.4 variants). Direct file access
by known path continues to work, so all provisioning workflows are
unaffected. Directory browsing for /xcat-doc is preserved as it
contains only public documentation.

Additionally, add an Apache hardening guide documenting recommended
permissions for sensitive directories under /install, network binding
best practices, and IP-based access control options.

Addresses #7450
2026-05-03 23:01:01 -03:00
Vinícius Ferrão 6f3d9bb9d1 Add Kea DHCP backend 2026-04-23 02:01:33 -03:00
Daniel Hilst Selli d7e8ec9607 fix: Pull xCAT-genesis-scripts based on the arch
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-03-18 18:22:37 -03:00
Daniel Hilst Selli 4a1905171d fix: Fix genesis boot in ppc64le
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-03-11 09:32:35 -03:00
Mark Gurevich 3b0442797c Support for xCAT installation on Ubuntu20 2022-09-21 10:02:27 -04:00
Mark Gurevich 7c5ed56108 goconserver version update for Ubuntu 2020-11-03 15:54:29 -05:00
Mark Gurevich d30f35da55 Update required goconserver version for xCAT 2.16.1 2020-11-03 15:39:11 -05:00
cxhong d1e642c54c Revert "Remove perl-IO-Stty requirement from xCAT spec" 2020-03-20 16:57:32 -04:00
cxhong 8ac03366a8 Remove perl-IO-Stty requirement from xCAT spec 2019-12-05 15:56:32 -05:00
Mark Gurevich 4eef7d6987 Revert "Remove kits from Ubuntu and go-xcat"
This reverts commit 7c9d6a56f0.
2019-10-03 11:28:51 -04:00
Mark Gurevich 7c9d6a56f0 Remove kits from Ubuntu and go-xcat 2019-07-24 16:42:26 -04:00
GONG Jie fd76d16d3e Remove package conserver from Depends section. Move package goconserver from Recommends section to Depends section 2019-05-16 17:15:21 +08:00
GONG Jie 5368829ded Remove conserver-xcat from RPM requirements 2019-04-18 16:59:32 +08:00
Gᴏɴɢ Jie 9d98236dc1 [RH8] RHEL 8 Service node automatic installation (#6041)
* Update tftp dependency

* Update service node package lists for RHEL 8

* Fix typo in `Configure PostgreSQL' page

* Rewrite the description of package xCATsn
2019-03-01 16:00:03 +08:00
GONG Jie 3bda36a1e9 Remove trailing spaces in file xCATsn/debian/postinst 2017-12-31 23:59:59 +00:00
GONG Jie 8a60644bb4 Remove trailing spaces in file xCATsn/debian/copyright 2017-12-31 23:59:59 +00:00
Victor Hu 88925f99a8 Reverse installing xCAT-openbmc-py by default so we can require python dependencies 2018-03-08 15:21:26 -05:00
zet809 a6441554a8 Merge pull request #4790 from neo954/packaging
Add package dependency for goconserver
2018-03-05 12:48:36 +08:00
Victor Hu c3a36f0e7e For ppc64le platforms, install xCAT-openbmc-py 2018-03-02 13:53:24 -05:00
GONG Jie dbba432208 Add package dependency for goconserver 2018-02-05 16:03:41 +08:00
Gᴏɴɢ Jie 55b2b1e61c Revert patch 8d06fe1195 on xCAT/xCAT.spec and xCATsn/xCATsn.spec (#4783) 2018-02-01 22:49:31 -06:00
GONG Jie 8d06fe1195 Add package dependency dependency for goconserver 2018-01-31 13:59:30 +08:00
bybai d9a8a1bce6 fix CI failure for syslinux deb package arch 2018-01-18 22:11:46 -05:00
Bin Xu ab3dc751d7 More strict check to tell if it is a chroot env to avoid modify DB (#4463)
when genimage for SN image (#4365)
2017-12-07 00:51:44 -06:00
Chuck Brazie c012b45ec1 Merge branch 'master' into ZVM_XCAT_DEV 2017-10-03 09:44:06 -04:00
yangsong a183e3b8f2 support local syslog:1)ship logrotate and log filter rule files in xCATsn;2)refine syslog script to enable log filter and rotate rules (#3921) 2017-09-15 16:03:43 +08:00
Chuck Brazie 1166d003ad remove elilo from spec files, remove aa from line 277 in
zvmdiagnostics.pm

Change-Id: Ifb2ee4200ccc9d8294764609904ac9d0ab555f7c
2017-02-24 14:02:49 -05:00
zet809 6755a099d0 Merge pull request #2195 from neo954/issue1547-rpm-packaging
Make all the rpm packages have the exactly same version and release numbers
2017-01-10 17:27:54 +08:00
GONG Jie 398494a32c Fix typo. Remove unused lines. 2017-01-05 11:07:45 +08:00
neo954 327db76f9e Make all the deb packages have the exactly same version and release numbers 2017-01-03 12:56:15 +08:00
GONG Jie 65c2911888 Make all the rpm packages have the exactly same version and release numbers 2017-01-03 12:47:14 +08:00
chenglch 843fee9ad3 Modify build spec to require ipmitool-xcat-1.8.17-1 2016-11-10 10:44:03 +08:00
Patrick Lundgren 8b1d06060e Modified spec files to require ipmitool-xcat 1.8.17, so "yum update *xCAT*" will pull in ipmitool-xcat-1.8.17 2016-10-25 15:19:24 -04:00
Jarrod Johnson edb1d181e9 Provide hook for saner versioning
The traditional approach was not adequately
hooked into git.  It should do nothing by
default differently.
2016-09-28 08:43:35 -04:00
immarvin a69f040bef add syslinux-xcat and xnba-undi to the dependency of xCAT and xCATsn to support mixed cluster 2016-09-14 04:55:20 -04:00
hu-weihua d7a683b200 fix probe bugs 2016-08-15 04:10:50 -04:00
ertaozh 8b5f44c44a Modify xcat-genesis-script pkg name for ubuntu 2016-08-10 01:23:06 -04:00
ertaozh cd471d112d modify dependency xcat-genesis-scripts to xcat-genesis-scripts-ppc64 and xcat-genesis-scripts-x86-64 for xcatsn and xcat 2016-07-20 01:17:45 -04:00
ertaozh 65bfb783d2 modify xcat to depended on ipmitool-xcat-1.8.15-2 and higher 2016-07-18 01:53:00 -04:00
Victor Hu 3216161426 For xCAT 2.11, update the ipmitool-xcat requires to 1.8.11 for x86_64
and 1.8.15 for ppc64le.  1.8.15 is required for OpenPower boxes
2016-05-11 09:34:48 -04:00
immarvin d7d0e62911 fix defect [fvt]2.11:xcatsn installation error in rhels7.2 #488 2015-11-27 04:49:12 -05:00