{"id":15294876,"url":"https://github.com/lnsp/foag","last_synced_at":"2025-07-23T03:04:25.129Z","repository":{"id":57604350,"uuid":"157949431","full_name":"lnsp/foag","owner":"lnsp","description":"experimental function-as-a-service platform","archived":false,"fork":false,"pushed_at":"2019-02-11T00:29:22.000Z","size":277,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T17:53:02.520Z","etag":null,"topics":["faas","functions-as-a-service","golang","serverless","vue"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lnsp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-17T04:07:32.000Z","updated_at":"2022-07-15T04:36:58.000Z","dependencies_parsed_at":"2022-09-04T10:31:48.359Z","dependency_job_id":null,"html_url":"https://github.com/lnsp/foag","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lnsp/foag","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnsp%2Ffoag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnsp%2Ffoag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnsp%2Ffoag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnsp%2Ffoag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lnsp","download_url":"https://codeload.github.com/lnsp/foag/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnsp%2Ffoag/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264505737,"owners_count":23618965,"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":["faas","functions-as-a-service","golang","serverless","vue"],"created_at":"2024-09-30T17:07:44.937Z","updated_at":"2025-07-10T00:02:54.917Z","avatar_url":"https://github.com/lnsp.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![foag](https://raw.githubusercontent.com/lnsp/foag/master/docs/logo.png)\n\nfoag (pronounced as *[ˈfoːɐ̯k]*) is a Function-as-a-Service platform built upon Docker containers. It was built as a proof-of-concept within an hour and is not suited for production usage.\n\n## Running the daemon\n\n1. Run `go get github.com/lnsp/foag/foagd`\n2. Start using `$GOPATH/bin/foagd`, the server should immediately listen on port 8080\n\nRunning an instance of `foagd` requires a working local Docker installation. Especially the user running `foagd` must have access to the `docker` command.\n\n## Running the frontend\n\nAfter starting up the daemon, you can choose to interact with it using either the CLI or the web UI. When you choose the CLI, remember to set the environment variable `FOAG_ENDPOINT` to your daemons endpoint. Same goes for the web UI, before building and serving it, remember to configure the `.env` file to point to your daemon.\n\n## Deploying a function\n\nTo deploy a function to a foagd service you have the option to choose between C, Swift, JavaScript and Go. For minimal startup time functions implemented in C, Swift or Go are recommended. Assuming we have implemented our functionality similar to the ones in the `docs/examples` folder (just read and write from standard input and output), we are ready to push and build our function.\n\n```bash\n# Set up foagd endpoint first, in this case locally\nexport FOAG_ENDPOINT=http://localhost:8080\n# Assuming you have cloned this repository\ncd docs/examples/hello-c\n# and now we can deploy!\nfoag-cli deploy --lang=c main.c\nYour ap is now running on http://localhost:8080/trigger/65e64c928f3c6c84e0bcf96fe93d2f05579a2bb47d0e39a7245e1bd310599fba\n```\n\nYou may follow the build progress by using the `foag-cli builds logs [deployment]` command. After success, you may test your function.\n\n```bash\ncurl http://localhost:8080/trigger/65e64c928f3c6c84e0bcf96fe93d2f05579a2bb47d0e39a7245e1bd310599fba\nhello from C!\n```\n\nCongratulations, you just deployed your first function!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flnsp%2Ffoag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flnsp%2Ffoag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flnsp%2Ffoag/lists"}