Document packaging and release artifacts

This commit is contained in:
Luna 2026-06-17 00:22:43 -07:00
parent aee984d862
commit e0e5cd62d9
14 changed files with 470 additions and 13 deletions

View file

@ -4,8 +4,10 @@ LIBDIR := $(PREFIX)/lib/enodia-sentinel
SYSTEMDDIR := /etc/systemd/system
CONFDIR := /etc
LOGDIR := /var/log/enodia-sentinel
DOCDIR := $(PREFIX)/share/doc/enodia-sentinel
TMPFILESDIR := /etc/tmpfiles.d
.PHONY: install uninstall enable disable status logs check baseline drill test clean
.PHONY: install uninstall enable disable status logs check baseline drill test release-artifacts clean
# Installs the stdlib-only Python package as a plain directory + launcher
# wrapper (no pip, no virtualenv, no site-packages). Zero runtime deps.
@ -17,13 +19,27 @@ install:
install -Dm644 systemd/enodia-sentinel.service $(DESTDIR)$(SYSTEMDDIR)/enodia-sentinel.service
install -Dm644 systemd/enodia-sentinel-web.service $(DESTDIR)$(SYSTEMDDIR)/enodia-sentinel-web.service
install -Dm644 packaging/enodia-sentinel-fim.hook $(DESTDIR)/etc/pacman.d/hooks/enodia-sentinel-fim.hook
install -Dm644 packaging/enodia-sentinel.tmpfiles $(DESTDIR)$(TMPFILESDIR)/enodia-sentinel.conf
@if [ ! -e "$(DESTDIR)$(CONFDIR)/enodia-sentinel.toml" ]; then \
install -Dm644 config/enodia-sentinel.toml $(DESTDIR)$(CONFDIR)/enodia-sentinel.toml; \
echo "Installed default config at $(CONFDIR)/enodia-sentinel.toml"; \
echo "Installed default config at $(DESTDIR)$(CONFDIR)/enodia-sentinel.toml"; \
else \
install -Dm644 config/enodia-sentinel.toml $(DESTDIR)$(CONFDIR)/enodia-sentinel.toml.new; \
echo "Existing config preserved; new template at $(CONFDIR)/enodia-sentinel.toml.new"; \
echo "Existing config preserved; new template at $(DESTDIR)$(CONFDIR)/enodia-sentinel.toml.new"; \
fi
install -Dm644 README.md $(DESTDIR)$(DOCDIR)/README.md
install -Dm644 docs/INDEX.md $(DESTDIR)$(DOCDIR)/INDEX.md
install -Dm644 docs/COMMAND_REFERENCE.md $(DESTDIR)$(DOCDIR)/COMMAND_REFERENCE.md
install -Dm644 docs/SCHEMAS.md $(DESTDIR)$(DOCDIR)/SCHEMAS.md
install -Dm644 docs/PACKAGING.md $(DESTDIR)$(DOCDIR)/PACKAGING.md
install -Dm644 docs/OPERATIONS.md $(DESTDIR)$(DOCDIR)/OPERATIONS.md
install -Dm644 docs/RUNBOOKS.md $(DESTDIR)$(DOCDIR)/RUNBOOKS.md
install -Dm644 docs/RULES.md $(DESTDIR)$(DOCDIR)/RULES.md
install -Dm644 docs/SPECIFICATION.md $(DESTDIR)$(DOCDIR)/SPECIFICATION.md
install -Dm644 docs/ROADMAP.md $(DESTDIR)$(DOCDIR)/ROADMAP.md
install -Dm644 docs/THREAT_MODEL.md $(DESTDIR)$(DOCDIR)/THREAT_MODEL.md
install -Dm644 docs/VERSION.json $(DESTDIR)$(DOCDIR)/VERSION.json
install -Dm644 systemd/enodia-sentinel-ebpf.conf $(DESTDIR)$(DOCDIR)/examples/enodia-sentinel-ebpf.conf
install -dm750 $(DESTDIR)$(LOGDIR)
@echo "Installed. Run 'sudo make enable' to start the service."
@ -34,7 +50,9 @@ uninstall:
rm -f $(DESTDIR)$(SYSTEMDDIR)/enodia-sentinel.service
rm -f $(DESTDIR)$(SYSTEMDDIR)/enodia-sentinel-web.service
rm -f $(DESTDIR)/etc/pacman.d/hooks/enodia-sentinel-fim.hook
rm -f $(DESTDIR)$(TMPFILESDIR)/enodia-sentinel.conf
rm -f $(DESTDIR)$(CONFDIR)/enodia-sentinel.toml.new
rm -rf $(DESTDIR)$(DOCDIR)
@echo "Uninstalled. Config and logs preserved."
enable:
@ -66,5 +84,8 @@ web:
drill:
./src/sentinel-redteam
release-artifacts:
packaging/release-artifacts.sh
clean:
find . -type d -name __pycache__ -prune -exec rm -rf {} +