Skip to content

Commit 31732fa

Browse files
committed
add S3 upload
1 parent f664f16 commit 31732fa

11 files changed

Lines changed: 736 additions & 73 deletions

File tree

src/cmd/serve.go

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package cmd
22

33
import (
4+
"os"
5+
"os/signal"
6+
"syscall"
7+
8+
"github.com/SpechtLabs/StaticPages/pkg/api"
49
"github.com/SpechtLabs/StaticPages/pkg/proxy"
510
"github.com/fsnotify/fsnotify"
611
"github.com/spechtlabs/go-otel-utils/otelzap"
712
"github.com/spf13/cobra"
813
"github.com/spf13/viper"
914
"go.uber.org/zap"
10-
"os"
11-
"os/signal"
12-
"syscall"
1315
)
1416

1517
var (
@@ -27,22 +29,17 @@ func init() {
2729
var serveCmd = &cobra.Command{
2830
Use: "serve",
2931
Short: "Serves the static pages application",
30-
Example: "staticpages version",
32+
Example: "staticpages serve --api --proxy",
3133
Args: cobra.ExactArgs(0),
3234
Run: func(cmd *cobra.Command, args []string) {
3335
defer undoFinalizer()
3436

3537
p := proxy.NewProxy(configuration)
38+
a := api.NewRestApi(configuration)
3639

3740
// Serve Rest-API
3841
if serveApi {
39-
go func() {
40-
// TODO: Implement api!
41-
//restApiServer := api.NewRestApiServer(otelZap, iCalClient)
42-
//if err := restApiServer.ListenAndServe(); err != nil {
43-
// panic(err.Error())
44-
//}
45-
}()
42+
a.ServeAsync(configuration.ApiBindAddr())
4643
}
4744

4845
// Serve Reverse Proxy
@@ -55,6 +52,19 @@ var serveCmd = &cobra.Command{
5552

5653
readConfig()
5754

55+
if serveApi {
56+
if err := a.Shutdown(); err != nil {
57+
otelzap.L().Sugar().Fatalw("Unable to shutdown api",
58+
zap.Error(err),
59+
zap.Strings("advice", err.Advice()),
60+
zap.String("cause", err.Cause().Error()))
61+
return
62+
}
63+
64+
a = api.NewRestApi(configuration)
65+
a.ServeAsync(configuration.ProxyBindAddr())
66+
}
67+
5868
if serveProxy {
5969
if err := p.Shutdown(); err != nil {
6070
otelzap.L().Sugar().Fatalw("Unable to shutdown proxy",

src/config.yaml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
server:
2-
port: 8080
2+
proxyPort: 8080
3+
apiPort: 8081
34

45
proxy:
56
maxIdleConns: 1000
@@ -29,7 +30,9 @@ pages:
2930
history: 10
3031

3132
# Grant access to the repositories to use this domain
32-
repository: https://github.com/cedi/cedi.github.io.git
33+
auth:
34+
provider: github
35+
repository: cedi/cedi.github.io.git
3336

3437
# Configure how sub-domains are handed out
3538
# {{ .Environment }} - the environment as sent by GHA
@@ -48,6 +51,7 @@ pages:
4851

4952
# Configure the S3 bucket where the website is hosted in
5053
bucket:
54+
region: eu-central-003
5155
url: https://s3.eu-central-003.backblazeb2.com
5256
name: cedi-testing
5357
applicationId: ENV(APPLICATION_ID)
@@ -63,7 +67,9 @@ pages:
6367
history: 10
6468

6569
# Grant access to the repositories to use this domain
66-
repository: https://github.com/cedi/cedi.github.io.git
70+
auth:
71+
provider: github
72+
repository: Goldschmiede-Metallglanz/Goldschmiede-Metallglanz
6773

6874
# Configure how sub-domains are handed out
6975
# {{ .Environment }} - the environment as sent by GHA

src/go.mod

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,79 @@ module github.com/SpechtLabs/StaticPages
33
go 1.24.0
44

55
require (
6+
github.com/aws/aws-sdk-go-v2 v1.36.3
7+
github.com/aws/aws-sdk-go-v2/credentials v1.17.67
8+
github.com/aws/aws-sdk-go-v2/service/s3 v1.79.3
9+
github.com/coreos/go-oidc/v3 v3.14.1
610
github.com/fsnotify/fsnotify v1.9.0
11+
github.com/gin-contrib/zap v1.1.5
12+
github.com/gin-gonic/gin v1.10.0
713
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8
14+
github.com/mcuadros/go-gin-prometheus v0.1.0
815
github.com/sierrasoftworks/humane-errors-go v0.0.0-20241125132722-d032d7dd359e
9-
github.com/spechtlabs/go-otel-utils/otelprovider v0.0.5
10-
github.com/spechtlabs/go-otel-utils/otelzap v0.0.5
16+
github.com/spechtlabs/go-otel-utils/otelprovider v0.0.3
17+
github.com/spechtlabs/go-otel-utils/otelzap v0.0.6
1118
github.com/spf13/cobra v1.9.1
1219
github.com/spf13/viper v1.20.1
1320
github.com/stretchr/testify v1.10.0
21+
go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin v0.60.0
1422
go.opentelemetry.io/otel v1.35.0
1523
go.opentelemetry.io/otel/trace v1.35.0
1624
go.uber.org/zap v1.27.0
1725
)
1826

1927
require (
28+
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10 // indirect
29+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 // indirect
30+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 // indirect
31+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.34 // indirect
32+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 // indirect
33+
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.1 // indirect
34+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 // indirect
35+
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.15 // indirect
36+
github.com/aws/smithy-go v1.22.3 // indirect
37+
github.com/beorn7/perks v1.0.1 // indirect
38+
github.com/bytedance/sonic v1.13.2 // indirect
39+
github.com/bytedance/sonic/loader v0.2.4 // indirect
2040
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
41+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
42+
github.com/cloudwego/base64x v0.1.5 // indirect
2143
github.com/davecgh/go-spew v1.1.1 // indirect
44+
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
45+
github.com/gin-contrib/sse v1.0.0 // indirect
46+
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
2247
github.com/go-logr/logr v1.4.2 // indirect
2348
github.com/go-logr/stdr v1.2.2 // indirect
49+
github.com/go-playground/locales v0.14.1 // indirect
50+
github.com/go-playground/universal-translator v0.18.1 // indirect
51+
github.com/go-playground/validator/v10 v10.26.0 // indirect
2452
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
53+
github.com/goccy/go-json v0.10.5 // indirect
2554
github.com/google/uuid v1.6.0 // indirect
2655
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect
2756
github.com/inconshreveable/mousetrap v1.1.0 // indirect
57+
github.com/json-iterator/go v1.1.12 // indirect
58+
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
59+
github.com/leodido/go-urn v1.4.0 // indirect
60+
github.com/mattn/go-isatty v0.0.20 // indirect
61+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
62+
github.com/modern-go/reflect2 v1.0.2 // indirect
63+
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
2864
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
2965
github.com/pmezard/go-difflib v1.0.0 // indirect
66+
github.com/prometheus/client_golang v1.22.0 // indirect
67+
github.com/prometheus/client_model v0.6.1 // indirect
68+
github.com/prometheus/common v0.62.0 // indirect
69+
github.com/prometheus/procfs v0.15.1 // indirect
3070
github.com/sagikazarmark/locafero v0.9.0 // indirect
71+
github.com/sirupsen/logrus v1.9.3 // indirect
3172
github.com/sourcegraph/conc v0.3.0 // indirect
3273
github.com/spf13/afero v1.14.0 // indirect
3374
github.com/spf13/cast v1.7.1 // indirect
3475
github.com/spf13/pflag v1.0.6 // indirect
3576
github.com/subosito/gotenv v1.6.0 // indirect
77+
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
78+
github.com/ugorji/go/codec v1.2.12 // indirect
3679
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
3780
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.11.0 // indirect
3881
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.11.0 // indirect
@@ -45,7 +88,10 @@ require (
4588
go.opentelemetry.io/otel/sdk/log v0.11.0 // indirect
4689
go.opentelemetry.io/proto/otlp v1.5.0 // indirect
4790
go.uber.org/multierr v1.11.0 // indirect
91+
golang.org/x/arch v0.15.0 // indirect
92+
golang.org/x/crypto v0.37.0 // indirect
4893
golang.org/x/net v0.39.0 // indirect
94+
golang.org/x/oauth2 v0.29.0 // indirect
4995
golang.org/x/sys v0.32.0 // indirect
5096
golang.org/x/text v0.24.0 // indirect
5197
google.golang.org/genproto/googleapis/api v0.0.0-20250428153025-10db94c68c34 // indirect

0 commit comments

Comments
 (0)