diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 2c2b83b..0000000 --- a/.dockerignore +++ /dev/null @@ -1,14 +0,0 @@ -/** -!/cmd/africastalking -!/cmd/ssh -!/common -!/config -!/initializers -!/internal -!/models -!/remote -!/services -!/LICENSE -!/README.md -!/go.* -!/.env.example \ No newline at end of file diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml deleted file mode 100644 index da35100..0000000 --- a/.github/workflows/docker.yaml +++ /dev/null @@ -1,56 +0,0 @@ -name: release - -on: - push: - tags: - - "v*" - -jobs: - docker: - runs-on: ubuntu-latest - steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Check out repo - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Cache Docker layers - uses: actions/cache@v3 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - - name: Login to GHCR Docker registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set outputs - run: | - echo "RELEASE_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV \ - && echo "RELEASE_SHORT_COMMIT=$(git rev-parse --short HEAD)" >> $GITHUB_ENV - - - name: Build and push image - uses: docker/build-push-action@v2 - with: - context: ./ - file: ./Dockerfile - platforms: linux/amd64 - push: true - build-args: | - BUILD=${{ env.RELEASE_SHORT_COMMIT }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache - tags: | - ghcr.io/grassrootseconomics/urdt-ussd:latest - ghcr.io/grassrootseconomics/urdt-ussd:${{ env.RELEASE_TAG }} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index d68733c..0000000 --- a/Dockerfile +++ /dev/null @@ -1,44 +0,0 @@ -FROM golang:1.23.0-bookworm AS build - -ENV CGO_ENABLED=1 - -ARG BUILDPLATFORM -ARG TARGETPLATFORM -ARG BUILD=dev - -WORKDIR /build -COPY . . -RUN apt update && apt install libgdbm-dev -RUN git clone https://git.defalsify.org/vise.git go-vise - -WORKDIR /build/services/registration -RUN echo "Compiling go-vise files" -RUN make VISE_PATH=/build/go-vise -B - -WORKDIR /build -RUN echo "Building on $BUILDPLATFORM, building for $TARGETPLATFORM" -RUN go mod download -RUN go build -tags logtrace -o ussd-africastalking -ldflags="-X main.build=${BUILD} -s -w" cmd/africastalking/main.go -RUN go build -tags logtrace -o ussd-ssh -ldflags="-X main.build=${BUILD} -s -w" cmd/ssh/main.go - -FROM debian:bookworm-slim - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt update && apt install libgdbm-dev ca-certificates -y -RUN apt-get clean && rm -rf /var/lib/apt/lists/* - -WORKDIR /service - -COPY --from=build /build/ussd-africastalking . -COPY --from=build /build/ussd-ssh . -COPY --from=build /build/LICENSE . -COPY --from=build /build/README.md . -COPY --from=build /build/services ./services -COPY --from=build /build/.env.example . -RUN mv .env.example .env - -EXPOSE 7123 -EXPOSE 7122 - -CMD ["./ussd-africastalking"] \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 493dd96..0000000 --- a/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# URDT USSD service - -This is a USSD service built using the [go-vise](https://github.com/nolash/go-vise) engine. - -## Prerequisites -### 1. [go-vise](https://github.com/nolash/go-vise) - -Set up `go-vise` by cloning the repository into a separate directory. The main upstream repository is hosted at: `https://git.defalsify.org/vise.git` -``` -git clone https://git.defalsify.org/vise.git -``` - -## Setup -1. Clone the ussd repo in its own directory - - ``` - git clone https://git.grassecon.net/urdt/ussd.git - ``` - -2. Navigate to the project directory. -3. Enter the `services/registration` subfolder: - ``` - cd services/registration - ``` -4. make the .bin files from the .vis files - ``` - make VISE_PATH=/var/path/to/your/go-vise -B - ``` -5. Return to the project root (`cd ../..`) -6. Run the USSD menu - ``` - go run cmd/main.go -session-id=0712345678 - ``` -## Running the different binaries -1. ### CLI: - ``` - go run cmd/main.go -session-id=0712345678 - ``` -2. ### Africastalking: - ``` - go run cmd/africastalking/main.go - ``` -3. ### Async: - ``` - go run cmd/async/main.go - ``` -4. ### Http: - ``` - go run cmd/http/main.go - ``` - -## Flags -Below are the supported flags: - -1. `-session-id`: - - Specifies the session ID. (CLI only). - - Default: `075xx2123`. - - Example: - ``` - go run cmd/main.go -session-id=0712345678 - ``` - -2. `-d`: - - Enables engine debug output. - - Default: `false`. - - Example: - ``` - go run cmd/main.go -session-id=0712345678 -d - ``` - -3. `-db`: - - Specifies the database type. - - Default: `gdbm`. - - Example: - ``` - go run cmd/main.go -session-id=0712345678 -d -db=postgres - ``` - - >Note: If using `-db=postgres`, ensure PostgreSQL is running with the connection details specified in your `.env` file. - -## License - -[AGPL-3.0](LICENSE). \ No newline at end of file diff --git a/dev/docker-compose.yaml b/dev/docker-compose.yaml deleted file mode 100644 index 5d65b54..0000000 --- a/dev/docker-compose.yaml +++ /dev/null @@ -1,21 +0,0 @@ -services: - ussd-pg-store: - image: postgres:17-alpine - restart: unless-stopped - user: postgres - environment: - - POSTGRES_PASSWORD=postgres - - POSTGRES_USER=postgres - volumes: - - ./init_db.sql:/docker-entrypoint-initdb.d/init_db.sql - - ussd-pg:/var/lib/postgresql/data - ports: - - "127.0.0.1:5432:5432" - healthcheck: - test: ["CMD-SHELL", "pg_isready"] - interval: 10s - timeout: 5s - retries: 5 -volumes: - ussd-pg: - driver: local diff --git a/dev/init_db.sql b/dev/init_db.sql deleted file mode 100644 index 9ee26b8..0000000 --- a/dev/init_db.sql +++ /dev/null @@ -1 +0,0 @@ -CREATE DATABASE urdt_ussd; \ No newline at end of file