Skip to content
This repository has been archived by the owner on Oct 29, 2019. It is now read-only.

Commit

Permalink
temporary commit: 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 Dec 22, 2016
1 parent 7f34337 commit 82e74b5
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 13 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 @@ -56,11 +58,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
30 changes: 20 additions & 10 deletions content/opt/run
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,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}}

#icinga2 options
#icinga2-enable-feature ido-mysql >> /dev/null
Expand All @@ -90,9 +91,21 @@ library "perfdata"
object GraphiteWriter "graphite" {
host = "$ICINGA2_FEATURE_GRAPHITE_HOST"
port = "$ICINGA2_FEATURE_GRAPHITE_PORT"
enable_send_thresholds = true
}
EOF

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 @@ -171,11 +184,9 @@ ICINGAADMIN_PASSWORD=`openssl passwd -1 "icinga"`
) |
mysql

[[ ! -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 @@ -189,15 +200,14 @@ chown www-data:adm /var/log/icingaweb2
echo "quit"
) |
mysql
mysql -f director < /etc/icingaweb2/modules/director/schema/mysql.sql >> /opt/director-schema.log 2>&1
mysql -f director < /usr/share/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 82e74b5

Please sign in to comment.