committed by
GitHub
4 changed files with 143 additions and 0 deletions
@ -0,0 +1,14 @@ |
|||
FROM golang:rc-alpine3.13 AS builder |
|||
RUN go get github.com/sberk42/fritzbox_exporter/ |
|||
|
|||
FROM alpine:latest |
|||
ENV USERNAME username |
|||
ENV PASSWORD password |
|||
ENV GATEWAY_URL http://fritz.box:49000 |
|||
ENV LISTEN_ADDRESS 0.0.0.0:9042 |
|||
WORKDIR /root/ |
|||
COPY --from=builder /go/bin/fritzbox_exporter . |
|||
COPY metrics.json metrics-lua.json ./ |
|||
EXPOSE 9042 |
|||
ENTRYPOINT [ "./fritzbox_exporter" ] |
|||
CMD ./fritzbox_exporter -username $USERNAME -password $PASSWORD -gateway-url ${GATEWAY_URL} -listen-address ${LISTEN_ADDRESS} |
@ -0,0 +1,21 @@ |
|||
version: '3' |
|||
services: |
|||
fritzbox-prometheus-exporter: |
|||
hostname: fritzbox-prometheus-exporter |
|||
build: |
|||
context: . |
|||
dockerfile: Dockerfile |
|||
container_name: fritzbox-prometheus-exporter |
|||
# for dns issues like "dial tcp: lookup fritz.box on 127.0.0.11:53: no such host" |
|||
# uncomment and fill the following line: |
|||
# dns: YOUR_FRITZBOX_IP |
|||
ports: |
|||
- "9042:9042" |
|||
#expose: |
|||
# - "9042" |
|||
restart: unless-stopped |
|||
environment: |
|||
USERNAME: your_fritzbox_username |
|||
PASSWORD: your_fritzbox_password |
|||
GATEWAY_URL: http://192.168.0.1:49000 |
|||
LISTEN_ADDRESS: 0.0.0.0:9042 |
@ -0,0 +1,75 @@ |
|||
apiVersion: apps/v1 |
|||
kind: Deployment |
|||
metadata: |
|||
labels: |
|||
app: fritzbox-exporter |
|||
name: fritzbox-exporter |
|||
namespace: metrics-app |
|||
spec: |
|||
progressDeadlineSeconds: 600 |
|||
replicas: 1 |
|||
revisionHistoryLimit: 10 |
|||
selector: |
|||
matchLabels: |
|||
app: fritzbox-exporter |
|||
strategy: |
|||
rollingUpdate: |
|||
maxSurge: 25% |
|||
maxUnavailable: 25% |
|||
type: RollingUpdate |
|||
template: |
|||
metadata: |
|||
labels: |
|||
app: fritzbox-exporter |
|||
name: fritzbox-exporter |
|||
spec: |
|||
containers: |
|||
- env: |
|||
- name: GWURL |
|||
value: 'http://ip-fritzbox:49000' |
|||
- name: USERNAME |
|||
value: 'username' |
|||
- name: PASSWORD |
|||
value: 'password' |
|||
image: alexxanddr/fritzbox-exporter:latest |
|||
imagePullPolicy: Always |
|||
name: fritzbox-exporter |
|||
resources: {} |
|||
securityContext: |
|||
privileged: false |
|||
terminationMessagePath: /dev/termination-log |
|||
terminationMessagePolicy: File |
|||
dnsPolicy: ClusterFirst |
|||
hostAliases: |
|||
- hostnames: |
|||
- fritz.box |
|||
ip: 'ip-fritzbox' |
|||
restartPolicy: Always |
|||
schedulerName: default-scheduler |
|||
securityContext: {} |
|||
terminationGracePeriodSeconds: 30 |
|||
--- |
|||
apiVersion: v1 |
|||
kind: Service |
|||
metadata: |
|||
annotations: |
|||
prometheus.io/path: /metrics |
|||
prometheus.io/port: "9042" |
|||
prometheus.io/scrape: "true" |
|||
labels: |
|||
app: fritzbox-exporter |
|||
name: fritzbox-exporter |
|||
namespace: metrics-app |
|||
spec: |
|||
clusterIP: |
|||
ports: |
|||
- name: tcp |
|||
port: 9042 |
|||
protocol: TCP |
|||
targetPort: 9042 |
|||
selector: |
|||
app: fritzbox-exporter |
|||
sessionAffinity: None |
|||
type: ClusterIP |
|||
status: |
|||
loadBalancer: {} |
Loading…
Reference in new issue