Skip to content

Commit

Permalink
Merge pull request #500 from qlik-oss/ist/metrics-build
Browse files Browse the repository at this point in the history
Create new dockerfile for metrics-build with monitoring capable packages
  • Loading branch information
bhargavmg authored Jul 23, 2024
2 parents e0ccded + c105799 commit 1b3e725
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 0 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,41 @@ jobs:
docker push qlik/go-build
docker push qlik/go-build:$(date +'%Y-%m-%d')
if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles'
docker-build-metrics-build:
name: docker build metrics-build
runs-on: ubuntu-latest
env:
DOCKER_BUILDKIT: "1"
steps:
- name: docker version
run: docker version
- uses: actions/checkout@master
- name: build
run: docker build --progress plain --iidfile metrics-build/image.iid -f metrics-build/Dockerfile metrics-build/
- name: tag
run: |
docker tag $(< metrics-build/image.iid) ghcr.io/qlik-oss/metrics-build
docker tag $(< metrics-build/image.iid) ghcr.io/qlik-oss/metrics-build:$(date +'%Y-%m-%d')
docker tag $(< metrics-build/image.iid) qlik/metrics-build
docker tag $(< metrics-build/image.iid) qlik/metrics-build:$(date +'%Y-%m-%d')
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_TOKEN }}
if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles'
- name: login to DockerHub
run: |
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login --username ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles'
- name: docker push
run: |
docker push ghcr.io/qlik-oss/metrics-build
docker push ghcr.io/qlik-oss/metrics-build:$(date +'%Y-%m-%d')
docker push qlik/metrics-build
docker push qlik/metrics-build:$(date +'%Y-%m-%d')
if: github.ref == 'refs/heads/master' && github.repository == 'qlik-oss/dockerfiles'
docker-build-go-build-1-18:
name: docker build go-build-1.18
runs-on: ubuntu-latest
Expand Down
32 changes: 32 additions & 0 deletions metrics-build/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
FROM hairyhenderson/gomplate:v3.11.6-slim AS gomplate
FROM docker:27.0.3 AS docker
FROM hashicorp/vault:1.17.2 AS vault
FROM hashicorp/terraform:1.9.2 AS terraform
FROM bitnami/prometheus:2.53.1 AS prometheus
FROM bitnami/alertmanager:0.27.0 AS alertmanager
FROM grafana/mimirtool:2.13.0 AS mimirtool

FROM alpine:3.19 AS packages

RUN apk add --no-cache \
make \
git \
python3 \
py3-pip \
bash \
jq \
curl \
openssh \
github-cli

FROM alpine:3.19 AS build

COPY --from=gomplate /gomplate /bin/gomplate
COPY --from=docker /usr/local/bin/docker /bin/docker
COPY --from=vault /bin/vault /bin/vault
COPY --from=terraform /bin/terraform /bin/terraform
COPY --from=prometheus /opt/bitnami/prometheus/bin/promtool /bin/promtool
COPY --from=alertmanager /opt/bitnami/alertmanager/bin/amtool /bin/amtool
COPY --from=mimirtool /bin/mimirtool /bin/mimirtool

COPY --from=packages / /
18 changes: 18 additions & 0 deletions metrics-build/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# qlik/metrics-build

This image is built to support running tests with kubernetes cluster in CircleCI. It provides utilities such as docker, kubectl
and helm. See the `Dockerfile` in this folder for details.

## Third-Party Licenses

See the git repository for the source code information: https://github.com/qlik-oss/dockerfiles/blob/master/LICENSE

As with all Docker images, these also contain other software which may be under other licenses, along with any direct or indirect dependencies of the primary software being contained.

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

The licenses of the contained software can be determined by inspecting the [Dockerfile](https://github.com/qlik-oss/dockerfiles/blob/master/metrics-build/Dockerfile)

## Unsupported

The source code (Dockerfiles) and binaries (container images) that result are provided for convenience, and not supported in any way.
5 changes: 5 additions & 0 deletions metrics-build/readme.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name: metrics-build
description: |
This image is built to support building metrics based projects in concourse. It comes
populated with software generally useful for building and deploying. See the
`Dockerfile` in this folder for details.

0 comments on commit 1b3e725

Please sign in to comment.