{"id":15492259,"url":"https://github.com/asyrjasalo/raas","last_synced_at":"2026-05-01T01:31:16.619Z","repository":{"id":108179063,"uuid":"383781410","full_name":"asyrjasalo/raas","owner":"asyrjasalo","description":"Low-code robotics on GCP, Kubernetes, OpenFaaS and Kong Api Gateway","archived":false,"fork":false,"pushed_at":"2021-07-07T11:54:31.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T16:44:25.860Z","etag":null,"topics":["kong-api-gateway","kubernetes","node-red","openfaas","serverless"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asyrjasalo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-07-07T11:53:06.000Z","updated_at":"2022-07-18T20:27:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"ad698a97-cc8e-45c8-b58d-e25aa3f3f28e","html_url":"https://github.com/asyrjasalo/raas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asyrjasalo/raas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyrjasalo%2Fraas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyrjasalo%2Fraas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyrjasalo%2Fraas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyrjasalo%2Fraas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asyrjasalo","download_url":"https://codeload.github.com/asyrjasalo/raas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asyrjasalo%2Fraas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32482460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["kong-api-gateway","kubernetes","node-red","openfaas","serverless"],"created_at":"2024-10-02T07:59:49.642Z","updated_at":"2026-05-01T01:31:16.613Z","avatar_url":"https://github.com/asyrjasalo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Robots as a Service\n===================\n\n## Usage\n\nRobot Framework and [RESTinstance](https://github.com/asyrjasalo/RESTinstance) are currently provided:\n\n    curl https://funk.raas.dev/function/robot \\\n      --header \"apikey: {{password}}\" \\\n      --data-binary @functions/robotwrapper/rest.robot\n\nYou can ran tasks in background (async) and get back results when done:\n\n    curl https://funk.raas.dev/async-function/robot \\\n      --header \"apikey: {{password}}\" \\\n      --header \"X-Callback-Url: https://funk.raas.dev/function/robot\" \\\n      --data-binary @functions/robotwrapper/callbacked.robot\n\nThe URL in header `X-Callback-Url` is called after the execution has finished.\n\n\n\n## Development\n\n### Environments\n\n- Functions are best developed in local Docker Swarm - fastest to debug here\n- Infrastructure and services are best developed in local k8s (kind)\n- Google Kubernetes Engine is cheapest in production\n\n### Tech\n\n- Kubernetes (GKE/AKS) and Helm for deployment\n- OpenFaaS-cloud, for running microservices and functions\n- Kong API Gateway, for authentication and authorization\n- Node-RED, for graphical editor for automation flows\n- Robot Framework, for running tasks\n\n### Requirements\n\nHomebrew casks work on OS X:\n\n    brew cask install docker-ce\n    brew cask install google-cloud-sdk\n\nOn Homebrew (OS X) or Linuxbrew:\n\n    brew install faas-cli\n    brew install kubernetes-cli\n    brew install go\n\n### Workflow\n\n1. `setup_` - creates the base infrastructure\n2. `build_` - upgrades services and APIs\n3. `deploy_` - deploys to OpenFaaS\n4. `test_` - tests over HTTPS(S)\n\n\n\n## Kubernetes secrets\n\n### registry-auth\n\n    cd secrets\n    htpasswd -Bbn faas \"1^p?W\u003ex5oiWh\" \u003e registry-auth\n\nPut `registry-auth` content in the chart's `values.yaml` property `htpasswd`.\n\n### robotred-ingress-auth\n\n    cd secrets\n    htpasswd -bn earlyrobot \"WsB0q7-1RlKv\" \u003e auth\n\n    kubectl create secret generic robotred-ingress-auth --from-file=auth --namespace robotred\n\n### kong-admin-ingress-auth\n\n    cd secrets\n    htpasswd -bn admin \"w*5ZCUuFpyQn4bp-\" \u003e auth\n\n    kubectl create secret generic kong-admin-ingress-auth --from-file=auth --namespace kong\n\n\n\n## Kong administration\n\n### Development\n\nAccessible in [:8001](http://localhost:8001) for debugging purposes.\n\nRunning `kong/dev/1_dev_kongadmins` creates a loopback for accessing\nKong Admin API via Kong.\n\nAfter running the script , prefer Kong endpoint\n[http://localhost:8000/fadmin](http://localhost:8000/fadmin) for\nauthenticating to Kong Admin API, as it works this way in production.\n\nThis is also how the rest of the numbered scripts in `kong/dev/*` access\nthe Kong Admin API.\n\nKonga can be used as a web admin GUI, running on [:1337](http://localhost:1337).\nYou can use `http://kong:8001` as the URL for connecting to Kong Admin API directly, or prefer key authentication, with endpoint `http://kong:8000/fadmin`\nto connect to it via the created loopback.\n\n### Production\n\nCreate Kong admin ingress:\n\n    kubectl apply -f kubernetes/kong-admin-ingress.yaml --namespace kong\n\nRun `kong/prod/1_prod_fadmin` to create the loopback for Kong Admin API.\nFrom then, use Kong consumer `fadmin` for proxying from Kong to Kong Admin API,\nsimilarly as done in development environment.\n\nDisable admin ingress for security after you have ran `kong/prod/1_prod_fadmin`:\n\n    kubectl delete -f kubernetes/kong-admin-ingress.yaml --namespace kong\n\nThen run rest of the `kong/prod/` scripts to create the rest of the services.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasyrjasalo%2Fraas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasyrjasalo%2Fraas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasyrjasalo%2Fraas/lists"}