Skip to content

Commit

Permalink
install module graphite and move modules to /usr/share
Browse files Browse the repository at this point in the history
  • Loading branch information
bebehei committed Jan 5, 2017
1 parent d538d8d commit 5e11c03
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 12 deletions.
12 changes: 9 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ ENV DEBIAN_FRONTEND noninteractive
ENV ICINGA2_FEATURE_GRAPHITE false
ENV ICINGA2_FEATURE_GRAPHITE_HOST graphite
ENV ICINGA2_FEATURE_GRAPHITE_PORT 2003
ENV ICINGA2_FEATURE_GRAPHITE_URL http://${ICINGA2_FEATURE_GRAPHITE_HOST}

ARG GITREF_ICINGAWEB2=master
ARG GITREF_DIRECTOR=master
ARG GITREF_MODGRAPHITE=master

RUN apt-get -qq update \
&& apt-get -qqy upgrade \
Expand Down Expand Up @@ -60,11 +62,15 @@ RUN chmod u+x /opt/supervisor/mysql_supervisor /opt/supervisor/icinga2_superviso

# Temporary hack to get icingaweb2 modules via git
RUN wget -q --no-cookies -O - "https://github.com/Icinga/icingaweb2/archive/${GITREF_ICINGAWEB2}.tar.gz" \
| tar xz --strip-components=2 --directory=/etc/icingaweb2.dist/modules -f - icingaweb2-${GITREF_ICINGAWEB2}/modules/monitoring icingaweb2-${GITREF_ICINGAWEB2}/modules/doc
| tar xz --strip-components=2 --directory=/usr/share/icingaweb2/modules -f - icingaweb2-${GITREF_ICINGAWEB2}/modules/monitoring icingaweb2-${GITREF_ICINGAWEB2}/modules/doc \
&& mkdir -p /usr/share/icingaweb2/modules/graphite \
&& wget -q --no-cookies -O - "https://github.com/Icinga/icingaweb2-module-graphite/archive/${GITREF_ICINGAWEB2}.tar.gz" \
| tar xz --strip-components=1 --directory=/usr/share/icingaweb2/modules/graphite -f - icingaweb2-module-graphite-${GITREF_MODGRAPHITE}/

# Icinga Director
RUN wget -q --no-cookies -O - "https://github.com/Icinga/icingaweb2-module-director/archive/${GITREF_DIRECTOR}.tar.gz" \
| tar xz --strip-components=1 --directory=/etc/icingaweb2.dist/modules/director --exclude=.gitignore -f -
RUN mkdir -p /usr/share/icingaweb2/modules/director \
&& wget -q --no-cookies -O - "https://github.com/Icinga/icingaweb2-module-director/archive/${GITREF_DIRECTOR}.tar.gz" \
| tar xz --strip-components=1 --directory=/usr/share/icingaweb2/modules/director --exclude=.gitignore -f -

EXPOSE 80 443 5665

