amazon-ssm-agent: New package

AWS Systems Manager Agent (SSM Agent) is Amazon software that can be
installed and configured on an Amazon EC2 instance, an on-premises
server, or a virtual machine (VM). SSM Agent makes it possible for
Systems Manager to update, manage, and configure these resources. The
agent processes requests from the Systems Manager service in the AWS
Cloud, and then runs them as specified in the request. SSM Agent then
sends status and execution information back to the Systems Manager
service by using the Amazon Message Delivery Service.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Michael Tremer
2019-12-24 12:58:52 +00:00
committed by Arne Fitzenreiter
parent 590f879b34
commit 44cc9a3d57
8 changed files with 273 additions and 0 deletions

View File

@@ -0,0 +1 @@
/etc/amazon/ssm

View File

@@ -0,0 +1,13 @@
#etc/amazon
etc/amazon/ssm
etc/amazon/ssm/amazon-ssm-agent.json
etc/amazon/ssm/seelog.xml
etc/rc.d/init.d/amazon-ssm-agent
usr/bin/amazon-ssm-agent
usr/bin/ssm-cli
usr/bin/ssm-document-worker
usr/bin/ssm-session-logger
usr/bin/ssm-session-worker
var/ipfire/backup/addons/includes/amazon-ssm-agent
#var/lib/amazon
var/lib/amazon/ssm

118
lfs/amazon-ssm-agent Normal file
View File

@@ -0,0 +1,118 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2019 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 2.3.786.0
SUP_ARCH = x86_64
THISAPP = amazon-ssm-agent-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = amazon-ssm-agent
PAK_VER = 1
DEPS = ""
export GOPATH = $(HOME)/gopath
DIR_BUILD = $(GOPATH)/src/github.com/aws/amazon-ssm-agent
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = a2887445875d335b021c5044eab955dc
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
@$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) $(DIR_BUILD) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
# The build system is searching for code in a certain path
mkdir -pv $$(dirname $(DIR_BUILD))
ln -svf --relative $(DIR_APP) $(DIR_BUILD)
# Disable style check
cd $(DIR_BUILD) && sed -e "/checkstyle.sh/d" -i makefile
# Build
cd $(DIR_BUILD) && make build-linux
# Install
mkdir -pv /etc/amazon/ssm /usr/bin /var/lib/amazon/ssm
cd $(DIR_BUILD) && install -v -m 755 \
bin/linux_amd64/amazon-ssm-agent \
bin/linux_amd64/ssm-cli \
bin/linux_amd64/ssm-document-worker \
bin/linux_amd64/ssm-session-worker \
bin/linux_amd64/ssm-session-logger \
/usr/bin
cd $(DIR_BUILD) && install -v -m 644 \
seelog_unix.xml /etc/amazon/ssm/seelog.xml
cd $(DIR_BUILD) && install -v -m 644 \
amazon-ssm-agent.json.template /etc/amazon/ssm/amazon-ssm-agent.json
# Install initscript
$(call INSTALL_INITSCRIPT,amazon-ssm-agent)
# Install backup include
install -v -m 644 $(DIR_SRC)/config/backup/includes/amazon-ssm-agent \
/var/ipfire/backup/addons/includes/amazon-ssm-agent
@rm -rf $(DIR_APP) $(DIR_BUILD)
@$(POSTBUILD)

View File

@@ -1634,6 +1634,7 @@ buildipfire() {
lfsmake2 geoip-generator
lfsmake2 speedtest-cli
lfsmake2 rfkill
lfsmake2 amazon-ssm-agent
}
buildinstaller() {

View File

@@ -0,0 +1,42 @@
#!/bin/sh
########################################################################
# Begin $rc_base/init.d/amazon-ssm-agent
########################################################################
. /etc/sysconfig/rc
. ${rc_functions}
case "${1}" in
start)
# Do not launch the agent when we are not running on EC2
if ! running_on_ec2; then
exit 0
fi
boot_mesg "Starting Amazon SSM Agent..."
/usr/bin/amazon-ssm-agent &>/dev/null &
evaluate_retval
;;
stop)
boot_mesg "Stopping Amazon SSM Agent..."
killproc /usr/bin/amazon-ssm-agent
;;
restart)
${0} stop
sleep 1
${0} start
;;
status)
statusproc /usr/bin/amazon-ssm-agent
;;
*)
echo "Usage: ${0} {start|stop|restart|status}"
exit 1
;;
esac
# End $rc_base/init.d/amazon-ssm-agent

View File

@@ -0,0 +1,36 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
extract_files
restore_backup ${NAME}
start_service ${NAME}
# Enable autostart
ln -sf ../init.d/amazon-ssm-agent /etc/rc.d/rc0.d/K10amazon-ssm-agent
ln -sf ../init.d/amazon-ssm-agent /etc/rc.d/rc3.d/S41amazon-ssm-agent
ln -sf ../init.d/amazon-ssm-agent /etc/rc.d/rc6.d/K10amazon-ssm-agent
exit 0

View File

@@ -0,0 +1,36 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
extract_backup_includes
stop_service ${NAME}
make_backup ${NAME}
remove_files
rm -rfv /etc/rc.d/rc*.d/*amazon-ssm-agent
exit 0

View File

@@ -0,0 +1,26 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
./uninstall.sh
./install.sh