Really good job mr. Good Guy! I am starting as a junior DevOps Engineer with minimum experience and was thrown into Backstage never working with it. I find this series extremely helpful and I hope you will keep posting more and more videos!! for example securing your app with SSL or pretty much enything. Just a small detail, though it might be silly for others. For the next videos if your camera stops working or you do not record a certain part of tutorial, please get back to it. (like here when you skip a detailed part with github tokens) tho probably its better for me to explore and try to figure it out. anyways, keep it up, great videos, you earned yourself a sub
Thank you very much and good luck with your first job! Thank you for the feedback! I will try to be more specific on any part of the tutorial. I will continue to create videos, and I hope that you will find them useful along the way.
The entire video series is really nice. We don't have better and concise videos in the YT. Is there any plan to come up with a video on one end to end project with the YAML templates, Catalog graph??
Thank you very much!Could you please put a video on how to create templates on Backstage?Like for example: My team needs a GO Repo with some predefined files.How can I provide this to them via Backstage?
Fantástica abordagem. Realmente entregou valor para mim. Agora tenho material para estudar por um bom tempo... Espero poder ver mais vídeos como esse... Quem sabe uma POC de um SRE rsrsrs
@@the_good_guy Rodou tudo 100% na máquina local. Porém, ao tentar rodar dentro do Github Codespaces, não consegui fazer o forward de porta para o nosso cluster. Você já pensou nessa abordagem?
thank you for the amazing tutorial. My issue is, plugins directory and types.ts file under packages/backend are missing on my boilerplate code provided by executing `npx @backstage/create-app@latest`. Do we need to manually introduce them in the project?
Hi, Is it neccessary to checkout source code? I'm confused because you run "npx @backstage/create-app" command and this command creates neccessary files for docker build am I wrong?
I checked the workshop for a specific version, if there will be a breaking change the checkout version will work. The app creation command creates the Dockerfile as you mentioned - you are right.
@@the_good_guy Thanks for the reply . My question is the npx package created from the source code you checked out or from somewhere different? Becase I can run npx create package without checking out source code. What's the difference?
thanks for this video. My issue is after deploying i am taken to a guest user mode page and i am trying to see it authenticate my github profile. I don't kone how to fix that.
Which version are you trying to deploy? I now in recent version a few things changed in the authentication. You can checkout to my version if you want to.
Thank You :) I have followed the exact steps and got it deployed to Amazon EKS. but after port forwarding I am getting 401 Unauthorized error , adjusted the app-config.yaml, image rebuilt but still same. Seeking for pointers here o/
@@the_good_guy I was ing 1.31.2 but tried 1.13.1 as well. So now they seem to have an option that is required to be added under auth for enabling guest (outside dev, like in kubernetes)
Got it, do you know what configuration is required? If not I will take a look. Unfortunately, TH-cam doesn't allow editing videos, but I can add it the description so people will be able to use it in the future.
@@the_good_guy yes. In the auth section of the app-config where there is auth: guest: {} We have to make it as: auth: providers: guest: dangerouslyAllowOutsideDevelopment: true
Amazing! Thank you! I will add it! Do you want to commit to this repo the change? github.com/guymenahem/how-to-devops-tools/tree/main/backstage You deserve to be the author of this commit
Hi, Thanks for the video! I am getting this error in the backstage pod after following the steps - Error: Failed to instantiate service 'core.tokenManager' for 'search' because the factory function threw an error, Error: Failed to instantiate service 'core.tokenManager' because createRootContext threw an error, Error: You must configure at least one key in backend.auth.keys for production. I have added that key to the config files, and also rebuild the image, still hitting the issue. Can you help me here?
Thank you very much for this tutorial! But at the end, I can not see the pods logs using kubernetes plugin. Show this error: Proxy request failed with 500 Internal Server Error, {"error":{"name":"Error","message":"Cluster 'kind-local' request error; caused by Error: connect ECONNREFUSED ::1:80","cause":{"errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"::1","port":80,"name":"Error","message":"connect ECONNREFUSED ::1:80","stack":"Error: connect ECONNREFUSED ::1:80 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)"},"level":"error"},"request":{"method":"GET","url":"/api/kubernetes/proxy/api/v1/namespaces/default/pods/users-api-nginx-589dd64f99-589fn/log?container=nginx"},"response":{"statusCode":500}} I tried add this clusterrole, but no success: github.com/backstage/backstage/blob/master/docs/features/kubernetes/configuration.md#role-based-access-control
First of all, it means that you reach the end of the guide and everything is running. Can you check the kube-api logs as well? It seems like the connection refused for some reason Sorry for taking me a little bit long to reply
This was very helpful, thanks for sharing this in depth guide !
Really good job mr. Good Guy!
I am starting as a junior DevOps Engineer with minimum experience and was thrown into Backstage never working with it.
I find this series extremely helpful and I hope you will keep posting more and more videos!! for example securing your app with SSL or pretty much enything.
Just a small detail, though it might be silly for others. For the next videos if your camera stops working or you do not record a certain part of tutorial, please get back to it.
(like here when you skip a detailed part with github tokens)
tho probably its better for me to explore and try to figure it out.
anyways, keep it up, great videos, you earned yourself a sub
Thank you very much and good luck with your first job!
Thank you for the feedback! I will try to be more specific on any part of the tutorial.
I will continue to create videos, and I hope that you will find them useful along the way.
Wow I am exactly in a situation like yours
Very helpful! And could you provide your zsh shell prompt variable?
Thank you! I use zsh, powerlevel10k & fig. I can send you my configuration, send me an email to guy@thegoodguy.io.
nice! on my tests the k8s plugin not showing, maybe another video with more examples.
Hi! Do you get an error message? If you do, what is it?
I've tested it recently and it worked 😅
The entire video series is really nice. We don't have better and concise videos in the YT.
Is there any plan to come up with a video on one end to end project with the YAML templates, Catalog graph??
I will make more videos, and your ideas added to the list! I haven't decided which yet.
Thank you very much!Could you please put a video on how to create templates on Backstage?Like for example: My team needs a GO Repo with some predefined files.How can I provide this to them via Backstage?
I will try to, I'm now working on a series called 30 Days of CNCF Projects but maybe after
@@the_good_guy Thank you very much, this will be very useful on my job.
Fantástica abordagem. Realmente entregou valor para mim. Agora tenho material para estudar por um bom tempo... Espero poder ver mais vídeos como esse... Quem sabe uma POC de um SRE rsrsrs
Thank you!!!!
@@the_good_guy Rodou tudo 100% na máquina local.
Porém, ao tentar rodar dentro do Github Codespaces, não consegui fazer o forward de porta para o nosso cluster.
Você já pensou nessa abordagem?
Atualizando: @@the_good_guy Deu tudo certo...
@@pablue eai blz? tu conseguiu ver os logs do pod no final?
@@andreykf funcionou com algumas atualizações.
Tem o repositório publicado se você quiser.
thank you for the amazing tutorial. My issue is, plugins directory and types.ts file under packages/backend are missing on my boilerplate code provided by executing `npx @backstage/create-app@latest`. Do we need to manually introduce them in the project?
It should be available there OOTB, do you use the right version of yarn?
Is it docker necesary? Or can I just go localhost only
Hi, Is it neccessary to checkout source code? I'm confused because you run "npx @backstage/create-app" command and this command creates neccessary files for docker build am I wrong?
I checked the workshop for a specific version, if there will be a breaking change the checkout version will work.
The app creation command creates the Dockerfile as you mentioned - you are right.
@@the_good_guy Thanks for the reply . My question is the npx package created from the source code you checked out or from somewhere different? Becase I can run npx create package without checking out source code. What's the difference?
thanks for this video. My issue is after deploying i am taken to a guest user mode page and i am trying to see it authenticate my github profile. I don't kone how to fix that.
Which version are you trying to deploy? I now in recent version a few things changed in the authentication. You can checkout to my version if you want to.
Thank You :)
I have followed the exact steps and got it deployed to Amazon EKS.
but after port forwarding I am getting 401 Unauthorized error , adjusted the app-config.yaml, image rebuilt but still same. Seeking for pointers here o/
What version have you checked in to?
You can use this Helm chart on EKS - github.com/PlatformersCommunity/backstage-helm-chart
@@the_good_guy I was ing 1.31.2
but tried 1.13.1 as well.
So now they seem to have an option that is required to be added under auth for enabling guest (outside dev, like in kubernetes)
Got it, do you know what configuration is required? If not I will take a look.
Unfortunately, TH-cam doesn't allow editing videos, but I can add it the description so people will be able to use it in the future.
@@the_good_guy yes.
In the auth section of the app-config where there is
auth:
guest: {}
We have to make it as:
auth:
providers:
guest:
dangerouslyAllowOutsideDevelopment: true
Amazing! Thank you! I will add it!
Do you want to commit to this repo the change? github.com/guymenahem/how-to-devops-tools/tree/main/backstage
You deserve to be the author of this commit
Hi,
Thanks for the video!
I am getting this error in the backstage pod after following the steps -
Error: Failed to instantiate service 'core.tokenManager' for 'search' because the factory function threw an error, Error: Failed to instantiate service 'core.tokenManager' because createRootContext threw an error, Error: You must configure at least one key in backend.auth.keys for production.
I have added that key to the config files, and also rebuild the image, still hitting the issue. Can you help me here?
H,i have you managed to fix it?
I am facing the same issue :( @shivam or @the_good_guy have yall been able to find any fix for this?
can you show to deploy in cloud kubernetes cluster rather than in local cluster ?
We can do it but it's the same thing as you need to upload your image to a public registry and pull it from there
If something need the version 1 for something as central as yarn, then you might consider to not using it :)
☺️
The migration process is in progress
You can find more information here - backstage.io/docs/tutorials/yarn-migration/
Thank you very much for this tutorial!
But at the end, I can not see the pods logs using kubernetes plugin. Show this error:
Proxy request failed with 500 Internal Server Error, {"error":{"name":"Error","message":"Cluster 'kind-local' request error; caused by Error: connect ECONNREFUSED ::1:80","cause":{"errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"::1","port":80,"name":"Error","message":"connect ECONNREFUSED ::1:80","stack":"Error: connect ECONNREFUSED ::1:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16)"},"level":"error"},"request":{"method":"GET","url":"/api/kubernetes/proxy/api/v1/namespaces/default/pods/users-api-nginx-589dd64f99-589fn/log?container=nginx"},"response":{"statusCode":500}}
I tried add this clusterrole, but no success:
github.com/backstage/backstage/blob/master/docs/features/kubernetes/configuration.md#role-based-access-control
First of all, it means that you reach the end of the guide and everything is running. Can you check the kube-api logs as well? It seems like the connection refused for some reason
Sorry for taking me a little bit long to reply