Comments (33)
Works!!! in my case with ELB (classic load balancer) I only need to modified this:
helm-charts/charts/testkube/values.yaml
Line 199 in 16798c8
The guide it's perfect when I migrate to ALB in AWS ;) thank you!!
from helm-charts.
Hey, @robervexcel Hope, you saw this guide https://kubeshop.github.io/testkube/using-testkube/UI/#configure-ingress-for-results-endpoint
We don't need to enable cli ingress, only testkube-api ui ingress and dashboard ingress as in a guide above.
Please make sure you properly exposed your Testkube api endpoint
it should be available for requests as curl -v http://yourdomain.com/results/v1/info
from helm-charts.
Thanks for reply
> curl -v http://myURL/results/v1/info
* Trying X.X.X.170:80...
* TCP_NODELAY set
* Connected to myURL (X.X.X.170) port 80 (#0)
> GET /results/v1/info HTTP/1.1
> Host: myURL
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Fri, 03 Feb 2023 12:00:29 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 3476
< Connection: keep-alive
< Last-Modified: Wed, 01 Feb 2023 17:09:10 GMT
< Vary: Accept-Encoding
< ETag: "63da9cb6-d94"
< Accept-Ranges: bytes
Yes it's available :/ but in my dashboard GUI I receive the error
Is it necessary to perform some test before? (I think that need some test to show...)
from helm-charts.
Sounds like, something is wrong with ingress config. You get html content, when it should return a small json object
from helm-charts.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ui-testkube-api-server-testkube
namespace: testkube
resourceVersion: '394515385'
generation: 3
creationTimestamp: '2023-02-03T08:57:51Z'
labels:
app.kubernetes.io/instance: testkube
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: api-server
app.kubernetes.io/version: 1.9.1
gitops.jenkins-x.io/pipeline: namespaces
helm.sh/chart: testkube-api-1.9.1
annotations:
kubectl.kubernetes.io/last-applied-configuration: >
XXXX
kubernetes.io/ingress.class: nginx-private
meta.helm.sh/release-name: testkube
managedFields:
- manager: nginx-ingress-controller
operation: Update
apiVersion: networking.k8s.io/v1
time: '2023-02-03T08:57:52Z'
fieldsType: FieldsV1
fieldsV1:
f:status:
f:loadBalancer:
f:ingress: {}
subresource: status
- manager: kubectl-client-side-apply
operation: Update
apiVersion: networking.k8s.io/v1
time: '2023-02-03T09:24:19Z'
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:kubectl.kubernetes.io/last-applied-configuration: {}
f:kubernetes.io/ingress.class: {}
f:meta.helm.sh/release-name: {}
f:labels:
.: {}
f:app.kubernetes.io/instance: {}
f:app.kubernetes.io/managed-by: {}
f:app.kubernetes.io/name: {}
f:app.kubernetes.io/version: {}
f:helm.sh/chart: {}
- manager: node-fetch
operation: Update
apiVersion: networking.k8s.io/v1
time: '2023-02-03T11:05:23Z'
fieldsType: FieldsV1
fieldsV1:
f:spec:
f:rules: {}
selfLink: >-
/apis/networking.k8s.io/v1/namespaces/testkube/ingresses/ui-testkube-api-server-testkube
status:
loadBalancer:
ingress:
- hostname: >-
XXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXX.amazonaws.com
spec:
rules:
- host: testkube.myurl
http:
paths:
- path: /results/(v\d/executions.*)
pathType: Prefix
backend:
service:
name: testkube-api-server
port:
number: 8088
Do you think something is wrong? I only change the ingresclass and URL name in default values of helm chart
from helm-charts.
yes, /results/(v\d.*)
from helm-charts.
Thank you for your response
Something is wrong here in this case ->
helm-charts/charts/testkube/values.yaml
Line 199 in 16798c8
Anyway, I received the same error:
from helm-charts.
and same curl response?
from helm-charts.
Also could you please add path: /
to dashboard Ingress as well? Also what do you see when you describe Ingress resources?
kubectl describe ingress name -n testkube
?
from helm-charts.
Hi @ypoplavs . Unfortunately I am also experiencing the same problem.
I already have the path: /
in my dashboard ingress
from helm-charts.
> curl -v http://testkube.XXXXX.com/results/v1/info
* Trying 10.100.162.170:80...
* TCP_NODELAY set
* Connected to testkube.XXXX.com (X.X.X.X) port 80 (#0)
> GET /results/v1/info HTTP/1.1
> Host: testkube.XXXXX.com
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Mon, 06 Feb 2023 10:23:32 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 3476
< Connection: keep-alive
< Last-Modified: Wed, 01 Feb 2023 17:09:10 GMT
< Vary: Accept-Encoding
< ETag: "63da9cb6-d94"
< Accept-Ranges: bytes
@ypoplavs My ingress dashboard:
from helm-charts.
Please add this path
to your testkube-api UI Ingress path: /results/(v\d/.*)
.
Also can you please send me all your values.yaml
file? I will run it on my set-up.
from helm-charts.
I made the change that you said but the error is the same
My values are in the first post :)
from helm-charts.
Please set apiServerEndpoint: testkube.myurl.com/results
and check the Ingress for errors.
If no luck, let's schedule a call so we can go through the config together: https://calendly.com/yulia-poplavska/30min-1?month=2023-02
You can book a meeting through a Calendly for tomorrow and we can talk today if you're free.
from helm-charts.
@ypoplavs : I still have the issue.
Btw, I am using the AWS EKS cluster for the installation. Does that change something?
from helm-charts.
@ashishkurian are you available for a call now?
from helm-charts.
@ypoplavs : Yes. I can take a call now.
from helm-charts.
Please join: https://meet.google.com/aqq-mico-iqp
from helm-charts.
@ypoplavs : Did you manage to test it on your aws setup?
from helm-charts.
@ashishkurian is the MongoDB pod running?
from helm-charts.
@ypoplavs : Yes the mongodb pod is running.
Also, there are no errors in the events for the mogodb pod
from helm-charts.
@ashishkurian I have replicated your configuration in my AWS cluster. Can we schedule a call to go through it?
from helm-charts.
@ypoplavs How about 13.30 CET today?
from helm-charts.
@ashishkurian sure
Video call link: https://meet.google.com/kqk-zriy-tsm
from helm-charts.
hi @robervexcel, any luck with the Ingresses?
Please use my Calendly to schedule a call so we could find issue: https://calendly.com/yulia-poplavska/30min-1?month=2023-02
from helm-charts.
@ypoplavs : I can confirm that the setup now works for me after our discussions. However, to help others with the resolution, I am commenting it here.
As I understand, we need to have a unique urls for both the dashboard and testkube-api end points. That is not the case if we are testing with minikube on local setup. Could this be somehow related to the AWS EKS setup I am using, that we need to have a unique url for both dasboard and testkube-api ?
Second thing, we need to specify the api url under the testkube-dashboard values >> testkube-dashboard.apiServerEndpoint
And, the annotations for the services are not necessary as I tested the installation without them and it still works
from helm-charts.
Nice to hear that, @ashishkurian!
Yes, this is AWS-related setup. We cannot create the same DNS name in Route 53, thus, endpoints must be unique.
We are now writing a user guide that will ease installation of Testkube in AWS with ALB Ingress Controller.
Thank you for using Testkube :)
from helm-charts.
@ashishkurian If I understand, you put in testkube-dashboard.apiServerEndpoint -> myurl/results/v1 and this "myurl" must be different that testkube-api.ingress.hosts
Does is correct?
@ypoplavs I appreciate this guide :)
from helm-charts.
@robervexcel : Yes. The 'myurl' must be the testkube-api.uiIngress.hosts
from helm-charts.
@robervexcel was your configuration successful? Please let me know if any assistance is needed.
from helm-charts.
It doesn't work in my case with AWS ELB balancers
I tried 1.9.57 of helm chart, with and without https, incognito windows, differents browsers... etc
My values of chart:
testkube-dashboard:
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
hosts:
- testkube.MYURL.com
apiServerEndpoint: https://testkube-api.MYURL.com/results/v1
testkube-api:
uiIngress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
hosts:
- testkube-api.MYURL.com
I tried to launch some tests to have "something" inside
from helm-charts.
@robervexcel : As per my understanding, we need to use the kubernetes.io/ingress.class: alb
as mentioned here to create the LBs in the aws.
Or do you already have the LBs created with these annotations?
Otherwise the config looks good to me. Maybe I will advice the following suggestions for you to try.
- I had set
testkube-api.uiIngress.path: /results/v1
andtestkube-dashboard.ingress.path:/
- I would try the urls differently like:
testkube-api.MYURL.com
andtestkube-dashboard.MYURL.com
- Ingress annotations to make the ALBs external. In my case, they are internal.
- I do not see the annotations for the ingress like:
alb.ingress.kubernetes.io/certificate-arn
andexternal-dns.alpha.kubernetes.io/hostname
- For the api ingress, we need the health check path to be set using the annotatin:
alb.ingress.kubernetes.io/healthcheck-path: "/health"
from helm-charts.
@robervexcel please follow the guide below: https://testkube.io/blog/guide-to-deploying-testkube-on-aws
It's important to configure annotations like specified in a guide.
from helm-charts.
Related Issues (20)
- Make cronjob-template.yaml overridable HOT 4
- global.imageRegistry is not taken into account for all images HOT 7
- Ingress ClassName for helm chart 1.15.28 HOT 1
- testkube-operator-controller-manager proxy container image doesn't support arm64 HOT 1
- Make it possible to pass in labels and annotations that the operator will apply to all dynamically created objects (via the Go templates). HOT 11
- feat: (testkube-api) All job templates should be configurable as cleartext HOT 4
- apiServerEndpoint and internal cluster svc HOT 2
- Allow PathType for ingress to be defined other than Prefix HOT 1
- Documentation for Installation und Maintenance of Testkube via GitOps and ArgoCD HOT 1
- testkube-api-server pod keep print error log HOT 2
- Cannot load tests and testsuites after unintall and install helm without remove pvc HOT 6
- creating tests in different namespaces HOT 7
- Scheduling test does not work HOT 3
- Make the artifacts volume size configurable HOT 2
- Custom cronjobs template HOT 10
- Add capability to limit the ValidatingWebhookConfiguration to a single namespace. HOT 2
- Add the possibility to globally set tolerations and nodeSelector HOT 3
- testkube-playwright-executor error on arm64/aarch64 HOT 8
- Secrets
- Global values.yaml limit test creation source to only GIT for all test types. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from helm-charts.