Backstage Templates with Terraform to create an EKS cluster and deploy a Node.js app

  Рет қаралды 4,942

TeKanAid

TeKanAid

Күн бұрын

🚀 "Unlock the Power of Backstage Software Templates: Spin Up a Node.js App on an EKS Cluster in Minutes! 🔥"
👉 Dive into this action-packed video where we'll walk you through creating a Node.js app on an AWS EKS cluster using Backstage Software Templates. Say goodbye to manual setups! Learn how to get your development environment up and running in record time, all while leveraging the power of GitHub actions and Terraform!
⭐ What you'll learn:
How to navigate Backstage and utilize its powerful templates.
The magic behind creating a Node.js app effortlessly.
How to get an EKS Cluster up and running in no time with Terraform.
🎯 Who should watch?
- DevOps engineers looking to speed up development workflows.
- Platform engineers interested in building self-service environments.
- Anyone who loves automation and hates manual work!
📚 Want more in-depth knowledge? Join TeKanAid Academy for courses, labs, and playgrounds all focused on Platform Engineering!
Don't forget to smash that "Like" button, hit "Subscribe," and ring the bell for more awesome content! 🛎️"
▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬
00:00 - Intro with Animation
05:29 - Demo Starts
09:18 - Detailed Explanation
18:18 - EKS Cluster Created
19:58 - Final Remarks
▬▬▬▬▬▬▬▬ Useful Links 🛠 ▬▬▬▬▬▬▬
- Blog post ► tekanaid.com/posts/backstage-...
- Code ► tekanaid.com/posts/backstage-...
- Backstage GitHub Repo ► github.com/backstage/backstage
▬▬▬▬▬▬▬▬ Playgrounds 🎠 ▬▬▬▬▬▬▬▬
- Free Playgrounds ► tekanaid.com/courses?category...
▬▬▬▬▬▬▬▬▬ Courses 🎓 ▬▬▬▬▬▬▬▬
- TeKanAid Academy Subscription ► bit.ly/subscription-premium
- Terraform 101 - Certified Terraform Associate ► bit.ly/hc-terraform-101
🎟️ Get 15% off of my Terraform 101 Course with this coupon ► KZbin15TF101
- HashiCorp Sentinel 101 ► bit.ly/hc-sentinel-101
- HashiCorp Vault 101 - Certified Vault Associate ► bit.ly/hc-vault-101
🎟️ Get 15% off of my Vault 101 Course with this coupon ► KZbin15VAULT101
- HashiCorp Vault 201 - Vault for Apps in Kubernetes ► bit.ly/hc-vault-201
- HashiCorp Vault 202 for Operators ► bit.ly/hc-vault-202
▬▬▬▬▬▬▬▬ Community 🌎 ▬▬▬▬▬▬▬▬▬
- TeKanAid Community Forum ► tekanaid.com/community
▬▬▬▬▬▬▬▬ Connect 👋 ▬▬▬▬▬▬▬▬▬
TeKanAid Academy ► tekanaid.com/courses
Website ► bit.ly/TeKanAid_Website
Facebook Page ► bit.ly/TeKanAid_Facebook
Don't forget to subscribe ► bit.ly/TeKanAid_KZbin_Subsc...
MEDIUM ► bit.ly/Sam_Medium
TWITTER TeKanAid ► bit.ly/TeKanAid_Twitter
TWITTER Sam ► bit.ly/Sam_Twitter
LINKEDIN TeKanAid ► bit.ly/TeKanAid_LinkedIn
LINKEDIN Sam ► bit.ly/Sam_linkedin

