Skip to content

Add : Opentsdb image Dockerfile with configs and pipeline #279

Merged
arunesh-j merged 1 commit intomainfrom
add-opentsdb-image
Mar 5, 2026
Merged

Add : Opentsdb image Dockerfile with configs and pipeline #279
arunesh-j merged 1 commit intomainfrom
add-opentsdb-image

Conversation

@arunesh-j
Copy link
Contributor

@arunesh-j arunesh-j commented Mar 3, 2026

Summary

  • Add Docker image for OpenTSDB (built on Alpine 3.23 with HBase 1.4.4, OpenTSDB 2.3.1, Java 8, and gnuplot).
  • Add GitHub Actions pipeline (image-deployment.yaml) to build and push images to Docker Hub on tag-based releases.
  • Add README for the OpenTSDB image.

Image Details

The images/opentsdb/ directory contains a Dockerfile that packages:

  • OpenTSDB 2.3.1 — scalable time-series database
  • HBase 1.4.4 — standalone storage backend
  • Java 8 — required runtime
  • gnuplot 5.2.4 — graph rendering
  • Tini 0.18.0 — init system for graceful shutdowns

Exposed ports: 4242 (OpenTSDB API), 16010 (HBase Master UI), 16070 (HBase RegionServer UI)

Pipeline

The image-deployment.yaml workflow builds and pushes Docker images based on the tag name.

Tag Format

<image-name>-image-v<version>

Example

git tag opentsdb-image-v0.0.1
git push origin opentsdb-image-v0.0.1

This builds images/opentsdb/Dockerfile and pushes:

  • zopdev/opentsdb:v0.0.1
  • zopdev/opentsdb:latest

Pipeline Flow

Tag Push (e.g. opentsdb-image-v0.0.1)
  │
  ▼
Trigger: matches pattern *-image-v*
  │
  ▼
Step 1: Checkout repository
  │
  ▼
Step 2: Extract image name and version from tag
         opentsdb-image-v0.0.1
         ├── IMAGE_NAME   = opentsdb
         └── IMAGE_VERSION = v0.0.1
  │
  ▼
Step 3: Verify images/opentsdb/Dockerfile exists
         ├── Found     → continue
         └── Not found → fail with error
  │
  ▼
Step 4: Log in to Docker Hub
         (uses secrets.DOCKER_HUB_PAT)
  │
  ▼
Step 5: Build and push Docker image
         ├── Context:    images/
         ├── Dockerfile: images/opentsdb/Dockerfile
         └── Tags:
              ├── zopdev/opentsdb:v0.0.1
              └── zopdev/opentsdb:latest

Adding New Images

For any new image added under images/ in the future, the same pipeline works without any changes — just use the matching tag.

# Example: future grafana image
git tag grafana-image-v1.0.0
git push origin grafana-image-v1.0.0
# → builds images/grafana/Dockerfile
# → pushes zopdev/grafana:v1.0.0 and zopdev/grafana:latest

Local Testings

image

Test Plan

  • Verify pipeline triggers on tag push matching *-image-v*
  • Verify image name and version are correctly extracted from the tag
  • Verify Docker image builds successfully from images/opentsdb/Dockerfile
  • Verify image is pushed to Docker Hub as zopdev/opentsdb:<version>

@arunesh-j arunesh-j self-assigned this Mar 3, 2026
@arunesh-j arunesh-j merged commit 56cc029 into main Mar 5, 2026
1 check passed
@arunesh-j arunesh-j deleted the add-opentsdb-image branch March 5, 2026 05:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ADD : Opentsdb image Dockerfile and the configs with the pipeline to publish the image.

3 participants