Skip to content

Commit

Permalink
Merge pull request #32 from SUSE/postgresql_support_hacking
Browse files Browse the repository at this point in the history
Limited Operational DB PostgreSQL support
  • Loading branch information
rtamalin authored Jul 12, 2024
2 parents 9e83755 + 72dffee commit 05f4194
Show file tree
Hide file tree
Showing 25 changed files with 766 additions and 205 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ RUN cd telemetry-server; make build
FROM registry.suse.com/bci/bci-base:15.6

# Install database support tools
RUN set -euo pipefail; zypper -n install --no-recommends sqlite3; zypper -n clean;
RUN set -euo pipefail; zypper -n install --no-recommends sqlite3 postgresql16; zypper -n clean;

COPY --from=builder /var/cache/telemetry-server/server/telemetry-server/telemetry-server /usr/bin/telemetry-server

Expand Down
39 changes: 7 additions & 32 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,46 +1,21 @@
include Makefile.compose
include Makefile.docker
include Makefile.generate

.DEFAULT_GOAL := build

SUBDIRS = \
app \
server/telemetry-server

TARGETS = fmt vet build clean test test-verbose
COMPOSE_TARGETS = compose-build compose-start compose-up compose-ps compose-status compose-logs compose-stop compose-down
DOCKER_TARGETS = docker-build docker-start docker-run docker-ps docker-status docker-logs docker-stop

.PHONY: $(TARGETS) $(COMPOSE_TARGETS) $(DOCKER_TARGETS)
.PHONY: $(TARGETS)

$(TARGETS):
$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir) $@;)

# Start the telemetry-server using docker compose
compose-build:
cd docker && docker compose build

compose-start compose-up: compose-build
cd docker && docker compose up -d

compose-ps compose-status:
cd docker && docker compose ps

compose-logs:
cd docker && docker compose logs -n 100

compose-stop compose-down: compose-status
cd docker && docker compose down

# Start the telemetry-server using docker
docker-build:
docker build -t telemetry-server .

docker-start docker-run: docker-build
docker run --rm -it -d -p 9999:9999 --name telemetry-server telemetry-server

docker-ps docker-status:
docker ps --filter name=\^telemetry-server\$

docker-logs:
docker logs -n 100 telemetry-server
.PHONY: end-to-end e2e

docker-stop: docker-status
docker stop telemetry-server
end-to-end e2e: compose-start generate compose-stop
21 changes: 21 additions & 0 deletions Makefile.compose
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# docker compose actions
.PHONY: compose-build compose-start compose-up compose-ps compose-status compose-logs compose-stop compose-down compse-clean

# Start the telemetry-server using docker compose
compose-build:
cd docker && docker compose build

compose-start compose-up: compose-build
cd docker && docker compose up -d

compose-ps compose-status:
cd docker && docker compose ps

compose-logs:
cd docker && docker compose logs -n 100

compose-stop compose-down: compose-status
cd docker && docker compose down

compose-clean: compose-stop
docker volume rm docker_pgdata
18 changes: 18 additions & 0 deletions Makefile.docker
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# docker container actions
.PHONY: docker-build docker-start docker-run docker-ps docker-status docker-logs docker-stop

# Start the telemetry-server using docker
docker-build:
docker build -t telemetry-server .

docker-start docker-run: docker-build
docker run --rm -it -d -p 9999:9999 --name telemetry-server telemetry-server

docker-ps docker-status:
docker ps --filter name=\^telemetry-server\$

docker-logs:
docker logs -n 100 telemetry-server

docker-stop: docker-status
docker stop telemetry-server
29 changes: 29 additions & 0 deletions Makefile.generate
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Generate telemetry submissions

TELEMETRY_REPO = telemetry
TELEMETRY_URL = github.com/SUSE/$(TELEMETRY_REPO)
RETRY_COUNT=40
RETRY_DELAY=0.25

.PHONY: server-healthy check-telemetry-cloned generate

server-healthy:
@for i in $$(seq $(RETRY_COUNT)); do \
if curl --fail --insecure --silent http://localhost:9999/healthz >/dev/null; then \
exit 0; \
fi; \
sleep $(RETRY_DELAY); \
done; \
echo Please start a server using either the compose-start or docker-start actions.; \
exit 1

check-telemetry-cloned:
@if [ ! -d ../$(TELEMETRY_REPO) ]; then \
echo Please clone the $(TELEMETRY_URL) as $(TELEMETRY_REPO) \
beside this repo.; \
exit 1; \
fi

generate: server-healthy check-telemetry-cloned
cd ../telemetry/cmd/generator; \
go run . --config ../../testdata/config/localClient.yaml --telemetry=SLE-SERVER-SCCHwInfo --tag DEVTEST ../../testdata/telemetry/SLE-SERVER-SCCHwInfo/sle12sp5-test.json
Loading

0 comments on commit 05f4194

Please sign in to comment.