Skip to content
This repository was archived by the owner on Oct 24, 2024. It is now read-only.

Commit cdf153d

Browse files
authored
Merge pull request #1 from kops-dev/sample-api
initial sample-api
2 parents 2d07253 + 1d9d9b5 commit cdf153d

8 files changed

Lines changed: 546 additions & 1 deletion

File tree

.github/workflows/package.yaml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Sample API
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
pull_request:
8+
branches:
9+
- main
10+
- development
11+
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout Code
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Go
21+
uses: actions/setup-go@v4
22+
with:
23+
go-version: '1.21'
24+
25+
- name: Get dependencies
26+
run: |
27+
go mod download
28+
29+
- name: Build
30+
run: |
31+
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs=false -o main
32+
33+
release_package:
34+
if: ${{ startsWith(github.ref, 'refs/tags/v')}}
35+
needs: build
36+
runs-on: ubuntu-latest
37+
38+
permissions:
39+
contents: read
40+
packages: write
41+
42+
steps:
43+
- name: Checkout repository
44+
uses: actions/checkout@v4
45+
46+
- name: Extract Release Tag
47+
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
48+
49+
- name: Log in to the Container registry
50+
uses: docker/login-action@v1
51+
with:
52+
registry: ghcr.io
53+
username: ${{ github.actor }}
54+
password: ${{ secrets.GHA_TOKEN }}
55+
56+
- name: Build and push Docker image
57+
uses: docker/build-push-action@v4
58+
with:
59+
push: true
60+
context: .
61+
file: Dockerfile
62+
tags: ghcr.io/gofr-dev/sample-api:${{ env.RELEASE_VERSION }},ghcr.io/gofr-dev/sample-api:latest

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.DS_store
2+
.idea
3+
.vscode
4+
migrations/build/
5+
6+
configs/.local.env
7+
z-infra/gcp/credentials
8+
coverage.txt
9+
sonar-project.properties
10+
.idea
11+
.scannerwork

Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM alpine:latest
2+
3+
# Copy only the required directories and files
4+
COPY main ./main
5+
6+
7+
RUN chmod 777 /main
8+
9+
EXPOSE 8000
10+
11+
CMD ["/main"]

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,10 @@
1-
# sample-api
1+
- Sample Hello World Application Built with gofr.dev
2+
Welcome to this sample Hello World application created using gofr.dev, a powerful framework for building Go applications.
3+
4+
> To run the sample application, simply use the following command in your terminal:
5+
6+
```cmd
7+
go run main.go
8+
```
9+
10+
- This command will compile and execute the main.go file, allowing you to see the `{"data":"Hello! Welcome to gofr-app"}` message if we hit `http://localhost:8000/hello`.

configs/.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
HTTP_PORT=8000

go.mod

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
module github.com/sample-app
2+
3+
go 1.22.3
4+
5+
require gofr.dev v1.6.1
6+
7+
require (
8+
cloud.google.com/go v0.112.2 // indirect
9+
cloud.google.com/go/auth v0.3.0 // indirect
10+
cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect
11+
cloud.google.com/go/compute/metadata v0.3.0 // indirect
12+
cloud.google.com/go/iam v1.1.7 // indirect
13+
cloud.google.com/go/pubsub v1.38.0 // indirect
14+
filippo.io/edwards25519 v1.1.0 // indirect
15+
github.com/DATA-DOG/go-sqlmock v1.5.2 // indirect
16+
github.com/XSAM/otelsql v0.29.0 // indirect
17+
github.com/beorn7/perks v1.0.1 // indirect
18+
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
19+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
20+
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
21+
github.com/eclipse/paho.mqtt.golang v1.4.3 // indirect
22+
github.com/felixge/httpsnoop v1.0.4 // indirect
23+
github.com/go-logr/logr v1.4.1 // indirect
24+
github.com/go-logr/stdr v1.2.2 // indirect
25+
github.com/go-sql-driver/mysql v1.8.1 // indirect
26+
github.com/gogo/protobuf v1.3.2 // indirect
27+
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
28+
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
29+
github.com/golang/protobuf v1.5.4 // indirect
30+
github.com/google/s2a-go v0.1.7 // indirect
31+
github.com/google/uuid v1.6.0 // indirect
32+
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
33+
github.com/googleapis/gax-go/v2 v2.12.3 // indirect
34+
github.com/gorilla/mux v1.8.1 // indirect
35+
github.com/gorilla/websocket v1.5.0 // indirect
36+
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
37+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
38+
github.com/joho/godotenv v1.5.1 // indirect
39+
github.com/klauspost/compress v1.16.6 // indirect
40+
github.com/lib/pq v1.10.9 // indirect
41+
github.com/openzipkin/zipkin-go v0.4.2 // indirect
42+
github.com/pierrec/lz4/v4 v4.1.17 // indirect
43+
github.com/prometheus/client_golang v1.19.1 // indirect
44+
github.com/prometheus/client_model v0.6.0 // indirect
45+
github.com/prometheus/common v0.48.0 // indirect
46+
github.com/prometheus/procfs v0.12.0 // indirect
47+
github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5 // indirect
48+
github.com/redis/go-redis/extra/redisotel/v9 v9.0.5 // indirect
49+
github.com/redis/go-redis/v9 v9.5.1 // indirect
50+
github.com/segmentio/kafka-go v0.4.47 // indirect
51+
go.opencensus.io v0.24.0 // indirect
52+
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect
53+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.49.0 // indirect
54+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
55+
go.opentelemetry.io/otel v1.24.0 // indirect
56+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 // indirect
57+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 // indirect
58+
go.opentelemetry.io/otel/exporters/prometheus v0.46.0 // indirect
59+
go.opentelemetry.io/otel/exporters/zipkin v1.24.0 // indirect
60+
go.opentelemetry.io/otel/metric v1.24.0 // indirect
61+
go.opentelemetry.io/otel/sdk v1.24.0 // indirect
62+
go.opentelemetry.io/otel/sdk/metric v1.24.0 // indirect
63+
go.opentelemetry.io/otel/trace v1.24.0 // indirect
64+
go.opentelemetry.io/proto/otlp v1.1.0 // indirect
65+
go.uber.org/mock v0.4.0 // indirect
66+
golang.org/x/crypto v0.22.0 // indirect
67+
golang.org/x/net v0.24.0 // indirect
68+
golang.org/x/oauth2 v0.19.0 // indirect
69+
golang.org/x/sync v0.7.0 // indirect
70+
golang.org/x/sys v0.20.0 // indirect
71+
golang.org/x/term v0.20.0 // indirect
72+
golang.org/x/text v0.14.0 // indirect
73+
golang.org/x/time v0.5.0 // indirect
74+
google.golang.org/api v0.177.0 // indirect
75+
google.golang.org/genproto v0.0.0-20240401170217-c3f982113cda // indirect
76+
google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6 // indirect
77+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect
78+
google.golang.org/grpc v1.63.2 // indirect
79+
google.golang.org/protobuf v1.34.1 // indirect
80+
)

0 commit comments

Comments
 (0)