https://github.com/openware/go-coverage
https://github.com/openware/go-coverage
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/openware/go-coverage
- Owner: openware
- Created: 2022-11-25T12:57:44.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-11-03T12:15:59.000Z (over 2 years ago)
- Last Synced: 2025-04-05T22:07:03.770Z (11 months ago)
- Language: Go
- Size: 13.7 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go Coverage
This tool is used to export summary of XML coverage report into a SQL database.
## Usage
```bash
export ANALYTICS_DATABASE_HOST="localhost"
export ANALYTICS_DATABASE_PORT="5433"
export ANALYTICS_DATABASE_USERNAME="postgres"
export ANALYTICS_DATABASE_PASSWORD=""
export ANALYTICS_DATABASE_NAME="analytics"
export DRONE_REPO="openware/go-coverage"
export ANALYTICS_COMPONENT="go-coverage" # use it to differenciate different applications in a mono-repo.
export DRONE_TAG="1.0.0" # trigger this script on drone tag to track only stable versions
go run ./ coverage.xml
```
## Postgresql
To create a Postgres instance with the `coverage_analytics` database by Helm
### Install postgresql
```sh
helm upgrade -i postgres-coverage bitnami/postgresql -f ./values.yml -n core
```
values.yml
```yaml
image:
tag: 14.5.0
auth:
database: coverage_analytics
enablePostgresUser: true
existingSecret: ""
password: changeme
postgresPassword: changeme
replicationPassword: ""
replicationUsername: repl_user
secretKeys:
adminPasswordKey: postgres-password
replicationPasswordKey: replication-password
userPasswordKey: password
usePasswordFiles: false
username: coverage_analytics
```
### Expose postgresql service (optional)
```sh
kubectl apply -f ./service.yml -n ${your-namespace}
kubectl apply -f ./ingress.yml -n ${your-namespace}
```
service.yml
```yml
apiVersion: v1
kind: Service
metadata:
name: postgres-coverage-postgresql
labels:
app.kubernetes.io/component: primary
app.kubernetes.io/instance: postgres-coverage
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: postgresql
helm.sh/chart: postgresql-12.1.2
annotations:
meta.helm.sh/release-name: postgres-coverage
meta.helm.sh/release-namespace: core
spec:
ports:
- protocol: TCP
port: 5432
targetPort: 5432
nodePort: 30432
selector:
app.kubernetes.io/component: primary
app.kubernetes.io/instance: postgres-coverage
app.kubernetes.io/name: postgresql
type: NodePort
sessionAffinity: None
externalTrafficPolicy: Cluster
```
ingress.yml
```yml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: postgres-coverage
labels:
app: postgres-coverage
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: 'true'
spec:
tls:
- hosts:
- pg.example.app
secretName: postgres-coverage-tls
rules:
- host: pg.example.app
http:
paths:
- path: /
backend:
serviceName: postgres-coverage-postgresql
servicePort: 5432
```