Expand Down
28 changes: 19 additions & 9 deletions content/opt/run
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ DIRECTOR_API_PASSWORD=${DIRECTOR_API_PASSWORD:-$(pwgen -s 15 1)}
ICINGA2_FEATURE_GRAPHITE=${ICINGA2_FEATURE_GRAPHITE:-"false"}
ICINGA2_FEATURE_GRAPHITE_HOST=${ICINGA2_FEATURE_GRAPHITE_HOST:-"graphite"}
ICINGA2_FEATURE_GRAPHITE_PORT=${ICINGA2_FEATURE_GRAPHITE_PORT:-"2003"}
ICINGA2_FEATURE_GRAPHITE_URL=${ICINGA2_FEATURE_GRAPHITE_URL:-http://${ICINGA2_FEATURE_GRAPHITE_HOST}}
ICINGAWEB2_ADMIN_USER=${ICINGAWEB2_ADMIN_USER:-"icingaadmin"}
ICINGAWEB2_ADMIN_PASS=${ICINGAWEB2_ADMIN_PASS:-"icinga"}
ICINGAWEB2_ADMIN_PASS_HASH=$(openssl passwd -1 "${ICINGAWEB2_ADMIN_PASS}")
Expand Down Expand Up @@ -84,9 +85,21 @@ if [ "${ICINGA2_FEATURE_GRAPHITE}" == "true" ] || [ "${ICINGA2_FEATURE_GRAPHITE}
object GraphiteWriter "graphite" {
host = "$ICINGA2_FEATURE_GRAPHITE_HOST"
port = "$ICINGA2_FEATURE_GRAPHITE_PORT"
enable_send_thresholds = true
}
END

icingacli module enable graphite

cp -r /usr/share/icingaweb2/modules/graphite/sample-config/icinga2/ /etc/icingaweb2/modules/graphite

cat > /etc/icingaweb2/modules/graphite/config.ini <<-END
[graphite]
web_url = ${ICINGA2_FEATURE_GRAPHITE_URL}
END

cp -r /usr/share/icingaweb2/modules/graphite/sample-config/icinga2/ /etc/icingaweb2/modules/graphite

fi

#icinga2 API cert - regenerate new private key and certificate when running in a new container
Expand Down Expand Up @@ -167,11 +180,9 @@ mysql <<-END
END
sed -i "s%users\s=.*%users = \"${ICINGAWEB2_ADMIN_USER}\"%" /etc/icingaweb2/roles.ini

[[ ! -L /etc/icingaweb2/enabledModules/monitoring ]] \
&& ln -sT /etc/icingaweb2/modules/monitoring /etc/icingaweb2/enabledModules/monitoring
icingacli module enable monitoring

[[ ! -L /etc/icingaweb2/enabledModules/doc ]] \
&& ln -sT /etc/icingaweb2/modules/doc /etc/icingaweb2/enabledModules/doc
icingacli module enable doc

sed -i 's,icingaweb2_changeme,'${ICINGAWEB2_PASSWORD}',g' /etc/icingaweb2/resources.ini
sed -i 's,icinga2-ido-mysq_changeme,'${IDO_PASSWORD}',g' /etc/icingaweb2/resources.ini
Expand All @@ -187,13 +198,12 @@ END

mysql -f director < /etc/icingaweb2/modules/director/schema/mysql.sql >> /opt/director-schema.log 2>&1
sed -i 's,director_changeme,'${DIRECTOR_PASSWORD}',g' /etc/icingaweb2/resources.ini
if [[ $(grep director /etc/icinga2/conf.d/api-users.conf) ]]; then echo "=> Director Icinga2 API user exists /etc/icinga2/conf.d/api-users.conf"; else cat /etc/icingaweb2/modules/director/director.api >> /etc/icinga2/conf.d/api-users.conf; fi
if [[ $(grep director /etc/icinga2/conf.d/api-users.conf) ]]; then echo "=> Director Icinga2 API user exists /etc/icinga2/conf.d/api-users.conf"; else cat /usr/share/icingaweb2/modules/director/director.api >> /etc/icinga2/conf.d/api-users.conf; fi
sed -i 's,directorapi,'${DIRECTOR_API_PASSWORD}',g' /etc/icinga2/conf.d/api-users.conf
sed -i 's,changeme,'$(hostname)',g' /etc/icingaweb2/modules/director/kickstart.ini
sed -i 's,directorapi,'${DIRECTOR_API_PASSWORD}',g' /etc/icingaweb2/modules/director/kickstart.ini
sed -i 's,changeme,'$(hostname)',g' /usr/share/icingaweb2/modules/director/kickstart.ini
sed -i 's,directorapi,'${DIRECTOR_API_PASSWORD}',g' /usr/share/icingaweb2/modules/director/kickstart.ini

[[ ! -L /etc/icingaweb2/enabledModules/director ]] \
&& ln -sT /etc/icingaweb2/modules/director /etc/icingaweb2/enabledModules/director
icingacli module enable director

/etc/init.d/mysql stop

Expand Down

0 comments on commit 5e11c03

Please sign in to comment.