Add GitHub Actions workflow for building and pushing Docker container
This commit is contained in:
commit
b6c250540a
3 changed files with 112 additions and 0 deletions
48
.gitea/workflows/build.yaml
Normal file
48
.gitea/workflows/build.yaml
Normal file
|
@ -0,0 +1,48 @@
|
|||
name: Build and Push container
|
||||
run-name: Build and Push container
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+.[0-9]+'
|
||||
|
||||
env:
|
||||
IMAGE: git.kvant.cloud/phoenix/metricbeat-hpc
|
||||
VERSION: ${{ github.ref_name }}
|
||||
|
||||
jobs:
|
||||
build_besu:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to gitea registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: git.kvant.cloud
|
||||
username: ${{ vars.PHOENIX_PACKAGE_WRITER_USERNAME }}
|
||||
password: ${{ secrets.PHOENIX_PACKAGE_WRITER_TOKEN }}
|
||||
|
||||
- name: Update Dockerfile FROM version
|
||||
run: sed -i "s|^FROM .\+|FROM docker.elastic.co/beats/metricbeat-oss:${{ env.VERSION }}|" Dockerfile
|
||||
|
||||
- name: Build and push to gitea registry
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
platforms: linux/s390x
|
||||
push: true
|
||||
context: .
|
||||
build-args: |
|
||||
VERSION=${{ env.VERSION }}
|
||||
image: ${{ env.IMAGE }}
|
||||
cache-from: |
|
||||
type=registry,ref=${{ env.IMAGE }}:${{ env.VERSION }}
|
||||
type=registry,ref=${{ env.IMAGE }}:latest
|
||||
cache-to: type=inline
|
||||
tags: |
|
||||
${{ env.IMAGE }}:${{ env.VERSION }}
|
||||
${{ env.IMAGE }}:latest
|
3
Dockerfile
Normal file
3
Dockerfile
Normal file
|
@ -0,0 +1,3 @@
|
|||
FROM docker.elastic.co/beats/metricbeat-oss:latest
|
||||
|
||||
COPY metricbeat.yml /usr/share/metricbeat/metricbeat.yml
|
61
metricbeat.yml
Normal file
61
metricbeat.yml
Normal file
|
@ -0,0 +1,61 @@
|
|||
metricbeat.autodiscover:
|
||||
providers:
|
||||
- type: docker
|
||||
hints.enabled: true
|
||||
|
||||
metricbeat.modules:
|
||||
- module: docker
|
||||
metricsets:
|
||||
- container
|
||||
- cpu
|
||||
- diskio
|
||||
- healthcheck
|
||||
- info
|
||||
- image
|
||||
- memory
|
||||
- network
|
||||
hosts: ["unix:///var/run/docker.sock"]
|
||||
period: 30s
|
||||
enabled: True
|
||||
- module: system
|
||||
metricsets:
|
||||
- cpu # CPU usage
|
||||
- load # CPU load averages
|
||||
- memory # Memory usage
|
||||
- network # Network IO
|
||||
- process # Per process metrics
|
||||
- process_summary # Process summary
|
||||
- uptime # System Uptime
|
||||
- socket_summary # Socket summary
|
||||
- core # Per CPU core usage
|
||||
- diskio # Disk IO
|
||||
- filesystem # File system usage for each mountpoint
|
||||
- fsstat # File system summary metrics
|
||||
enabled: true
|
||||
period: 30s
|
||||
processes: ['.*']
|
||||
cpu.metrics: ["percentages"]
|
||||
core.metrics: ["percentages"]
|
||||
|
||||
processors:
|
||||
- add_cloud_metadata: ~
|
||||
- add_docker_metadata: ~
|
||||
- add_id: ~
|
||||
|
||||
output.elasticsearch:
|
||||
hosts: '${ES_HOSTS}'
|
||||
username: '${ES_USERNAME}'
|
||||
password: '${ES_PASSWORD}'
|
||||
ssl.verification_mode: "none"
|
||||
index: '${ES_INDEX}'
|
||||
|
||||
setup.template.name: '${ES_TEMPLATE_NAME}'
|
||||
setup.template.pattern: '${ES_TEMPLATE_PATTERN}'
|
||||
setup.template.settings:
|
||||
index.number_of_shards: 1
|
||||
index.number_of_replicas: 1
|
||||
setup.template.overwrite: false
|
||||
|
||||
setup.ilm.enabled: false
|
||||
setup.ilm.check_exists: false
|
||||
setup.dashboards.enabled: false
|
Loading…
Add table
Add a link
Reference in a new issue