aerokube / moon

Browser automation solution for Kubernetes and Openshift supporting Selenium, Playwright, Puppeteer and Cypress

Home Page:http://aerokube.com/moon/latest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

404 page not found when running Cypress test

AdamGoodApp opened this issue · comments

I have installed a fresh setup of Moon on my cluster.

I am trying to run a test on the Moon Cypress example, but when running npm run test I get the error:

npm run test

> moon-cloud-cypress-example@1.0.0 test
> cypress-moon 'https://moon.kawastream.com/cypress/chrome'

2024/06/15 19:15:51 Uploading context...
2024/06/15 19:15:53 bad http response: Not Found
404 page not found
2024/06/15 19:15:53 close tar writer: write |1: broken pipe

package.json

{
  "name": "moon-cloud-cypress-example",
  "version": "1.0.0",
  "description": "A minimalist example of running Cypress tests with Moon Cloud",
  "main": "",
  "repository": {
    "type": "git",
    "url": "git@github.com:aerokube/moon-cloud-cypress-example.git"
  },
  "scripts": {
    "test": "cypress-moon 'https://moon.kawastream.com/cypress/chrome'"
  },
  "devDependencies": {
    "@aerokube/cypress-moon": "^1.0.2",
    "mocha": "^9.0.1"
  }
}

Moon UI can be accessed ok https://moon.kawastream.com/#/

Running Traefik as Ingress controller

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: moon-ingress
  namespace: moon
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: websecure
    traefik.ingress.kubernetes.io/router.tls: "true"
    cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
  rules:
  - host: moon.kawastream.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: moon
            port:
              number: 8080
  tls:
  - secretName: web-app-cert
    hosts:
    - moon.kawastream.com

@AdamGoodApp in your chart we have more rules: https://github.com/aerokube/charts/blob/master/moon2/templates/ingress.yaml#L147 including rule for Cypress. Not sure whether in Traefik just / will match all URLs.