{"id":15619239,"url":"https://github.com/xavidop/alexa-nodejs-k8s-helloworld","last_synced_at":"2025-07-10T19:04:26.094Z","repository":{"id":44757397,"uuid":"324745584","full_name":"xavidop/alexa-nodejs-k8s-helloworld","owner":"xavidop","description":"Alexa Skill running in k8s","archived":false,"fork":false,"pushed_at":"2024-11-23T17:10:49.000Z","size":4745,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-28T17:18:20.068Z","etag":null,"topics":["aks","aks-kubernetes-cluster","alexa","alexa-skill","devspace","docker","eks","eks-cluster","gke","gke-cluster","helm","kubernetes","nodejs","terraform"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xavidop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-27T11:21:09.000Z","updated_at":"2024-09-30T13:50:36.000Z","dependencies_parsed_at":"2024-12-09T13:41:28.865Z","dependency_job_id":"0d187ffc-204e-4199-a01e-f26f8ca5b857","html_url":"https://github.com/xavidop/alexa-nodejs-k8s-helloworld","commit_stats":{"total_commits":25,"total_committers":3,"mean_commits":8.333333333333334,"dds":"0.19999999999999996","last_synced_commit":"992d450468b3e804086927fe1d41e266e1244f50"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xavidop/alexa-nodejs-k8s-helloworld","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavidop%2Falexa-nodejs-k8s-helloworld","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavidop%2Falexa-nodejs-k8s-helloworld/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavidop%2Falexa-nodejs-k8s-helloworld/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavidop%2Falexa-nodejs-k8s-helloworld/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xavidop","download_url":"https://codeload.github.com/xavidop/alexa-nodejs-k8s-helloworld/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavidop%2Falexa-nodejs-k8s-helloworld/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264638252,"owners_count":23642132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aks","aks-kubernetes-cluster","alexa","alexa-skill","devspace","docker","eks","eks-cluster","gke","gke-cluster","helm","kubernetes","nodejs","terraform"],"created_at":"2024-10-03T08:03:52.860Z","updated_at":"2025-07-10T19:04:25.785Z","avatar_url":"https://github.com/xavidop.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alexa Running in Kubernetes\n\n\u003c!-- TOC --\u003e\n\n- [Alexa Running in Kubernetes](#alexa-running-in-kubernetes)\n    - [Alexa Skill as a web server](#alexa-skill-as-a-web-server)\n    - [MongoDB persistence adapter](#mongodb-persistence-adapter)\n    - [Dockerizing the Alexa Skill](#dockerizing-the-alexa-skill)\n    - [Kubernetes objects of the Alexa Skill](#kubernetes-objects-of-the-alexa-skill)\n    - [Helm chart of the Alexa skill](#helm-chart-of-the-alexa-skill)\n    - [Local development and Deployment with DevSpace](#local-development-and-deployment-with-devspace)\n    - [Terraform.](#terraform)\n        - [Deploying the Alexa Skill on AWS Elastic Kubernetes Services](#deploying-the-alexa-skill-on-aws-elastic-kubernetes-services)\n        - [Deploying the Alexa Skill on Azure Kubernetes Services](#deploying-the-alexa-skill-on-azure-kubernetes-services)\n        - [Deploying the Alexa Skill on Google Kubernetes Engine](#deploying-the-alexa-skill-on-google-kubernetes-engine)\n\n\u003c!-- /TOC --\u003e\n\nIn this repository you will find all the resources needed to transform or create an Alexa Skill as an NodeJS Express app ready to run on Kubernetes.\nThese are the two possible options you can use for running your Alexa Skill on kubernetes:\n\n**1. Using Mongo Atlas Cloud Schema**\n![image](img/atlas.png)\n\n**2. Using Provided Mongo Schema**\n![image](img/provided.png)\n\nThose multiple options are supported by this implementation.\n\nThese are the main folders of the project:\n\n```bash\n    ├───.vscode\n    ├───alexa-skill\n    ├───app\n    ├───docker\n    ├───helm\n    └───terraform\n        ├───eks\n        ├───aks\n        └───gke\n```\n\n* **.vscode:** launch preferences to run locally your Skill for local testing.\n* **alexa-skill:** this folder contains all the metadata of the Alexa Skill such as the interaction model, assets, Skill manifest, etc. In this folder you will be able to run all the `ask cli` commands.\n* **app:** the backend of the Alexa Skill a NodeJS app using Express.\n* **docker:** where you can find the Dockerfile of the Alexa Skill backend as a NodeJS app.\n* **helm:** the helm chart of the Alexa Skill ready to be deployed on any Kubernetes Cluster.\n* **terraform:** Terraform files per different kind of private clouds.\n  * **eks:** All the files needed to deploy an Alexa Skill and a Kubernetes Cluster on AWS Elastic Kubernetes Service.\n  * **aks:** All the files needed to deploy an Alexa Skill and a Kubernetes Cluster on Azure Kubernetes Service.\n  * **gke:** All the files needed to deploy an Alexa Skill and a Kubernetes Cluster on Google Kubernetes Engine.\n\n\nLet's explain all the steps required to create an Alexa Skill and deploy it on a Kubernetes cluster.\nIn each step you will find all the pre-requisites needed for that step.\n\n## 1. Alexa Skill as a web server\n\nHow to create an Alexa Skill as a NodeJS app using Express. Check the full explanation [here](docs/WEBSERVER.md).\n\n## 2. MongoDB persistence adapter\n\nUsage of the new MongoDB Persistence adapter. Check the full explanation [here](https://github.com/xavidop/ask-sdk-mongodb-persistence-adapter).\n\n## 3. Dockerizing the Alexa Skill\n\nDockerizing our Alexa Skill backend transformed into a NodeJS Express app. Check the full explanation [here](docs/DOCKER.md).\n\n## 4. Kubernetes objects of the Alexa Skill\n\nCreating all the Kubernetes objects needed to deploy our Alexa Skill on a Kubernetes cluster. Check the full explanation [here](docs/KUBERNETES.md).\n\n## 5. Helm chart of the Alexa skill\n\nCreating the Helm Chart with our Alexa Skill + MongoDB. Check the full explanation [here](docs/HELM.md).\n## 6. Local development and Deployment with DevSpace\n\nHow to develop in a Kubernetes environment. Check the full explanation [here](docs/LOCAL_DEVELOPMENT_DEPLOYMENT.md).\n\n## 7. Terraform.\n\n### 7.1. Deploying the Alexa Skill on AWS Elastic Kubernetes Services\n\nHow to deploy our Alexa skill in EKS. Check the full explanation [here](docs/TERRAFORM_EKS.md).\n\n### 7.2. Deploying the Alexa Skill on Azure Kubernetes Services\n\nHow to deploy our Alexa skill in AKS. Check the full explanation [here](docs/TERRAFORM_AKS.md).\n\n### 7.3. Deploying the Alexa Skill on Google Kubernetes Engine\n\nHow to deploy our Alexa skill in GKE. Check the full explanation [here](docs/TERRAFORM_GKE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxavidop%2Falexa-nodejs-k8s-helloworld","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxavidop%2Falexa-nodejs-k8s-helloworld","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxavidop%2Falexa-nodejs-k8s-helloworld/lists"}