SSL in dev environment!
ci / build (push) Has been cancelled
Details
ci / build (push) Has been cancelled
Details
This commit is contained in:
parent
5b685cd7a8
commit
76e1ee60eb
|
@ -18,6 +18,8 @@ docker-compose.*
|
|||
.vscode
|
||||
charts/**/charts
|
||||
|
||||
**/.env
|
||||
**/node_modules
|
||||
|
||||
packages/strapi/.tmp/
|
||||
packages/strapi/.cache/
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: chisel-operator.io/v1
|
||||
kind: ExitNode
|
||||
metadata:
|
||||
name: uwu-exit-node
|
||||
namespace: futureporn
|
||||
spec:
|
||||
# IP address of exit node
|
||||
# In this case, we will leave this as a blank string, and let the operator allocate an IP address for us
|
||||
host: "155.138.254.201"
|
||||
# Control plane socket port
|
||||
port: 9090
|
||||
# Name of the secret containing the auth key
|
||||
# This is not required, but recommended
|
||||
# If not set, the operator will automatically generate a secret for you
|
||||
auth: uwu-auth
|
|
@ -0,0 +1,7 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: futureporn
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- repository.yaml
|
||||
- exit-node.yaml
|
|
@ -0,0 +1,4 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: futureporn
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: GitRepository
|
||||
metadata:
|
||||
name: chisel-operator
|
||||
namespace: futureporn
|
||||
spec:
|
||||
interval: 1m
|
||||
url: https://github.com/FyraLabs/chisel-operator
|
||||
ref:
|
||||
branch: main
|
||||
ignore: |
|
||||
# exclude all
|
||||
/*
|
||||
# include charts directory
|
||||
!/charts/
|
|
@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||
kind: Kustomization
|
||||
resources:
|
||||
- ../base/podinfo
|
||||
- ../base/piko
|
||||
- ../base/windmill
|
||||
- ../base/fp
|
||||
patches:
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
## Utility ingress (named uwu to make it non-specific) is used for several backend or development services.
|
||||
## We do this to save money, as every VKE ingress cost us $10/month
|
||||
## We route to different services by path
|
||||
|
||||
|
||||
|
||||
{{ if eq .Values.managedBy "Helm" }}
|
||||
|
||||
# ---
|
||||
# apiVersion: networking.k8s.io/v1
|
||||
# kind: Ingress
|
||||
# metadata:
|
||||
# name: uwu-ingress
|
||||
# namespace: futureporn
|
||||
# annotations:
|
||||
# cert-manager.io/cluster-issuer: "letsencrypt-staging"
|
||||
# nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
||||
# # If you encounter a redirect loop or are getting a 307 response code
|
||||
# # then you need to force the nginx ingress to connect to the backend using HTTPS.
|
||||
# nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||
# spec:
|
||||
# ingressClassName: nginx
|
||||
# rules:
|
||||
# - host: uwu.sbtp.xyz
|
||||
# http:
|
||||
# paths:
|
||||
# - path: /piko
|
||||
# pathType: Prefix
|
||||
# backend:
|
||||
# service:
|
||||
# name: piko
|
||||
# port:
|
||||
# name: https
|
||||
# - path: /windmill
|
||||
# pathType: Prefix
|
||||
# backend:
|
||||
# service:
|
||||
# name: windmmill-app
|
||||
# port:
|
||||
# name: https
|
||||
# tls:
|
||||
# - hosts:
|
||||
# - uwu.sbtp.xyz
|
||||
# secretName: uwu-tls
|
||||
|
||||
|
||||
|
||||
{{ end }}
|
|
@ -1,15 +1,38 @@
|
|||
{{ if eq .Values.managedBy "tilt" }}
|
||||
---
|
||||
apiVersion: chisel-operator.io/v1
|
||||
kind: ExitNode
|
||||
metadata:
|
||||
name: next-exit-node
|
||||
namespace: futureporn
|
||||
spec:
|
||||
host: "{{ .Values.chisel.exitNodeIp }}"
|
||||
port: 9090
|
||||
auth: uwu-auth
|
||||
{{ end }}
|
||||
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: next
|
||||
namespace: futureporn
|
||||
{{ if eq .Values.managedBy "tilt" }}
|
||||
# create a tunnel to uwu-exit-node (chisel server)
|
||||
# this allows us to have SSL in development
|
||||
annotations:
|
||||
chisel-operator.io/exit-node-name: "uwu-exit-node"
|
||||
{{ end }}
|
||||
spec:
|
||||
selector:
|
||||
app.kubernetes.io/name: next
|
||||
ports:
|
||||
- name: web
|
||||
port: 3000
|
||||
targetPort: 3000
|
||||
targetPort: web
|
||||
protocol: TCP
|
||||
type: LoadBalancer
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
{{ if eq .Values.managedBy "tilt" }}
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: ngrok
|
||||
namespace: futureporn
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: ngrok
|
||||
k8s.ngrok.com/namespace: futureporn
|
||||
k8s.ngrok.com/service: ngrok
|
||||
spec:
|
||||
ingressClassName: ngrok
|
||||
tls:
|
||||
- secretName: ngrok-tls
|
||||
hosts:
|
||||
- "{{ .Values.ngrok.hostname }}"
|
||||
rules:
|
||||
- host: "{{ .Values.ngrok.hostname }}"
|
||||
http:
|
||||
paths:
|
||||
- path: /next
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: next
|
||||
port:
|
||||
number: 3000
|
||||
- path: /strapi
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: strapi
|
||||
port:
|
||||
number: 1337
|
||||
{{ end }}
|
||||
|
|
@ -1,101 +0,0 @@
|
|||
|
||||
# In development, we need a piko agent
|
||||
{{ if eq .Values.managedBy "tilt" }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
|
||||
# In production, we need a piko server
|
||||
{{ if eq .Values.managedBy "Helm" }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: piko
|
||||
namespace: futureporn
|
||||
labels:
|
||||
app: piko
|
||||
spec:
|
||||
ports:
|
||||
- port: 8000
|
||||
name: proxy
|
||||
- port: 8001
|
||||
name: upstream
|
||||
- port: 8002
|
||||
name: admin
|
||||
- port: 8003
|
||||
name: gossip
|
||||
clusterIP: None
|
||||
selector:
|
||||
app: piko
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: server-config
|
||||
data:
|
||||
server.yaml: |
|
||||
cluster:
|
||||
node_id_prefix: ${POD_NAME}-
|
||||
join:
|
||||
- piko
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: piko
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: piko
|
||||
serviceName: "piko"
|
||||
replicas: 3
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: piko
|
||||
spec:
|
||||
terminationGracePeriodSeconds: 60
|
||||
containers:
|
||||
- name: piko
|
||||
image: my-repo/piko:latest
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
name: proxy
|
||||
- containerPort: 8001
|
||||
name: upstream
|
||||
- containerPort: 8002
|
||||
name: admin
|
||||
- containerPort: 8003
|
||||
name: gossip
|
||||
args:
|
||||
- server
|
||||
- --config.path
|
||||
- /config/server.yaml
|
||||
- --config.expand-env
|
||||
resources:
|
||||
limits:
|
||||
cpu: 250m
|
||||
ephemeral-storage: 1Gi
|
||||
memory: 1Gi
|
||||
requests:
|
||||
cpu: 250m
|
||||
ephemeral-storage: 1Gi
|
||||
memory: 1Gi
|
||||
env:
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: "/config"
|
||||
readOnly: true
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: server-config
|
||||
items:
|
||||
- key: "server.yaml"
|
||||
path: "server.yaml"
|
||||
{{ end }}
|
|
@ -1,8 +1,28 @@
|
|||
{{ if eq .Values.managedBy "tilt" }}
|
||||
---
|
||||
apiVersion: chisel-operator.io/v1
|
||||
kind: ExitNode
|
||||
metadata:
|
||||
name: strapi-exit-node
|
||||
namespace: futureporn
|
||||
spec:
|
||||
host: "{{ .Values.chisel.exitNodeIp }}"
|
||||
port: 9090
|
||||
auth: uwu-auth
|
||||
{{ end }}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: strapi
|
||||
namespace: futureporn
|
||||
{{ if eq .Values.managedBy "tilt" }}
|
||||
# create a tunnel to uwu-exit-node (chisel server)
|
||||
# this allows us to have SSL in development
|
||||
annotations:
|
||||
chisel-operator.io/exit-node-name: "uwu-exit-node"
|
||||
{{ end }}
|
||||
spec:
|
||||
selector:
|
||||
app.kubernetes.io/name: strapi
|
||||
|
@ -11,6 +31,7 @@ spec:
|
|||
port: 1339
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
type: LoadBalancer
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
|
@ -178,5 +199,4 @@ spec:
|
|||
name: strapi
|
||||
port:
|
||||
number: 1339
|
||||
|
||||
{{ end }}
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
## Utility ingress (named uwu to make it non-specific) is used for several backend or development services.
|
||||
## We do this to save money, as every VKE ingress cost us $10/month
|
||||
## We route to different services by path
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{{ if eq .Values.managedBy "Helm" }}
|
||||
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: uwu-ingress
|
||||
namespace: futureporn
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: "letsencrypt-staging"
|
||||
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
||||
# If you encounter a redirect loop or are getting a 307 response code
|
||||
# then you need to force the nginx ingress to connect to the backend using HTTPS.
|
||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: uwu.sbtp.xyz
|
||||
http:
|
||||
paths:
|
||||
- path: /piko
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: piko
|
||||
port:
|
||||
name: https
|
||||
- path: /windmill
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: windmmill-app
|
||||
port:
|
||||
name: https
|
||||
tls:
|
||||
- hosts:
|
||||
- uwu.sbtp.xyz
|
||||
secretName: uwu-tls
|
||||
|
||||
|
||||
|
||||
{{ end }}
|
|
@ -14,15 +14,10 @@ scout:
|
|||
pubsubServerUrl: https://realtime.futureporn.svc.cluster.local/faye
|
||||
certIssuer: letsencrypt-staging
|
||||
hostname: next.futureporn.svc.cluster.local
|
||||
capture:
|
||||
containerName: fp/capture
|
||||
scout:
|
||||
containerName: fp/scout
|
||||
pubsubServerUrl: https://realtime.futureporn.svc.cluster.local/faye
|
||||
strapi:
|
||||
containerName: fp/strapi
|
||||
port: 1339
|
||||
url: http://localhost:1339
|
||||
url: https://strapi.piko.sbtp.xyz
|
||||
certIssuer: letsencrypt-staging
|
||||
hostname: strapi.futureporn.svc.cluster.local
|
||||
ingressClassName: ngrok
|
||||
|
@ -31,3 +26,5 @@ ngrok:
|
|||
realtime:
|
||||
containerName: fp/realtime
|
||||
adminEmail: cj@futureporn.net
|
||||
chisel:
|
||||
exitNodeIp: "155.138.254.201"
|
|
@ -0,0 +1,24 @@
|
|||
FROM node:20-alpine as base
|
||||
WORKDIR /app
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN corepack enable
|
||||
RUN apk update && apk add --no-cache build-base gcc autoconf automake zlib-dev libpng-dev vips-dev libc6-compat git nasm bash gcompat
|
||||
|
||||
FROM base AS install
|
||||
COPY ./packages/strapi/pnpm-lock.yaml ./packages/strapi/package.json ./
|
||||
RUN pnpm install --prod --shamefully-hoist && pnpm run build
|
||||
COPY ./packages/strapi .
|
||||
RUN chown -R node:node /app
|
||||
USER node
|
||||
|
||||
|
||||
FROM install AS dev
|
||||
ENV NODE_ENV=development
|
||||
ENTRYPOINT ["pnpm"]
|
||||
CMD ["run", "dev"]
|
||||
|
||||
FROM install AS release
|
||||
ENV NODE_ENV=production
|
||||
ENTRYPOINT ["pnpm"]
|
||||
CMD ["run", "start"]
|
|
@ -0,0 +1,20 @@
|
|||
FROM node:18-alpine3.18
|
||||
RUN echo "do a rebuild, yuou fucking shit!"
|
||||
# Installing libvips-dev for sharp Compatibility
|
||||
RUN apk update && apk add --no-cache build-base gcc autoconf automake zlib-dev libpng-dev nasm bash vips-dev git
|
||||
ARG NODE_ENV=development
|
||||
ENV NODE_ENV=${NODE_ENV}
|
||||
|
||||
WORKDIR /opt/
|
||||
COPY package.json yarn.lock ./
|
||||
RUN yarn global add node-gyp
|
||||
RUN yarn config set network-timeout 600000 -g && yarn install
|
||||
ENV PATH /opt/node_modules/.bin:$PATH
|
||||
|
||||
WORKDIR /opt/app
|
||||
COPY . .
|
||||
RUN chown -R node:node /opt/app
|
||||
USER node
|
||||
RUN ["yarn", "build"]
|
||||
EXPOSE 1339
|
||||
CMD ["yarn", "start"]
|
|
@ -1 +1,3 @@
|
|||
node_modules
|
||||
## This is the WRONG place to add dockerignore spec!
|
||||
## We are using monorepo which menas .dockerignore must be in the root of context (../../)
|
||||
## Add dockerignore specs to ../../.dockerignore instead.
|
||||
|
|
|
@ -83,7 +83,7 @@ export default function Page() {
|
|||
|
||||
useEffect(() => {
|
||||
initAuth()
|
||||
})
|
||||
}, [])
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -70,5 +70,6 @@
|
|||
"eslint-config-next": "14.0.4",
|
||||
"tsc": "^2.0.4",
|
||||
"typescript": "5.3.3"
|
||||
}
|
||||
},
|
||||
"packageManager": "pnpm@9.1.3"
|
||||
}
|
||||
|
|
|
@ -25,10 +25,10 @@ importers:
|
|||
version: 0.2.0(@fortawesome/fontawesome-svg-core@6.5.2)(react@18.2.0)
|
||||
'@hookform/error-message':
|
||||
specifier: ^2.0.1
|
||||
version: 2.0.1(react-dom@18.2.0)(react-hook-form@7.51.2)(react@18.2.0)
|
||||
version: 2.0.1(react-dom@18.2.0(react@18.2.0))(react-hook-form@7.51.2(react@18.2.0))(react@18.2.0)
|
||||
'@hookform/resolvers':
|
||||
specifier: ^3.3.4
|
||||
version: 3.3.4(react-hook-form@7.51.2)
|
||||
version: 3.3.4(react-hook-form@7.51.2(react@18.2.0))
|
||||
'@mux/blurhash':
|
||||
specifier: ^0.1.2
|
||||
version: 0.1.2
|
||||
|
@ -37,19 +37,19 @@ importers:
|
|||
version: 2.4.1
|
||||
'@mux/mux-player-react':
|
||||
specifier: ^2.4.1
|
||||
version: 2.4.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 2.4.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
||||
'@paralleldrive/cuid2':
|
||||
specifier: ^2.2.2
|
||||
version: 2.2.2
|
||||
'@react-hookz/web':
|
||||
specifier: ^24.0.4
|
||||
version: 24.0.4(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 24.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
||||
'@tanstack/react-query':
|
||||
specifier: ^5.32.1
|
||||
version: 5.32.1(react@18.2.0)
|
||||
'@tanstack/react-table':
|
||||
specifier: ^8.15.3
|
||||
version: 8.15.3(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 8.15.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
||||
'@types/lodash':
|
||||
specifier: ^4.17.0
|
||||
version: 4.17.0
|
||||
|
@ -85,7 +85,7 @@ importers:
|
|||
version: 3.1.1(@uppy/core@3.10.0)
|
||||
'@uppy/react':
|
||||
specifier: ^3.3.0
|
||||
version: 3.3.0(@uppy/core@3.10.0)(@uppy/dashboard@3.8.0)(@uppy/drag-drop@3.1.0)(@uppy/file-input@3.1.0)(@uppy/progress-bar@3.1.1)(react@18.2.0)
|
||||
version: 3.3.0(@uppy/core@3.10.0)(@uppy/dashboard@3.8.0(@uppy/core@3.10.0))(@uppy/drag-drop@3.1.0(@uppy/core@3.10.0))(@uppy/file-input@3.1.0(@uppy/core@3.10.0))(@uppy/progress-bar@3.1.1(@uppy/core@3.10.0))(@uppy/status-bar@3.3.1(@uppy/core@3.10.0))(react@18.2.0)
|
||||
'@uppy/remote-sources':
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0(@uppy/core@3.10.0)
|
||||
|
@ -121,13 +121,13 @@ importers:
|
|||
version: 13.1.0
|
||||
next:
|
||||
specifier: 14.0.4
|
||||
version: 14.0.4(@babel/core@7.24.5)(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 14.0.4(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.74.1)
|
||||
next-goatcounter:
|
||||
specifier: ^1.0.5
|
||||
version: 1.0.5(next@14.0.4)(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 1.0.5(next@14.0.4(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.74.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
||||
nextjs-toploader:
|
||||
specifier: ^1.6.11
|
||||
version: 1.6.11(next@14.0.4)(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 1.6.11(next@14.0.4(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.74.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
||||
plyr:
|
||||
specifier: ^3.7.8
|
||||
version: 3.7.8
|
||||
|
@ -142,7 +142,7 @@ importers:
|
|||
version: 18.2.0
|
||||
react-data-table-component:
|
||||
specifier: ^7.5.4
|
||||
version: 7.5.4(react@18.2.0)(styled-components@5.3.3)
|
||||
version: 7.5.4(react@18.2.0)(styled-components@5.3.3(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react-is@16.13.1)(react@18.2.0))
|
||||
react-dom:
|
||||
specifier: ^18.2.0
|
||||
version: 18.2.0(react@18.2.0)
|
||||
|
@ -154,7 +154,7 @@ importers:
|
|||
version: 3.4.0(react@18.2.0)
|
||||
react-toastify:
|
||||
specifier: ^9.1.3
|
||||
version: 9.1.3(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 9.1.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
||||
sharp:
|
||||
specifier: ^0.33.3
|
||||
version: 0.33.3
|
||||
|
@ -163,7 +163,7 @@ importers:
|
|||
version: 1.6.6
|
||||
styled-components:
|
||||
specifier: 5.3.3
|
||||
version: 5.3.3(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@16.13.1)(react@18.2.0)
|
||||
version: 5.3.3(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react-is@16.13.1)(react@18.2.0)
|
||||
yup:
|
||||
specifier: ^1.4.0
|
||||
version: 1.4.0
|
||||
|
@ -2635,13 +2635,13 @@ snapshots:
|
|||
prop-types: 15.8.1
|
||||
react: 18.2.0
|
||||
|
||||
'@hookform/error-message@2.0.1(react-dom@18.2.0)(react-hook-form@7.51.2)(react@18.2.0)':
|
||||
'@hookform/error-message@2.0.1(react-dom@18.2.0(react@18.2.0))(react-hook-form@7.51.2(react@18.2.0))(react@18.2.0)':
|
||||
dependencies:
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
react-hook-form: 7.51.2(react@18.2.0)
|
||||
|
||||
'@hookform/resolvers@3.3.4(react-hook-form@7.51.2)':
|
||||
'@hookform/resolvers@3.3.4(react-hook-form@7.51.2(react@18.2.0))':
|
||||
dependencies:
|
||||
react-hook-form: 7.51.2(react@18.2.0)
|
||||
|
||||
|
@ -2754,15 +2754,16 @@ snapshots:
|
|||
blurhash: 1.1.5
|
||||
sharp: 0.30.7
|
||||
|
||||
'@mux/mux-player-react@2.4.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)':
|
||||
'@mux/mux-player-react@2.4.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
|
||||
dependencies:
|
||||
'@mux/mux-player': 2.4.1
|
||||
'@mux/playback-core': 0.22.4
|
||||
'@types/react': 18.2.75
|
||||
'@types/react-dom': 18.2.24
|
||||
prop-types: 15.8.1
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
optionalDependencies:
|
||||
'@types/react': 18.2.75
|
||||
'@types/react-dom': 18.2.24
|
||||
|
||||
'@mux/mux-player@2.4.1':
|
||||
dependencies:
|
||||
|
@ -2835,7 +2836,7 @@ snapshots:
|
|||
|
||||
'@react-hookz/deep-equal@1.0.4': {}
|
||||
|
||||
'@react-hookz/web@24.0.4(react-dom@18.2.0)(react@18.2.0)':
|
||||
'@react-hookz/web@24.0.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
|
||||
dependencies:
|
||||
'@react-hookz/deep-equal': 1.0.4
|
||||
react: 18.2.0
|
||||
|
@ -2854,7 +2855,7 @@ snapshots:
|
|||
'@tanstack/query-core': 5.32.1
|
||||
react: 18.2.0
|
||||
|
||||
'@tanstack/react-table@8.15.3(react-dom@18.2.0)(react@18.2.0)':
|
||||
'@tanstack/react-table@8.15.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
|
||||
dependencies:
|
||||
'@tanstack/table-core': 8.15.3
|
||||
react: 18.2.0
|
||||
|
@ -2898,8 +2899,8 @@ snapshots:
|
|||
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 6.21.0
|
||||
debug: 4.3.4(supports-color@5.5.0)
|
||||
debug: 4.3.4(supports-color@5.5.0)
|
||||
eslint: 8.57.0
|
||||
optionalDependencies:
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
@ -2916,12 +2917,12 @@ snapshots:
|
|||
'@typescript-eslint/types': 6.21.0
|
||||
'@typescript-eslint/visitor-keys': 6.21.0
|
||||
debug: 4.3.4(supports-color@5.5.0)
|
||||
debug: 4.3.4(supports-color@5.5.0)
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.3
|
||||
semver: 7.6.0
|
||||
ts-api-utils: 1.3.0(typescript@5.3.3)
|
||||
optionalDependencies:
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
@ -3063,16 +3064,18 @@ snapshots:
|
|||
p-queue: 7.4.1
|
||||
preact: 10.20.2
|
||||
|
||||
'@uppy/react@3.3.0(@uppy/core@3.10.0)(@uppy/dashboard@3.8.0)(@uppy/drag-drop@3.1.0)(@uppy/file-input@3.1.0)(@uppy/progress-bar@3.1.1)(react@18.2.0)':
|
||||
'@uppy/react@3.3.0(@uppy/core@3.10.0)(@uppy/dashboard@3.8.0(@uppy/core@3.10.0))(@uppy/drag-drop@3.1.0(@uppy/core@3.10.0))(@uppy/file-input@3.1.0(@uppy/core@3.10.0))(@uppy/progress-bar@3.1.1(@uppy/core@3.10.0))(@uppy/status-bar@3.3.1(@uppy/core@3.10.0))(react@18.2.0)':
|
||||
dependencies:
|
||||
'@uppy/core': 3.10.0
|
||||
'@uppy/utils': 5.7.5
|
||||
prop-types: 15.8.1
|
||||
react: 18.2.0
|
||||
optionalDependencies:
|
||||
'@uppy/dashboard': 3.8.0(@uppy/core@3.10.0)
|
||||
'@uppy/drag-drop': 3.1.0(@uppy/core@3.10.0)
|
||||
'@uppy/file-input': 3.1.0(@uppy/core@3.10.0)
|
||||
'@uppy/progress-bar': 3.1.1(@uppy/core@3.10.0)
|
||||
'@uppy/utils': 5.7.5
|
||||
prop-types: 15.8.1
|
||||
react: 18.2.0
|
||||
'@uppy/status-bar': 3.3.1(@uppy/core@3.10.0)
|
||||
|
||||
'@uppy/remote-sources@1.2.0(@uppy/core@3.10.0)':
|
||||
dependencies:
|
||||
|
@ -3264,14 +3267,14 @@ snapshots:
|
|||
dependencies:
|
||||
dequal: 2.0.3
|
||||
|
||||
babel-plugin-styled-components@2.1.4(@babel/core@7.24.5)(styled-components@5.3.3):
|
||||
babel-plugin-styled-components@2.1.4(@babel/core@7.24.5)(styled-components@5.3.3(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react-is@16.13.1)(react@18.2.0)):
|
||||
dependencies:
|
||||
'@babel/helper-annotate-as-pure': 7.22.5
|
||||
'@babel/helper-module-imports': 7.24.3
|
||||
'@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
|
||||
lodash: 4.17.21
|
||||
picomatch: 2.3.1
|
||||
styled-components: 5.3.3(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@16.13.1)(react@18.2.0)
|
||||
styled-components: 5.3.3(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react-is@16.13.1)(react@18.2.0)
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
|
||||
|
@ -3458,7 +3461,7 @@ snapshots:
|
|||
debug@4.3.4(supports-color@5.5.0):
|
||||
dependencies:
|
||||
ms: 2.1.2
|
||||
supports-color: 5.5.0
|
||||
optionalDependencies:
|
||||
supports-color: 5.5.0
|
||||
|
||||
decompress-response@6.0.0:
|
||||
|
@ -3617,11 +3620,12 @@ snapshots:
|
|||
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
||||
eslint: 8.57.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
|
||||
eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
|
||||
eslint-plugin-react: 7.34.1(eslint@8.57.0)
|
||||
eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
|
||||
optionalDependencies:
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-webpack
|
||||
|
@ -3635,14 +3639,13 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
|
||||
eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0):
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@5.5.0)
|
||||
debug: 4.3.4(supports-color@5.5.0)
|
||||
enhanced-resolve: 5.16.0
|
||||
eslint: 8.57.0
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
|
||||
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
|
||||
fast-glob: 3.3.2
|
||||
get-tsconfig: 4.7.3
|
||||
is-core-module: 2.13.1
|
||||
|
@ -3653,19 +3656,19 @@ snapshots:
|
|||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0):
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
||||
eslint: 8.57.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
|
||||
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
|
||||
eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0):
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
||||
array-includes: 3.1.8
|
||||
array.prototype.findlastindex: 1.2.5
|
||||
array.prototype.flat: 1.3.2
|
||||
|
@ -3674,7 +3677,7 @@ snapshots:
|
|||
doctrine: 2.1.0
|
||||
eslint: 8.57.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
|
||||
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.13.1
|
||||
is-glob: 4.0.3
|
||||
|
@ -3684,6 +3687,8 @@ snapshots:
|
|||
object.values: 1.2.0
|
||||
semver: 6.3.1
|
||||
tsconfig-paths: 3.15.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-typescript
|
||||
- eslint-import-resolver-webpack
|
||||
|
@ -3756,7 +3761,6 @@ snapshots:
|
|||
chalk: 4.1.2
|
||||
cross-spawn: 7.0.3
|
||||
debug: 4.3.4(supports-color@5.5.0)
|
||||
debug: 4.3.4(supports-color@5.5.0)
|
||||
doctrine: 3.0.0
|
||||
escape-string-regexp: 4.0.0
|
||||
eslint-scope: 7.2.2
|
||||
|
@ -4261,14 +4265,13 @@ snapshots:
|
|||
|
||||
natural-compare@1.4.0: {}
|
||||
|
||||
next-goatcounter@1.0.5(next@14.0.4)(react-dom@18.2.0)(react@18.2.0):
|
||||
next-goatcounter@1.0.5(next@14.0.4(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.74.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
|
||||
dependencies:
|
||||
next: 14.0.4(@babel/core@7.24.5)(react-dom@18.2.0)(react@18.2.0)
|
||||
next: 14.0.4(@babel/core@7.24.5)(react-dom@18.2.0)(react@18.2.0)
|
||||
next: 14.0.4(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.74.1)
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
|
||||
next@14.0.4(@babel/core@7.24.5)(react-dom@18.2.0)(react@18.2.0):
|
||||
next@14.0.4(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.74.1):
|
||||
dependencies:
|
||||
'@next/env': 14.0.4
|
||||
'@swc/helpers': 0.5.2
|
||||
|
@ -4279,7 +4282,6 @@ snapshots:
|
|||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
styled-jsx: 5.1.1(@babel/core@7.24.5)(react@18.2.0)
|
||||
styled-jsx: 5.1.1(@babel/core@7.24.5)(react@18.2.0)
|
||||
watchpack: 2.4.0
|
||||
optionalDependencies:
|
||||
'@next/swc-darwin-arm64': 14.0.4
|
||||
|
@ -4291,15 +4293,15 @@ snapshots:
|
|||
'@next/swc-win32-arm64-msvc': 14.0.4
|
||||
'@next/swc-win32-ia32-msvc': 14.0.4
|
||||
'@next/swc-win32-x64-msvc': 14.0.4
|
||||
sass: 1.74.1
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- babel-plugin-macros
|
||||
|
||||
nextjs-toploader@1.6.11(next@14.0.4)(react-dom@18.2.0)(react@18.2.0):
|
||||
nextjs-toploader@1.6.11(next@14.0.4(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.74.1))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
|
||||
dependencies:
|
||||
'@types/nprogress': 0.2.3
|
||||
next: 14.0.4(@babel/core@7.24.5)(react-dom@18.2.0)(react@18.2.0)
|
||||
next: 14.0.4(@babel/core@7.24.5)(react-dom@18.2.0)(react@18.2.0)
|
||||
next: 14.0.4(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.74.1)
|
||||
nprogress: 0.2.0
|
||||
prop-types: 15.8.1
|
||||
react: 18.2.0
|
||||
|
@ -4486,11 +4488,11 @@ snapshots:
|
|||
minimist: 1.2.8
|
||||
strip-json-comments: 2.0.1
|
||||
|
||||
react-data-table-component@7.5.4(react@18.2.0)(styled-components@5.3.3):
|
||||
react-data-table-component@7.5.4(react@18.2.0)(styled-components@5.3.3(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react-is@16.13.1)(react@18.2.0)):
|
||||
dependencies:
|
||||
deepmerge: 4.3.1
|
||||
react: 18.2.0
|
||||
styled-components: 5.3.3(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@16.13.1)(react@18.2.0)
|
||||
styled-components: 5.3.3(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react-is@16.13.1)(react@18.2.0)
|
||||
|
||||
react-dom@18.2.0(react@18.2.0):
|
||||
dependencies:
|
||||
|
@ -4508,7 +4510,7 @@ snapshots:
|
|||
dependencies:
|
||||
react: 18.2.0
|
||||
|
||||
react-toastify@9.1.3(react-dom@18.2.0)(react@18.2.0):
|
||||
react-toastify@9.1.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
|
||||
dependencies:
|
||||
clsx: 1.2.1
|
||||
react: 18.2.0
|
||||
|
@ -4753,14 +4755,14 @@ snapshots:
|
|||
|
||||
strip-json-comments@3.1.1: {}
|
||||
|
||||
styled-components@5.3.3(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@16.13.1)(react@18.2.0):
|
||||
styled-components@5.3.3(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react-is@16.13.1)(react@18.2.0):
|
||||
dependencies:
|
||||
'@babel/helper-module-imports': 7.24.3
|
||||
'@babel/traverse': 7.24.5(supports-color@5.5.0)
|
||||
'@emotion/is-prop-valid': 0.8.8
|
||||
'@emotion/stylis': 0.8.5
|
||||
'@emotion/unitless': 0.7.5
|
||||
babel-plugin-styled-components: 2.1.4(@babel/core@7.24.5)(styled-components@5.3.3)
|
||||
babel-plugin-styled-components: 2.1.4(@babel/core@7.24.5)(styled-components@5.3.3(@babel/core@7.24.5)(react-dom@18.2.0(react@18.2.0))(react-is@16.13.1)(react@18.2.0))
|
||||
css-to-react-native: 3.2.0
|
||||
hoist-non-react-statics: 3.3.2
|
||||
react: 18.2.0
|
||||
|
@ -4773,9 +4775,10 @@ snapshots:
|
|||
|
||||
styled-jsx@5.1.1(@babel/core@7.24.5)(react@18.2.0):
|
||||
dependencies:
|
||||
'@babel/core': 7.24.5
|
||||
client-only: 0.0.1
|
||||
react: 18.2.0
|
||||
optionalDependencies:
|
||||
'@babel/core': 7.24.5
|
||||
|
||||
supports-color@5.5.0:
|
||||
dependencies:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
# STOP! This .gitignore is probably not the .gitignore you are looking for.
|
||||
# The gitignore in the ROOT of the Docker context is the .gitignore that docker uses.
|
||||
# thus, see ../../.gitignore
|
||||
# STOP! This .dockerignore is probably not the .dockerignore you are looking for.
|
||||
# The dockerignore in the ROOT of the Docker context is the .dockerignore that docker uses.
|
||||
# We are using a monorepo and the docker build context is the root of this git repo.
|
||||
# thus, see ../../.dockerignore
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
. .env
|
||||
chisel client --auth="${CHISEL_AUTH}" "${CHISEL_SERVER}" R:8900:localhost:1337
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
kubectl apply -k https://github.com/FyraLabs/chisel-operator
|
|
@ -2,10 +2,11 @@
|
|||
|
||||
source .env
|
||||
|
||||
kubectl --namespace futureporn delete secret uwu-auth --ignore-not-found
|
||||
kubectl --namespace futureporn create secret generic uwu-auth \
|
||||
--from-literal=auth=${CHISEL_AUTH}
|
||||
|
||||
kubectl --namespace futureporn delete secret windmill-postgresql --ignore-not-found
|
||||
# kubectl --namespace futureporn create secret generic windmill-postgresql \
|
||||
# --from-literal=postgres-password=${WINDMILL_POSTGRES_PASSWORD}
|
||||
## we do this so helm can adopt our pre-made secret @see https://github.com/helm/helm/pull/7649
|
||||
cat <<EOF | kubectl --namespace futureporn create -f-
|
||||
---
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
|
||||
## restore
|
||||
# kubectl -n futureporn exec postgres -- psql -U postgres -d futureporn_db -f - < "/home/cj/Documents/futureporn-meta/backups/2024-05-21_21-44-35-futureporn-db.psql"
|
||||
# kubectl -n futureporn exec -it postgres -- bash -c "psql -U postgres futureporn_db -f /home/cj/Documents/futureporn-meta/backups/2024-05-21_21-44-35-futureporn-db.psql"
|
||||
# kubectl -n futureporn exec -i postgres -- pg_restore -U postgres -d futureporn_db < /home/cj/Documents/futureporn-meta/backups/2024-05-21_21-44-35-futureporn-db.psql
|
||||
|
||||
# kubectl exec -i POD_NAME -- pg_restore -U USERNAME -C -d DATABASE < dump.sql
|
||||
|
||||
|
||||
# kubectl -n futureporn cp /home/cj/Documents/futureporn-meta/backups/2024-05-29-futureporn_db-dev.psql postgres:/tmp/db.psql
|
||||
# kubectl -n futureporn exec -i postgres -- pg_restore -U postgres -d futureporn_db /tmp/db.psql
|
||||
# kubectl -n futureporn exec -ti db-postgresql-0 -- rm /tmp/db.psql
|
||||
|
||||
|
||||
datestamp=$(date -u "+%Y%m%dT%H%M%SZ")
|
||||
outputfilename="${datestamp}_development.psql"
|
||||
outputfullpath="/tmp/${outputfilename}"
|
||||
kubectl -n futureporn exec -i postgres -- pg_dump --file "${outputfullpath}" --port "5432" --username "postgres" --no-password --format=c --large-objects --verbose "futureporn_db"
|
||||
echo "outputfilename=${outputfilename}, outputfullpath=${outputfullpath}"
|
||||
kubectl -n futureporn cp "postgres:${outputfullpath}" "/home/cj/Documents/futureporn-meta/backups/${outputfilename}"
|
|
@ -1,3 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
## drop futureporn_db
|
||||
kubectl -n futureporn exec postgres -- psql -U postgres --command "DROP DATABASE futureporn_db;"
|
||||
|
@ -24,6 +26,6 @@ kubectl -n futureporn exec postgres -- psql -U postgres --command "\
|
|||
# kubectl exec -i POD_NAME -- pg_restore -U USERNAME -C -d DATABASE < dump.sql
|
||||
|
||||
|
||||
kubectl -n futureporn cp /home/cj/Documents/futureporn-meta/backups/2024-05-21_21-44-35-futureporn-db.psql postgres:/tmp/db.psql
|
||||
kubectl -n futureporn cp /home/cj/Documents/futureporn-meta/backups/20240529T224110Z_development.psql postgres:/tmp/db.psql
|
||||
kubectl -n futureporn exec -i postgres -- pg_restore -U postgres -d futureporn_db /tmp/db.psql
|
||||
# kubectl -n futureporn exec -ti db-postgresql-0 -- rm /tmp/db.psql
|
|
@ -9,8 +9,8 @@ dotenv(fn='.env')
|
|||
|
||||
|
||||
# kubefwd all namespaces Tilt deploys to.
|
||||
v1alpha1.extension_repo(name='default', url='https://github.com/tilt-dev/tilt-extensions')
|
||||
v1alpha1.extension(name='kubefwd:config', repo_name='default', repo_path='kubefwd')
|
||||
# v1alpha1.extension_repo(name='default', url='https://github.com/tilt-dev/tilt-extensions')
|
||||
# v1alpha1.extension(name='kubefwd:config', repo_name='default', repo_path='kubefwd')
|
||||
|
||||
# v1alpha1.extension_repo(
|
||||
# name='default',
|
||||
|
@ -44,6 +44,7 @@ v1alpha1.extension(name='kubefwd:config', repo_name='default', repo_path='kubefw
|
|||
# ]
|
||||
# )
|
||||
|
||||
|
||||
k8s_yaml(helm(
|
||||
'./charts/fp',
|
||||
values=['./charts/fp/values-dev.yaml'],
|
||||
|
@ -77,29 +78,16 @@ docker_build(
|
|||
# )
|
||||
|
||||
load('ext://uibutton', 'cmd_button')
|
||||
# @todo in the future we can add a button for seeding the db from scratch.
|
||||
# this would be good for onboarding devs
|
||||
# step 1 would be creating the db
|
||||
#
|
||||
|
||||
# step 2 is ???
|
||||
#
|
||||
# set -eu
|
||||
# # get k8s pod name from tilt resource name
|
||||
# POD_NAME="$(tilt get kubernetesdiscovery "$resource" -ojsonpath='{.status.pods[0].name}')"
|
||||
# kubectl exec "$POD_NAME" -- $command
|
||||
|
||||
|
||||
cmd_button('postgres:seed',
|
||||
argv=['sh', './scripts/postgres-seed.sh'],
|
||||
resource='postgres',
|
||||
icon_name='dataset',
|
||||
text='seed db with schema',
|
||||
)
|
||||
# cmd_button('postgres:seed',
|
||||
# argv=['sh', './scripts/postgres-seed.sh'],
|
||||
# resource='postgres',
|
||||
# icon_name='dataset',
|
||||
# text='seed db with schema',
|
||||
# )
|
||||
cmd_button('postgres:restore',
|
||||
argv=['sh', './scripts/postgres-restore.sh'],
|
||||
resource='postgres',
|
||||
icon_name='cloud',
|
||||
icon_name='cloud_download',
|
||||
text='restore db from backup',
|
||||
)
|
||||
cmd_button('postgres:drop',
|
||||
|
@ -108,7 +96,12 @@ cmd_button('postgres:drop',
|
|||
icon_name='delete',
|
||||
text='delete the database'
|
||||
)
|
||||
|
||||
cmd_button('postgres:backup',
|
||||
argv=['sh', './scripts/postgres-backup.sh'],
|
||||
resource='postgres',
|
||||
icon_name='download',
|
||||
text='backup the database'
|
||||
)
|
||||
|
||||
|
||||
## Uncomment the following for fp/next in dev mode
|
||||
|
@ -120,7 +113,7 @@ docker_build(
|
|||
dockerfile='d.next.dockerfile',
|
||||
target='dev',
|
||||
build_args={
|
||||
'NEXT_PUBLIC_STRAPI_URL': 'http://strapi.futureporn.svc.cluster.local:1339'
|
||||
'NEXT_PUBLIC_STRAPI_URL': 'https://strapi.piko.sbtp.xyz'
|
||||
},
|
||||
live_update=[
|
||||
sync('./packages/next', '/app')
|
||||
|
@ -173,7 +166,6 @@ k8s_resource(
|
|||
workload='next',
|
||||
port_forwards=['3000'],
|
||||
links=[
|
||||
link('http://next.futureporn.svc.cluster.local:3000'),
|
||||
link('https://next.piko.sbtp.xyz'),
|
||||
]
|
||||
)
|
||||
|
@ -182,7 +174,6 @@ k8s_resource(
|
|||
port_forwards=['1339'],
|
||||
links=[
|
||||
link('http://localhost:1339/admin'),
|
||||
link('http://strapi.futureporn.svc.cluster.local:1339'),
|
||||
link('https://strapi.piko.sbtp.xyz'),
|
||||
]
|
||||
)
|
||||
|
@ -206,3 +197,4 @@ k8s_resource(
|
|||
workload='pgadmin',
|
||||
port_forwards=['5050']
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in New Issue