I have deployed companion in a gke kubernetes cluster following is my deployment, secrets and svc:
apiVersion: apps/v1
kind: Deployment
metadata:
name: companion
namespace: companion
spec:
minReadySeconds: 5
progressDeadlineSeconds: 600
replicas: 2
revisionHistoryLimit: 10
selector:
matchLabels:
app: companion
strategy:
rollingUpdate:
maxSurge: 2
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
app: companion
spec:
containers:
- envFrom:
- secretRef:
name: companion-env
image: docker.io/transloadit/companion:latest
imagePullPolicy: IfNotPresent
name: companion
ports:
- containerPort: 3020
protocol: TCP
resources:
limits:
memory: 150Mi
requests:
memory: 100Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /mnt/companion-data
name: companion-data
- mountPath: /mnt/data/
name: companion-storage
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- emptyDir: {}
name: companion-data
- name: companion-storage
persistentVolumeClaim:
claimName: companion-data
---
apiVersion: v1
data:
COMPANION_AWS_BUCKET: supersecretimaginarybucket
COMPANION_AWS_KEY: h4)9\C#Z+pA6%%IbT8N#Ch
COMPANION_AWS_REGION: ap-southeast-1
COMPANION_AWS_SECRET: =D)£+u`|[B[Bbs709£\43{
COMPANION_CLIENT_ORIGINS: frontend.mydomail.com
COMPANION_DATADIR: /mnt/data/
COMPANION_DOMAIN: https://mydomain.com/companion
COMPANION_PROTOCOL: https
COMPANION_REDIS_URL: redis://default:£32C9_q4hCb>M]@redis-master.companion.svc.cluster.local:6379
COMPANION_SECRET: Z4f2*=ek%VPu@0p
kind: Secret
metadata:
name: companion-env
namespace: companion
type: Opaque
---
apiVersion: v1
kind: Service
metadata:
name: companion
namespace: companion
spec:
ports:
- port: 80
targetPort: 3020
protocol: TCP
selector:
app: companion
using gke gateway and httproute forwarding traffic from https://mydomain.com/companion to companion.companion.svc.cluster.local:80
:
kind: HTTPRoute
apiVersion: gateway.networking.k8s.io/v1
metadata:
name: companion-route
namespace: companion
spec:
parentRefs:
- kind: Gateway
name: external-gateway
namespace: gateways
sectionName: https
hostnames:
- "www.mydomain.com"
rules:
- matches:
- path:
type: PathPrefix
value: /companion
filters:
- type: URLRewrite
urlRewrite:
path:
type: ReplacePrefixMatch
replacePrefixMatch: /
backendRefs:
- name: companion
namespace: companion
port: 80
---
kind: HTTPRoute
apiVersion: gateway.networking.k8s.io/v1beta1
metadata:
name: redirect-companion
namespace: companion
spec:
parentRefs:
- kind: Gateway
name: external-gateway
sectionName: http
namespace: gateways
rules:
- filters:
- type: RequestRedirect
requestRedirect:
scheme: https
Now when we try uploading file to our s3 bucket, we are getting the following error response:
<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
We are using the following uppy versions:
"@uppy/audio": "^0.3.2",
"@uppy/aws-s3": "^2.0.8",
"@uppy/core": "^2.1.5",
"@uppy/dropbox": "^2.0.5",
"@uppy/google-drive": "^2.0.5",
"@uppy/image-editor": "^1.1.1",
"@uppy/react": "^2.1.2",
"@uppy/screen-capture": "^2.0.6",
"@uppy/transloadit": "^2.3.6",
"@uppy/url": "^2.0.5",
"@uppy/xhr-upload": "^2.0.7",
Can someone describe what might be the issue