diff --git a/cloudevents-server/README.md b/cloudevents-server/README.md new file mode 100644 index 00000000..1605f4af --- /dev/null +++ b/cloudevents-server/README.md @@ -0,0 +1,16 @@ +Cloud Events Server +=== + +## How to run + + +### With sqlite as backend database: +```bash +go run --tags sqlite3 . -config=configs/example-config-sqlite3.yaml +``` + +### With MySQL or TiDB as backend database: + +```bash +go run . -config=configs/example-config.yaml +``` diff --git a/cloudevents-server/configs/example-config-sqlite3.yaml b/cloudevents-server/configs/example-config-sqlite3.yaml new file mode 100644 index 00000000..3b2e28f2 --- /dev/null +++ b/cloudevents-server/configs/example-config-sqlite3.yaml @@ -0,0 +1,3 @@ +store: + driver: sqlite3 + dsn: file:ent?mode=memory&cache=shared&_fk=1 diff --git a/cloudevents-server/deployments/k8s-dev.yaml b/cloudevents-server/deployments/k8s-dev.yaml new file mode 100644 index 00000000..dc5c9002 --- /dev/null +++ b/cloudevents-server/deployments/k8s-dev.yaml @@ -0,0 +1,59 @@ +apiVersion: v1 +kind: Secret +metadata: + name: cloudevents-server-sqlite +type: Opaque +stringData: + config.yaml: | + store: + driver: sqlite3 + dsn: file:ent?mode=memory&cache=shared&_fk=1 +--- +apiVersion: v1 +kind: Service +metadata: + name: cloudevents-server + labels: + app: cloudevents-server +spec: + ports: + - port: 8080 + protocol: TCP + clusterIP: None + selector: + app: cloudevents-server +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cloudevents-server + labels: + app: cloudevents-server +spec: + replicas: 1 + selector: + matchLabels: + app: cloudevents-server + template: + metadata: + labels: + app: cloudevents-server + spec: + containers: + - name: cloudevents-server + image: ghcr.io/pingcap-qe/ee-apps/cloudevents-server + resources: + requests: + cpu: '100m' + memory: 128Mi + limits: + cpu: '100m' + memory: 128Mi + args: [-config, "/config/config.yaml"] + volumeMounts: + - name: config + mountPath: /config + volumes: + - name: config + secret: + secretName: cloudevents-server-sqlite diff --git a/cloudevents-server/pkg/events/custom/testcaserun/testcaserun.go b/cloudevents-server/pkg/events/custom/testcaserun/testcaserun.go index afe2b18c..847cbce6 100644 --- a/cloudevents-server/pkg/events/custom/testcaserun/testcaserun.go +++ b/cloudevents-server/pkg/events/custom/testcaserun/testcaserun.go @@ -9,9 +9,6 @@ import ( "github.com/PingCAP-QE/ee-apps/cloudevents-server/ent" cloudevents "github.com/cloudevents/sdk-go/v2" "github.com/cloudevents/sdk-go/v2/types" - - _ "github.com/go-sql-driver/mysql" - _ "github.com/mattn/go-sqlite3" ) type Handler struct { diff --git a/cloudevents-server/skaffold.yaml b/cloudevents-server/skaffold.yaml new file mode 100644 index 00000000..38420717 --- /dev/null +++ b/cloudevents-server/skaffold.yaml @@ -0,0 +1,31 @@ +apiVersion: skaffold/v4beta6 +kind: Config +metadata: + name: cloudevents-server +build: + platforms: ["linux/amd64"] + artifacts: + - image: ghcr.io/pingcap-qe/ee-apps/cloudevents-server + ko: + env: + - GOPROXY={{.GOPROXY}} + - CGO_ENABLED=1 # need build in linux + labels: + org.opencontainers.image.licenses: MIT + org.opencontainers.image.source: https://github.com/PingCAP-QE/ee-apps +manifests: + rawYaml: + - deployments/k8s-dev.yaml +portForward: + - resourceType: service + resourceName: cloudevents-server + port: 8080 +deploy: + kubectl: {} +profiles: + - name: dev + patches: + - op: add + path: /build/artifacts/0/ko/flags + value: + - --tags=sqlite3