CARVIEW |
Select Language
HTTP/2 200
date: Wed, 30 Jul 2025 22:11:42 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"f0b75c3738d8c5c19713a91286f7515d"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=kO7CEE0XfDNPQL86Swkjv1KhiITOhCl2HUMuI8kvG5EHngGYaBZsYXW4VI%2FTtyxx1AYfPTSDNECpYWXKlCOPgQ0kXoxjkkb4gDAsIXYmf1U09a53usTZTl2zYpV4%2FUSZmH6M0jOdTGX3k7glAZgjkrWl9YV96xy3vOMFfzjF71E9k7Ke863bfQMuLiKWp4G1I%2BvI1nQtQZau2Y3KQiqu8tHjgL%2F740QeDzst3RuDUkKax8GvRH74Q%2FSIi7zzaISLmeunBwCbNDu0uZv41Z1qfg%3D%3D--Zg8gvBQPvICMQcox--Q8FJ%2ByQMnfi5U9yKRpPGiA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1460747638.1753913502; Path=/; Domain=github.com; Expires=Thu, 30 Jul 2026 22:11:42 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 30 Jul 2026 22:11:42 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: D9FE:1CD35:7793C:AE838:688A989E
4.2. Changing Event Store · vardius/go-api-boilerplate Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 138
4.2. Changing Event Store
Rafał Lorenz edited this page Jun 29, 2019
·
1 revision
To use AWS DynamoDB event store we need to add localstack container. This way we can use a fully functional local AWS cloud stack.
dependencies:
+# AWS localstack (for local development)
+ - name: microservice
+ version: 0.1.0
+ repository: "file://../microservice"
+ alias: localstack
+ condition: localstack.enabled
ingress:
paths:
+ - path: /localstack
+ backend:
+ serviceName: go-api-boilerplate-localstack
+ servicePort: 4567
+ # AWS localstack https://github.com/localstack/localstack
+ localstack:
+ enabled: true
+ nameOverride: localstack
+ image:
+ repository: localstack/localstack
+ tag: 0.8.10
+ pullPolicy: IfNotPresent
+ service:
+ ports:
+ - name: dynamodb
+ internalPort: 4569
+ externalPort: 4569
+ - name: ui
+ internalPort: 4567
+ externalPort: 4567
+ env:
+ - name: SERVICES
+ valueFrom: "dynamodb:4569"
+ - name: PORT_WEB_UI
+ valueFrom: 4567
user:
env:
+ - name: AWS_REGION
+ valueFrom:
+ configMapKeyRef:
+ key: AWS_REGION
+ name: go-api-boilerplate-app
+ - name: AWS_ENDPOINT
+ valueFrom:
+ configMapKeyRef:
+ key: AWS_ENDPOINT
+ name: go-api-boilerplate-app
configMap:
data:
+ AWS_REGION: 'us-east-1'
+ AWS_ENDPOINT: 'https://go-api-boilerplate-localstack:4569'
Finally we can switch memory event store to DynamoDB one as follow:
package main
import (
+ "github.com/aws/aws-sdk-go/aws"
- "github.com/vardius/go-api-boilerplate/pkg/eventstore/memory"
+ "github.com/vardius/go-api-boilerplate/pkg/eventstore/dynamodb"
)
type config struct {
+ AwsRegion string `env:"AWS_REGION" envDefault:"us-east-1"`
+ AwsEndpoint string `env:"AWS_ENDPOINT" envDefault:"https://localhost:4569"`
}
func main() {
ctx := context.Background()
cfg := config{}
env.Parse(&cfg)
+ awsConfig := &aws.Config{
+ Region: aws.String(cfg.AwsRegion),
+ Endpoint: aws.String(cfg.AwsEndpoint),
+ }
- eventStore := eventstore.New()
+ eventStore := eventstore.New("events", awsConfig)
Clone this wiki locally
You can’t perform that action at this time.