diff --git a/manifests/_apps/paradoxfox.yaml b/manifests/_apps/paradoxfox.yaml new file mode 100644 index 0000000..29f0f9b --- /dev/null +++ b/manifests/_apps/paradoxfox.yaml @@ -0,0 +1,29 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: paradoxfox + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: cluster.fun + destination: + namespace: paradoxfox + name: cluster-fun (scaleway) + source: + path: manifests/paradoxfox + repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" + targetRevision: HEAD + syncPolicy: + automated: {} + syncOptions: + - CreateNamespace=true + ignoreDifferences: + - kind: Secret + jsonPointers: + - /data + - /stringData + - group: apps + kind: Deployment + jqPathExpressions: + - .spec.template.spec.containers[]?.image diff --git a/manifests/paradoxfox/admin.yaml b/manifests/paradoxfox/admin.yaml new file mode 100644 index 0000000..daf78da --- /dev/null +++ b/manifests/paradoxfox/admin.yaml @@ -0,0 +1,89 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: paradoxfox-admin + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: admin +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: admin + template: + metadata: + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: admin + spec: + imagePullSecrets: + - name: docker-config + containers: + - name: paradoxfox-admin + image: rg.fr-par.scw.cloud/averagemarcus-private/paradoxfox-admin:latest + imagePullPolicy: Always + ports: + - containerPort: 9000 + name: web + env: + - name: NODE_ENV + value: "production" + - name: PORT + value: "9000" + - name: GATSBY_MEDUSA_BACKEND_URL + value: "https://api.paradoxfox.shop" + +--- + +apiVersion: v1 +kind: Service +metadata: + name: paradoxfox-admin + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: admin +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: web + name: web + selector: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: admin + +--- + +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: paradoxfox-admin + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: admin + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" +spec: + ingressClassName: nginx + tls: + - hosts: + - admin.paradoxfox.shop + secretName: paradoxfox-admin-ingress + rules: + - host: admin.paradoxfox.shop + http: + paths: + - path: / + pathType: ImplementationSpecific + backend: + service: + name: paradoxfox-admin + port: + number: 80 + +--- diff --git a/manifests/paradoxfox/api.yaml b/manifests/paradoxfox/api.yaml new file mode 100644 index 0000000..731e1ea --- /dev/null +++ b/manifests/paradoxfox/api.yaml @@ -0,0 +1,112 @@ +apiVersion: v1 +kind: Secret +metadata: + name: paradoxfox-api + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: api + annotations: + kube-1password: hypviaps3z54ujuj37d6vyaile + kube-1password/vault: Kubernetes + kube-1password/secret-text-parse: "true" +type: Opaque + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: paradoxfox-api + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: api +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: api + template: + metadata: + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: api + spec: + imagePullSecrets: + - name: docker-config + containers: + - name: paradoxfox-api + image: rg.fr-par.scw.cloud/averagemarcus-private/paradoxfox-api:latest + imagePullPolicy: Always + ports: + - containerPort: 9000 + name: web + env: + - name: PORT + value: "9000" + - name: NODE_ENV + value: "production" + - name: ADMIN_CORS + # value: "https://admin.paradoxfox.shop,http://localhost:7000,http://localhost:7001" + value: "https://admin.paradoxfox.shop" + - name: STORE_CORS + # value: "https://paradoxfox.shop,http://localhost:8000" + value: "https://paradoxfox.shop" + envFrom: + - secretRef: + name: paradoxfox-api + +--- + +apiVersion: v1 +kind: Service +metadata: + name: paradoxfox-api + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: api +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: web + name: web + selector: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: api + +--- + +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: paradoxfox-api + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: api + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" +spec: + ingressClassName: nginx + tls: + - hosts: + - api.paradoxfox.shop + secretName: paradoxfox-api-ingress + rules: + - host: api.paradoxfox.shop + http: + paths: + - path: / + pathType: ImplementationSpecific + backend: + service: + name: paradoxfox-api + port: + number: 80 + +--- diff --git a/manifests/paradoxfox/paradoxfox.yaml b/manifests/paradoxfox/paradoxfox.yaml new file mode 100644 index 0000000..825b0cc --- /dev/null +++ b/manifests/paradoxfox/paradoxfox.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Secret +metadata: + name: docker-config + namespace: paradoxfox + annotations: + kube-1password: i6ngbk5zf4k52xgwdwnfup5bby + kube-1password/vault: Kubernetes + kube-1password/secret-text-key: .dockerconfigjson +type: kubernetes.io/dockerconfigjson +data: + .dockerconfigjson: e30= + +--- diff --git a/manifests/paradoxfox/storefront.yaml b/manifests/paradoxfox/storefront.yaml new file mode 100644 index 0000000..26c6617 --- /dev/null +++ b/manifests/paradoxfox/storefront.yaml @@ -0,0 +1,109 @@ +apiVersion: v1 +kind: Secret +metadata: + name: paradoxfox-storefront + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: storefront + annotations: + kube-1password: p2lo4qsjg47vpncmmd6qyxatqy + kube-1password/vault: Kubernetes + kube-1password/secret-text-parse: "true" +type: Opaque + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: paradoxfox-storefront + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: storefront +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: storefront + template: + metadata: + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: storefront + spec: + imagePullSecrets: + - name: docker-config + containers: + - name: paradoxfox-storefront + image: rg.fr-par.scw.cloud/averagemarcus-private/paradoxfox-storefront:latest + imagePullPolicy: Always + ports: + - containerPort: 9000 + name: web + env: + - name: NODE_ENV + value: "production" + - name: PORT + value: "9000" + - name: NEXT_PUBLIC_MEDUSA_BACKEND_URL + value: "https://api.paradoxfox.shop" + envFrom: + - secretRef: + name: paradoxfox-storefront + +--- + +apiVersion: v1 +kind: Service +metadata: + name: paradoxfox-storefront + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: storefront +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: web + name: web + selector: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: storefront + +--- + +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: paradoxfox-storefront + namespace: paradoxfox + labels: + app.kubernetes.io/name: paradoxfox + app.kubernetes.io/component: storefront + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/temporal-redirect: https://www.etsy.com/shop/paradoxfoxuk +spec: + ingressClassName: nginx + tls: + - hosts: + - paradoxfox.shop + secretName: paradoxfox-storefront-ingress + rules: + - host: paradoxfox.shop + http: + paths: + - path: / + pathType: ImplementationSpecific + backend: + service: + name: paradoxfox-storefront + port: + number: 80 + +---