Пікірлер: 35
@rishikakhajuria2802
@rishikakhajuria2802 18 күн бұрын
@TeKanAid i need to implement this is my backstage app but only the example node.js template is available and i cant see the Node.js app on AWS EKS cluster. can u tell me how to configure that and what am I missing..? and how to do this if i want to use GCPA instead...?
@TeKanAid
@TeKanAid 17 күн бұрын
In this video I actually don't deploy the node.js app. I recommend you watch this video which is part 2 of a two-part series where I show you how to deploy. kzbin.info/www/bejne/epCWomd-mqarppo
@mophez
@mophez 2 ай бұрын
thanks, great video. But where is the part where you deploy Node JS app on k8? i can only see from tutorial that you are dumping NodeJS files in user-defined repo, then running a terraform pipeline. When and where do you deploy the app on top?
@TeKanAid
@TeKanAid 2 ай бұрын
I think I missed that part but I created a two-part series that go into this in more detail. The second part deploys a go API on kubernetes with Argo CD all with backstage as the portal. Here are the two videos. kzbin.info/www/bejne/n3WynJqsr5dqn68 kzbin.info/www/bejne/epCWomd-mqarpposi=VGdkeMgG1S5h-_Z7
@Skkhan940
@Skkhan940 22 күн бұрын
i need you create my own back stage how create me please help me any one
@TeKanAid
@TeKanAid 17 күн бұрын
I recommend you watch this video and also part 2 of it. kzbin.info/www/bejne/n3WynJqsr5dqn68
@ReneeLv-xe2fq
@ReneeLv-xe2fq Ай бұрын
Hi Sam, thanks so much. What backstage terraform plugin do you use in this demo? It really helpful.
@TeKanAid
@TeKanAid Ай бұрын
Thank you, I’m using Terraform modules for AWS like the EKS one and Backstage is just calling a GitHub action to build everything. You can find more info in the blog post: tekanaid.com/posts/backstage-software-templates
@yogithakakarla1716
@yogithakakarla1716 3 ай бұрын
After deploying eks cluster, how do we get cluster details as output . Like how we get in terraform
@TeKanAid
@TeKanAid 3 ай бұрын
This is something I'm thinking about at the moment. It probably would be a good idea to store that in a Secrets management tool such as akeyless or hashicorp vault. I think we would need to create a backstage plug-in that listens to a job that is completed. It needs to give some feedback to the operator in the front end. Currently I'm integrating GitHub actions as part of the cicd section in backstage so you could monitor the progress there.
@geethareddy2213
@geethareddy2213 3 ай бұрын
@TeKanAid : Require you help as Iam facing below issue in terraform. I am building windows VM in vmware using Terraform . Issue 1: Sometimes my VM is taking time to boot and during that it is skipping the domain joining customization process. Is there any way to hold the customization process untill the VM boots up completely. Issue 2 : I want to move my VM to specific OU in AD after build
@TeKanAid
@TeKanAid 3 ай бұрын
here's a decent answer from ChatGPT, although I don't prefer using provisioners in terraform and rather use a configuration manager tool like ansible For Issue 1: If your VM is taking time to boot and it’s skipping the domain joining process because of that, you might want to add a delay or check within your Terraform configuration. One way to handle this is by using a provisioner that can pause until the VM is fully booted. Here’s a basic example using a remote-exec provisioner that simply waits before proceeding: resource "vsphere_virtual_machine" "vm" { # your existing config provisioner "remote-exec" { inline = [ "while ! timeout 30 ping -c 1 -n YOUR_VM_IP; do sleep 10; done" ] } } This snippet tries to ping the VM until it's responsive, ensuring it's up before moving forward. You might need to tweak the timeout and sleep values based on your environment's specifics. For Issue 2: To move your VM to a specific Organizational Unit (OU) in Active Directory, you’ll need to script this out as part of your deployment process, either through initial provisioning with Terraform using a remote-exec provisioner or through a configuration management tool like Ansible, which you might be using. Here’s a pseudo way to do it using PowerShell that you can call via remote-exec provisioner "remote-exec" { inline = [ "powershell.exe -Command \"Add-Computer -DomainName 'yourdomain.com' -OUPath 'OU=YourOU,DC=yourdomain,DC=com'\"" ] } This PowerShell command adds the computer to the domain and specifies the OU during the join process. Make sure the account used has permissions to join computers to the domain and move them in AD.
@tomasferrari92
@tomasferrari92 5 ай бұрын
Hey Sam, thank you for the great tutorial! One question. Where can I find the template.yaml you use in the video? I can't seem to find it in the samgabrail/backstage repo
@TeKanAid
@TeKanAid 5 ай бұрын
Hi Tomas, you'll find it in this folder my-backstage-app/packages/backend/templates/eks-cluster
@miraccan00
@miraccan00 2 ай бұрын
@@TeKanAid you could send link directly lol :D
@parthbhargava-0703
@parthbhargava-0703 6 ай бұрын
Where did you provide aws details ? (ami) where EKS is going to be made?
@TeKanAid
@TeKanAid 6 ай бұрын
They were not exposed to the developer. The platform engineer has the option to do that depending on company policies. You see more variable details in the Terraform configuration
@parthbhargava-0703
@parthbhargava-0703 6 ай бұрын
I am facing the error while making the cluster "No matching integration configuration for host https, please check your integrations config" please help if possible
@TeKanAid
@TeKanAid 6 ай бұрын
It is very difficult to troubleshoot without some better context. Where did you get this error? in terraform? Did you follow all the instructions in the video? Where are you stuck?
@parthbhargava-0703
@parthbhargava-0703 6 ай бұрын
There is a issue "not found" when triggerring github action . Please help me through the process
@TeKanAid
@TeKanAid 6 ай бұрын
it typically means there's a misconfiguration or a missing piece in your setup. Did you follow the video? Here's a step-by-step guide to troubleshoot this: Check Your Workflow File: First, make sure your .github/workflows directory contains the correct workflow file (usually a .yml or .yaml file). Ensure the file name and path are correct. YAML Syntax: YAML can be finicky. Double-check for syntax errors like incorrect indentation, missing colons, or typos. YAML linters can help with this. Repository Settings: Verify that GitHub Actions is enabled in your repository settings. Sometimes it’s disabled by default, especially in forked repositories. Action Versions: If you're using third-party actions in your workflow, ensure that you're pointing to a valid version of these actions. Sometimes, if an action is outdated or the version number is wrong, it can cause issues. Branch Names: If your workflow is triggered on push or pull requests, ensure the branch names in the workflow file match the actual branches in your repo. Secrets and Environment Variables: If your workflow requires secrets (like API keys) or environment variables, make sure they are correctly set up in your repository settings. Permissions: Check if the GitHub token or any custom PAT (Personal Access Token) you are using has the necessary permissions. Dependencies: If your action relies on external scripts or packages, ensure they are accessible and not causing the "not found" error. Check GitHub Status: Sometimes the issue might be on GitHub's end. Check GitHub Status to see if there are any ongoing issues with GitHub Actions. Logs: Lastly, dive into the execution logs of the failed run. They can provide more specific clues as to what's going wrong.
@vinodsahi
@vinodsahi 7 ай бұрын
Good One.. I am facing this error Error: Apply not allowed for workspaces with a VCS connection │ │ A workspace that is connected to a VCS requires the VCS-driven workflow to │ ensure that the VCS remains the single source of truth.
@TeKanAid
@TeKanAid 7 ай бұрын
Thanks, you will need to use CLI driven workflow in your workspace.
@vinodsahi
@vinodsahi 7 ай бұрын
@@TeKanAid I have tested the destroy action also ..it works like a champ.. thanks a lot
@vinodsahi
@vinodsahi 7 ай бұрын
Is nodeJs app will be deployed with this?
@TeKanAid
@TeKanAid 7 ай бұрын
It creates a repo with the node.js app and deploys an eks cluster. I didn't include the deployment manifest for the app on the eks cluster. But this should be pretty straightforward to implement. I may add it when I get some time. You can also add it to the github workflow to get it deployed on the cluster. The idea is to get an eks cluster ready for a developer to work with.
@user-ns3si4vc4u
@user-ns3si4vc4u 8 ай бұрын
can you provide the module access which you are using in this video for testing @tekanaid
@TeKanAid
@TeKanAid 8 ай бұрын
Just added it and here it is again github.com/samgabrail/terraform-aws-eks
@user-wc4ry1ct9n
@user-wc4ry1ct9n 5 ай бұрын
Can you put a video in tec docs please
@TeKanAid
@TeKanAid 5 ай бұрын
Yes i have it on my list, thank you for the suggestion
@cdenneen
@cdenneen 6 ай бұрын
Creating a cluster per app seems a little inefficient. Would be nice to show platform engineering template to create clusters (not available to developers) and then create nodejs app component that you select a cluster from registered clusters. So platform engineers can self service creating clusters that register and then those clusters are available to developers to deploy their apps to. Bit of RBAC to hide EKS template from developers but expose to PE.
@TeKanAid
@TeKanAid 6 ай бұрын
Yes I completely agree. Great suggestion. I still need to investigate the kubernetes plugin. I want to see how much I can get away with not having to build my own plugins. I'll definitely keep this in mind for a future video. Thanks again for the suggestion.
@user-ob6ju1uz6h
@user-ob6ju1uz6h 8 ай бұрын
Good job @tekanaid
@TeKanAid
@TeKanAid 8 ай бұрын
Thank you!
Double Stacked Pizza @Lionfield @ChefRush
00:33
albert_cancook
Рет қаралды 88 МЛН
Useful gadget for styling hair 🤩💖 #gadgets #hairstyle
00:20
FLIP FLOP Hacks
Рет қаралды 8 МЛН
A little girl was shy at her first ballet lesson #shorts
00:35
Fabiosa Animated
Рет қаралды 12 МЛН
Software Templates - Backstage with OrkoHunter
1:26:00
OrkoHunter
Рет қаралды 7 М.
Backstage.io - An Open Source Portal for Taming Developer Chaos
6:21
IBM Technology
Рет қаралды 10 М.
Backstage Helm Chart
8:51
Platformers Community
Рет қаралды 591
What is Backstage.io in 10 minutes | Backstage Introduction
9:12
How To Build A UI For An Internal Developer Platform (IDP) With Port?
49:16
What is a Platform Engineer?
6:10
HashiCorp
Рет қаралды 39 М.
How To Structure A Programming Project…
19:00
Tech With Tim
Рет қаралды 91 М.
Я купил первый в своей жизни VR! 🤯
1:00
Вэйми
Рет қаралды 2,8 МЛН
Tag her 🤭💞 #miniphone #smartphone #iphone #samsung #fyp
0:11
Pockify™
Рет қаралды 73 МЛН
Как распознать поддельный iPhone
0:44
PEREKUPILO
Рет қаралды 2,2 МЛН