Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
7667d1b
add project v1.0.0
willowweevil Nov 27, 2025
3d132c3
ad CHANGELOG.md
willowweevil Dec 3, 2025
e5f6bd7
add LICENSE
willowweevil Dec 3, 2025
7d67a4e
add --rm flag to docker run
willowweevil Dec 3, 2025
7ab539a
add build-binary stage
willowweevil Dec 3, 2025
c05406f
update ci to run by pushing tag in main
willowweevil Dec 4, 2025
735a1f4
set build by tag from main/develop branches
willowweevil Dec 4, 2025
8263db4
update locations
willowweevil Dec 4, 2025
83eb9b8
add rate limits logic
willowweevil Dec 4, 2025
615f5ac
remove build-binary from needs in build stage
willowweevil Dec 4, 2025
0a35cbe
initialize v1.0.0
willowweevil Dec 5, 2025
0f25323
add branding materials
willowweevil Dec 5, 2025
31bd389
update metrics
willowweevil Dec 9, 2025
03fb871
update error metric
willowweevil Dec 9, 2025
d7349c3
add metrics labels
willowweevil Dec 9, 2025
d2e8951
update metrics
willowweevil Dec 9, 2025
6b057fc
update README.md
willowweevil Dec 9, 2025
07ffe44
add grafana dashboards
willowweevil Dec 9, 2025
8fa8e24
update README
willowweevil Dec 12, 2025
c43e1fe
update dashboards
willowweevil Dec 12, 2025
33fc8f9
add 'apatit_mp_data_status' metric
willowweevil Dec 12, 2025
dbb9ae5
add data status stat panel
willowweevil Dec 12, 2025
919781d
update ci
willowweevil Dec 12, 2025
66d6110
add helm-chart
willowweevil Dec 12, 2025
f3f0533
change version in arg
willowweevil Dec 12, 2025
a1c68db
add locations.json to release
willowweevil Dec 12, 2025
4453daf
update locations
willowweevil Dec 12, 2025
81b1839
fix 'status' metric name
willowweevil Dec 12, 2025
4e3a72f
update monitoring dashboard
willowweevil Dec 12, 2025
075169b
fix typo in REQUEST_DELAY env var; extend default delay up to 3s
willowweevil Dec 16, 2025
a354396
update README
willowweevil Dec 16, 2025
dbc234d
update goland and libaries
willowweevil Dec 18, 2025
31fd8b3
Remove "EngMPNames" from Config struct
willowweevil Feb 17, 2026
39c4f47
Remove "EngMPNames" from exporter.Config
willowweevil Feb 17, 2026
6dba5cf
Remove "translator" module from import and translator initialization …
willowweevil Feb 17, 2026
e710e18
Remove "translator" module
willowweevil Feb 17, 2026
30c6c04
Use both EN and RU monitoring point names as labels in MP-related met…
willowweevil Feb 17, 2026
c8e5790
Add EN monitoring point names in models.
willowweevil Feb 17, 2026
c1668a6
Remove "translator" module from project.
willowweevil Feb 17, 2026
3fb85f7
Remove transpose-related commented code.
willowweevil Feb 17, 2026
8709865
Fix formatting issues.
willowweevil Feb 17, 2026
9ef0aa0
Remove unused function 'envBool'.
willowweevil Feb 17, 2026
46ee2db
update "Unavailable Monitoring Points" panel
willowweevil Feb 19, 2026
8f098a3
Remove 'locations.json'
willowweevil Feb 19, 2026
33bbd3b
Update README.md
willowweevil Feb 19, 2026
999e5f4
Update CHANGELOG.md
willowweevil Feb 19, 2026
7976055
Update README.md
willowweevil Feb 19, 2026
78c8bd8
Merge branch 'main' into develop
willowweevil Feb 19, 2026
75ed26e
update (#3)
willowweevil Feb 19, 2026
2aab90d
Fix sigfault.
willowweevil Mar 7, 2026
edf5e86
Merge branch 'main' into develop
willowweevil Mar 7, 2026
89d2492
Merge branch 'main' into develop
willowweevil Mar 7, 2026
1a18f80
Add profiling test.
willowweevil Apr 22, 2026
1dcad47
Update helm-chart.
willowweevil Apr 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions cmd/apatit/main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package main

import (
"context"
"errors"
"testing"
"time"

"apatit/internal/config"
)

// TestApplication_Profile run APATIT for profiling.
func TestApplication_Profile(t *testing.T) {

const profileDuration = 120 * time.Second

ctx, cancel := context.WithTimeout(context.Background(), profileDuration)
defer cancel()

t.Logf("Starting application for profiling, duration: %s", profileDuration)

cfg, err := config.New()
if err != nil {
t.Fatalf("Failed to load configuration: %v", err)
}

app, err := newApp(cfg)
if err != nil {
t.Fatalf("Application initialization failed: %v", err)
}

if err := app.Run(ctx); err != nil {
if !errors.Is(err, context.Canceled) {
t.Errorf("Application terminated with an unexpected error: %v", err)
}
}

t.Logf("Application ran for %s. Profiling test finished.", profileDuration)
}
1 change: 1 addition & 0 deletions deploy/helm/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
apiVersion: v2
name: apatit
description: Set of exporters for https://ping-admin.com/
Expand Down
3 changes: 3 additions & 0 deletions deploy/helm/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ metadata:
name: {{ include "apatit.fullname" . }}
labels:
{{- include "apatit.labels" . | nindent 4 }}
{{- with .Values.ingress.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
Expand Down
20 changes: 14 additions & 6 deletions deploy/helm/values.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
# Default values for APATIT.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
Expand All @@ -13,14 +14,15 @@ image:
# Overrides the image tag whose default is the chart appVersion.
tag: ""

# This is for the secretes for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
# This is for the secretes for pulling an image from a private repository
# More information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
imagePullSecrets: []
# This is to override the chart name.
nameOverride: ""
fullnameOverride: ""

# This is for setting Kubernetes Annotations to a Pod.
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
# For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
podAnnotations: {}
# prometheus.io/scrape: "true"
# prometheus.io/port: "8080"
Expand Down Expand Up @@ -56,6 +58,9 @@ service:
ingress:
enabled: false
className: ""
labels: {}
# my-custom-label: my-value
# environment: prod
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
Expand All @@ -81,7 +86,8 @@ resources:
cpu: 100m
memory: 128Mi

# This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
# This is to setup the liveness and readiness probes
# More information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
livenessProbe:
httpGet:
path: /metrics
Expand Down Expand Up @@ -112,16 +118,17 @@ affinity: {}

# Set variables as secret
envSecrets:
- name: # API_KEY
secretName: # ping-admin-secret
secretKey: # readonly-api-key
- name: # API_KEY
secretName: # ping-admin-secret
secretKey: # readonly-api-key

# App configuration
env: {}
# API_KEY: "<your_api_key>" # API KEY from here https://ping-admin.com/users/edit/
# TASK_IDS: "<task_ids>" # Task IDs from table ID Column https://ping-admin.com/tasks/
# LISTEN_ADDRESS: ":8080"
# LOG_LEVEL: "info"
# LOCATIONS_FILE: "locations.json"
# ENG_MP_NAMES: "true"
# REFRESH_INTERVAL: 3m
# API_UPDATE_DELAY: 4m
Expand All @@ -136,6 +143,7 @@ args: []
# - "--task-ids=<task_ids>" # Task IDs from table ID Column https://ping-admin.com/tasks/"
# - "--listen-address=:8080"
# - "--log-level=info"
# - "--locations-file=locations.json"
# - "--eng-mp-names=true"
# - "--refresh-interval=3m"
# - "--api-update-delay=4m"
Expand Down
Loading