Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 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
aac6e56
Update owner name and repo path.
willowweevil Apr 24, 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
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [v1.1.3] - 2026-04-24

### Added
- Ingress labels in helm chart (`deploy/helm`).
- `main_test.go` for profiling test.

### Changed
- Owner name and repo path.

## [v1.1.1] - 2026-03-07

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
ARG VERSION="v1.0.0"
ARG VERSION="v1.1.3"
RUN go build -v -ldflags="-s -w -X 'apatit/internal/version.Version=${VERSION}'" -o /app/apatit ./cmd/apatit

FROM alpine:3.21
Expand All @@ -13,7 +13,7 @@ RUN apk add --no-cache ca-certificates

LABEL org.opencontainers.image.title="APATIT (Advanced Ping-Admin Tasks Indicators Transducer)"
LABEL org.opencontainers.image.description="Transducer for Tasks Indicators from https://ping-admin.com/"
LABEL org.opencontainers.image.source="https://github.com/ostrovok-tech/apatit"
LABEL org.opencontainers.image.source="https://github.com/emergingtravel/apatit"
LABEL org.opencontainers.image.version="${VERSION}"

COPY --from=build /app/apatit /usr/local/bin/apatit
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2025 Ostrovok! Tech
Copyright (c) 2026 Emerging Travel Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ docker run --rm -d \
-p 8080:8080 \
-e API_KEY=your-api-key \
-e TASK_IDS=1,2,3 \
ghcr.io/ostrovok-tech/apatit:latest
ghcr.io/emergingtravel/apatit:latest
```

### From Source

1. Clone the repository:
```bash
git clone https://github.com/ostrovok-tech/apatit.git
git clone https://github.com/emergingtravel/apatit.git
cd apatit
```

Expand Down Expand Up @@ -183,6 +183,6 @@ apatit/

## Support

For issues and feature requests, please use the [GitHub Issues](https://github.com/ostrovok-tech/apatit/issues) page.
For issues and feature requests, please use the [GitHub Issues](https://github.com/emergingtravel/apatit/issues) page.

</div>
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)
}
7 changes: 4 additions & 3 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 All @@ -6,11 +7,11 @@ keywords:
- prometheus
- ping-admin
sources:
- https://github.com/ostrovok-tech/apatit
- https://github.com/emergingtravel/apatit
- https://ping-admin.com/
maintainers:
- name: Ostrovok! Tech
url: https://github.com/ostrovok-tech
- name: Emerging Travel Inc.
url: https://github.com/emergingtravel
type: application
version: 1.0.0
appVersion: "1.0.0"
8 changes: 4 additions & 4 deletions deploy/helm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ APATIT is a Prometheus exporter that collects metrics from ping-admin.com monito

- Kubernetes 1.19+
- Helm 3.0+
- Access to the container image: `ghcr.io/ostrovok-tech/apatit`
- Access to the container image: `ghcr.io/emergingtravel/apatit`

## Installation

Expand Down Expand Up @@ -42,7 +42,7 @@ The following table lists the configurable parameters and their default values.
| Parameter | Description | Default |
|-----------|-------------|---------|
| `replicaCount` | Number of replicas | `1` |
| `image.repository` | Container image repository | `ghcr.io/ostrovok-tech/apatit` |
| `image.repository` | Container image repository | `ghcr.io/emergingtravel/apatit` |
| `image.tag` | Container image tag (defaults to chart appVersion) | `""` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `imagePullSecrets` | Secrets for pulling images from private registries | `[]` |
Expand Down Expand Up @@ -321,13 +321,13 @@ This chart is configured with security best practices:

## Links

- [Source Code](https://github.com/ostrovok-tech/apatit)
- [Source Code](https://github.com/emergingtravel/apatit)
- [ping-admin.com](https://ping-admin.com/)
- [Helm Documentation](https://helm.sh/docs/)

## Maintainers

- **Ostrovok! Tech** - [GitHub](https://github.com/ostrovok-tech)
- **Emerging Travel Inc.** - [GitHub](https://github.com/emergingtravel)

## License

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
22 changes: 15 additions & 7 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 @@ -7,20 +8,21 @@ replicaCount: 1

# This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/
image:
repository: ghcr.io/ostrovok-tech/apatit
repository: ghcr.io/emergingtravel/apatit
# This sets the pull policy for images.
pullPolicy: IfNotPresent
# 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
4 changes: 2 additions & 2 deletions internal/version/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ package version
// Example: go build -ldflags "-X 'apatit/internal/version.Version=1.1.0'"
var (
Name = "apatit"
Version = "v1.0.0"
Owner = "ostrovok.tech"
Version = "v1.1.3"
Owner = "emerging.travel"
)

const (
Expand Down
Loading