commit 26b62ccf62a02e29d89c4638470bf1b15f18847b Author: Silvio Date: Wed Apr 4 13:27:08 2018 +0200 Initial commit diff --git a/bitnami/grafana/.github/ISSUE_TEMPLATE.md b/bitnami/grafana/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000000..da2b4da33fde --- /dev/null +++ b/bitnami/grafana/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,60 @@ + + +**Description** + + + +**Steps to reproduce the issue:** + +1. [First Step] +2. [Second Step] +3. [and so on...] + +**Describe the results you received:** + + + +**Describe the results you expected:** + + + +**Additional information you deem important (e.g. issue happens only occasionally):** + + + +**Version** + +- Output of `docker version`: + +``` +(paste your output here) +``` + +- Output of `docker info`: + +``` +(paste your output here) +``` + +- Output of `docker-compose version` (if applicable): + +``` +(paste your output here) +``` + +**Additional environment details (AWS, VirtualBox, Docker for MAC, physical, etc.):** diff --git a/bitnami/grafana/.github/PULL_REQUEST_TEMPLATE.md b/bitnami/grafana/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000000..c2acbe6e0d70 --- /dev/null +++ b/bitnami/grafana/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,32 @@ + + +**Description of the change** + + + +**Benefits** + + + +**Possible drawbacks** + + + +**Applicable issues** + + + +**Additional information** + + diff --git a/bitnami/grafana/5/Dockerfile b/bitnami/grafana/5/Dockerfile new file mode 100644 index 000000000000..dd1ad538c51b --- /dev/null +++ b/bitnami/grafana/5/Dockerfile @@ -0,0 +1,31 @@ +FROM bitnami/minideb as development + +ARG GRAFANA_VERSION=5.0.3 +ARG GRAFANA_DIR=grafana-$GRAFANA_VERSION + +RUN install_packages wget ca-certificates curl + +RUN wget -nc https://s3-us-west-2.amazonaws.com/grafana-releases/release/$GRAFANA_DIR.linux-x64.tar.gz && \ + tar -xzf $GRAFANA_DIR.linux-x64.tar.gz + + +RUN mkdir /$GRAFANA_DIR/data /$GRAFANA_DIR/logs +RUN chmod g+w /$GRAFANA_DIR/data /$GRAFANA_DIR/logs + +FROM bitnami/minideb:jessie +LABEL maintainer "Bitnami " + +ARG GRAFANA_VERSION=5.0.3 +ARG GRAFANA_DIR=grafana-$GRAFANA_VERSION + +COPY --from=development /$GRAFANA_DIR/ /opt/bitnami/grafana/ +COPY --from=development /$GRAFANA_DIR/conf/sample.ini /opt/bitnami/grafana/conf/grafana.ini + +COPY rootfs/ / + +ENV PATH="/opt/bitnami/grafana/bin:$PATH" + +EXPOSE 9115 +WORKDIR /opt/bitnami/grafana +USER 1001 +ENTRYPOINT [ "/run.sh" ] diff --git a/bitnami/grafana/5/rootfs/run.sh b/bitnami/grafana/5/rootfs/run.sh new file mode 100755 index 000000000000..c32504219b8c --- /dev/null +++ b/bitnami/grafana/5/rootfs/run.sh @@ -0,0 +1,26 @@ +#!/bin/bash -e + +: "${GF_PATHS_CONFIG:=/opt/bitnami/grafana/conf/grafana.ini}" +: "${GF_PATHS_DATA:=/opt/bitnami/grafana/data}" +: "${GF_PATHS_LOGS:=/opt/bitnami/grafana/logs}" +: "${GF_PATHS_PLUGINS:=/opt/bitnami/grafana/data/plugins}" +: "${GF_PATHS_PROVISIONING:=/opt/bitnami/grafana/conf/provisioning}" + +if [ ! -z "${GF_INSTALL_PLUGINS}" ]; then + OLDIFS=$IFS + IFS=',' + for plugin in ${GF_INSTALL_PLUGINS}; do + IFS=$OLDIFS + grafana-cli --pluginsDir "${GF_PATHS_PLUGINS}" plugins install ${plugin} + done +fi + +exec /opt/bitnami/grafana/bin/grafana-server \ + --homepath=/opt/bitnami/grafana/ \ + --config="$GF_PATHS_CONFIG" \ + cfg:default.log.mode="console" \ + cfg:default.paths.data="$GF_PATHS_DATA" \ + cfg:default.paths.logs="$GF_PATHS_LOGS" \ + cfg:default.paths.plugins="$GF_PATHS_PLUGINS" \ + cfg:default.paths.provisioning=$GF_PATHS_PROVISIONING \ + "$@" diff --git a/bitnami/grafana/LICENSE b/bitnami/grafana/LICENSE new file mode 100644 index 000000000000..1b31de714949 --- /dev/null +++ b/bitnami/grafana/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2018 Bitnami + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/bitnami/grafana/README.md b/bitnami/grafana/README.md new file mode 100644 index 000000000000..a2f8dae9258d --- /dev/null +++ b/bitnami/grafana/README.md @@ -0,0 +1,168 @@ +[![CircleCI](https://circleci.com/gh/bitnami/bitnami-docker-grafana/tree/master.svg?style=shield)](https://circleci.com/gh/bitnami/bitnami-docker-grafana/tree/master) + +# What is Grafana? + +Grafana is an open source, feature rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB. + +[https://grafana.com](https://grafana.com) + +# TL;DR; + +```bash +$ docker run --name grafana bitnami/grafana:latest +``` + +# Why use Bitnami Images? + +* Bitnami closely tracks upstream source changes and promptly publishes new versions of this image using our automated systems. +* With Bitnami images the latest bug fixes and features are available as soon as possible. +* Bitnami containers, virtual machines and cloud images use the same components and configuration approach - making it easy to switch between formats based on your project needs. +* Bitnami images are built on CircleCI and automatically pushed to the Docker Hub. +* All our images are based on [minideb](https://github.com/bitnami/minideb) a minimalist Debian based container image which gives you a small base container image and the familiarity of a leading linux distribution. + +# Get this image + +The recommended way to get the Bitnami Grafana Docker Image is to pull the prebuilt image from the [Docker Hub Registry](https://hub.docker.com/r/bitnami/grafana). + +```bash +$ docker pull bitnami/grafana:latest +``` + +To use a specific version, you can pull a versioned tag. You can view the [list of available versions](https://hub.docker.com/r/bitnami/grafana/tags/) in the Docker Hub Registry. + +```bash +$ docker pull bitnami/grafana:[TAG] +``` + +If you wish, you can also build the image yourself. + +```bash +$ docker build -t bitnami/grafana:latest https://github.com/bitnami/bitnami-docker-grafana.git +``` + +# Connecting to other containers + +Using [Docker container networking](https://docs.docker.com/engine/userguide/networking/), a different server running inside a container can easily be accessed by your application containers and vice-versa. + +Containers attached to the same network can communicate with each other using the container name as the hostname. + +## Using the Command Line + +### Step 1: Create a network + +```bash +$ docker network create grafana-network --driver bridge +``` + +### Step 2: Launch the Blacbox_exporter container within your network + +Use the `--network ` argument to the `docker run` command to attach the container to the `grafana-network` network. + +```bash +$ docker run --name grafana-node1 --network grafana-network bitnami/grafana:latest +``` + +### Step 3: Run another containers + +We can launch another containers using the same flag (`--network NETWORK`) in the `docker run` command. If you also set a name to your container, you will be able to use it as hostname in your network. + + +# Configuration + +## Dev config + +Create a `custom.ini` in the conf (`/opt/bitnami/grafana/conf`) directory to override default configuration options. You only need to add the options you want to override. Config files are applied in the order of: +``` +grafana.ini +custom.ini +``` +In your `custom.ini` uncomment (remove the leading ;) sign. And set `app_mode = development`. + +## Production config + +Override the `/opt/bitnami/grafana/conf/grafana.ini` file by [Mounting a volume](#Mounting a volume) + +### Mounting a volume + +Check the [Persisting your data](#Persisting your application) section to add custom volumes to the Grafana container + +# Logging + +The Bitnami grafana Docker image sends the container logs to the `stdout`. To view the logs: + +```bash +$ docker logs grafana +``` + +You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. + +# Maintenance + +## Upgrade this image + +Bitnami provides up-to-date versions of grafana, including security patches, soon after they are made upstream. We recommend that you follow these steps to upgrade your container. + +### Step 1: Get the updated image + +```bash +$ docker pull bitnami/grafana:latest +``` + +### Step 2: Stop and backup the currently running container + +Stop the currently running container using the command + +```bash +$ docker stop grafana +``` + +Next, take a snapshot of the persistent volume `/path/to/grafana-persistence` using: + +```bash +$ rsync -a /path/to/grafana-persistence /path/to/grafana-persistence.bkp.$(date +%Y%m%d-%H.%M.%S) +``` + +You can use this snapshot to restore the database state should the upgrade fail. + +### Step 3: Remove the currently running container + +```bash +$ docker rm -v grafana +``` + +### Step 4: Run the new image + +Re-create your container from the new image, [restoring your backup](#restoring-a-backup) if necessary. + +```bash +$ docker run --name grafana bitnami/grafana:latest +``` + +# Contributing + +We'd love for you to contribute to this container. You can request new features by creating an [issue](https://github.com/bitnami/bitnami-docker-grafana/issues), or submit a [pull request](https://github.com/bitnami/bitnami-docker-grafana/pulls) with your contribution. + +# Issues + +If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/bitnami-docker-grafana/issues). For us to provide better support, be sure to include the following information in your issue: + +- Host OS and version +- Docker version (`docker version`) +- Output of `docker info` +- Version of this container +- The command you used to run the container, and any relevant output you saw (masking any sensitive information) + +# License +Copyright 2018 Bitnami + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/bitnami/grafana/circle.yml b/bitnami/grafana/circle.yml new file mode 100644 index 000000000000..02bf8c7a7736 --- /dev/null +++ b/bitnami/grafana/circle.yml @@ -0,0 +1,61 @@ +version: 2 +jobs: + build: + working_directory: /workdir + docker: + - image: docker:17.06.0-ce-git + environment: + RELEASE_SERIES_LIST: "5" + LATEST_STABLE: "5" + IMAGE_NAME: grafana + DOCKER_PROJECT: bitnami + + steps: + - checkout + - setup_remote_docker: + version: 17.06.0-ce + - run: + name: Upgrade system packages (workaround - https://github.com/docker-library/docker/issues/72) + command: | + apk upgrade --no-cache + - run: + name: Install dependencies + command: | + apk add --no-cache curl bash coreutils + - run: + name: Docker info + command: | + docker version + docker info + - restore_cache: + keys: + - cache-{{ .Branch }} + paths: + - /cache/layers.tar + - run: + name: Build docker image + command: | + curl -sL https://raw.githubusercontent.com/bitnami/test-infra/master/circle/docker-image-test.sh | bash - + - save_cache: + key: cache-{{ .Branch }}-{{ epoch }} + paths: + - /cache/layers.tar + - deploy: + name: Publish docker image + command: | + if [ -n "${CIRCLE_TAG}" ]; then + curl -sL https://raw.githubusercontent.com/bitnami/test-infra/master/circle/docker-release-image.sh | bash - + elif [ "${CIRCLE_BRANCH}" == "master" ]; then + curl -sL https://raw.githubusercontent.com/bitnami/test-infra/master/circle/docker-development-image.sh | bash - + fi + +workflows: + version: 2 + build-and-deploy: + jobs: + - build: + filters: + branches: + only: /.*/ + tags: + only: /^[0-9].*-r[0-9]+$/