{"id":19656577,"url":"https://github.com/daggerok/knative-riff-spring-cloud-function","last_synced_at":"2025-08-07T00:47:45.620Z","repository":{"id":151041824,"uuid":"235880994","full_name":"daggerok/knative-riff-spring-cloud-function","owner":"daggerok","description":"Project riff | KNative | Spring Cloud Functions | Spring Cloud Gateway","archived":false,"fork":false,"pushed_at":"2020-01-24T00:00:40.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-27T02:23:02.119Z","etag":null,"topics":["knative","riff","spring-cloud-function","spring-cloud-gateway"],"latest_commit_sha":null,"homepage":"","language":"Java","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/daggerok.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":"2020-01-23T20:33:16.000Z","updated_at":"2020-01-24T00:00:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"efb568dc-57fc-4da7-9162-5db50e97e376","html_url":"https://github.com/daggerok/knative-riff-spring-cloud-function","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/daggerok/knative-riff-spring-cloud-function","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fknative-riff-spring-cloud-function","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fknative-riff-spring-cloud-function/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fknative-riff-spring-cloud-function/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fknative-riff-spring-cloud-function/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daggerok","download_url":"https://codeload.github.com/daggerok/knative-riff-spring-cloud-function/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fknative-riff-spring-cloud-function/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269181027,"owners_count":24373848,"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","status":"online","status_checked_at":"2025-08-06T02:00:09.910Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["knative","riff","spring-cloud-function","spring-cloud-gateway"],"created_at":"2024-11-11T15:28:11.134Z","updated_at":"2025-08-07T00:47:45.582Z","avatar_url":"https://github.com/daggerok.png","language":"Java","readme":"# knative-riff-spring-cloud-function [![Build Status](https://travis-ci.org/daggerok/knative-riff-spring-cloud-function.svg?branch=master)](https://travis-ci.org/daggerok/knative-riff-spring-cloud-function)\nProject riff | KNative | Spring Cloud Functions | Spring Cloud Gateway\n\nStatus: IN PROGRESS\n\n## plain java\n\nrequest:\n\n```bash\nhttp :8000/function name=real\n# output:\nHTTP/1.1 200 OK\nContent-Length: 16\nContent-Type: application/json\naccept-encoding: gzip, deflate\nconnection: keep-alive\nuser-agent: HTTPie/2.0.0\n```\n\nresponse:\n\n```json\n{\n    \"upper\": \"REAL\"\n}\n```\n\n---\n\nrequest:\n\n```bash\nhttp post :8080/api/function name=gw\n# output:\nHTTP/1.1 200 OK\nContent-Length: 14\nContent-Type: application/json\nContent-Type: application/json\naccept-encoding: gzip, deflate\nforwarded: proto=http;host=\"localhost:8080\";for=\"0:0:0:0:0:0:0:1:56827\"\nuser-agent: HTTPie/2.0.0\nx-forwarded-for: 0:0:0:0:0:0:0:1\nx-forwarded-host: localhost:8080\nx-forwarded-port: 8080\nx-forwarded-prefix: /api\nx-forwarded-proto: http\n```\n\nresponse:\n\n```json\n{\n  \"upper\": \"GW\"\n}\n```\n\n## docker / docker-compose\n\n```bash\ndocker-compose build --force-rm --no-cache\ndocker-compose up --build\nhttp :/api/function name=docker\n```\n\n\u003c!--\n\nTODO...\n\n## k8s riff\n\n```bash\nkubectl config current-context\nkubectl get pod --all-namespaces -w\n\nbrew tap k14s/tap\nbrew reinstall kapp\nkapp version\n\nbrew tap k14s/tap\nbrew reinstall ytt\nytt version\n\nbrew reinstall riff\n\nkubectl create ns apps\n\nkapp deploy -y -n apps -a cert-manager -f https://storage.googleapis.com/projectriff/release/0.5.0-snapshot/cert-manager.yaml\nkapp deploy -y -n apps -a kpack -f https://storage.googleapis.com/projectriff/release/0.5.0-snapshot/kpack.yaml\nkapp deploy -y -n apps -a riff-builders -f https://storage.googleapis.com/projectriff/release/0.5.0-snapshot/riff-builders.yaml\nkapp deploy -y -n apps -a riff-build -f https://storage.googleapis.com/projectriff/release/0.5.0-snapshot/riff-build.yaml\n\n# ytt is used to convert the ingress service to NodePort because Docker for Mac does not support `LoadBalancer` services.\nytt -f https://storage.googleapis.com/projectriff/release/0.5.0-snapshot/istio.yaml -f https://storage.googleapis.com/projectriff/charts/overlays/service-nodeport.yaml --file-mark istio.yaml:type=yaml-plain | kapp deploy -n apps -a istio -f - -y\nkapp deploy -y -n apps -a knative -f https://storage.googleapis.com/projectriff/release/0.5.0-snapshot/knative.yaml\nkapp deploy -y -n apps -a riff-knative-runtime -f https://storage.googleapis.com/projectriff/release/0.5.0-snapshot/riff-knative-runtime.yaml\n\nriff doctor\n\nDOCKER_ID=daggerok\nriff credential apply my-creds --docker-hub $DOCKER_ID --set-default-image-prefix\n```\n\n_play!_\n\n```bash\nriff function create square \\\n  --git-repo https://github.com/projectriff-samples/node-square  \\\n  --artifact square.js \\\n  --tail\n```\n\n--\u003e\n\n## resources\n\n* [YouTube: KNative and riff for Spring Developers](https://www.youtube.com/watch?v=zCObFAhrhJM)\n* [YouTube: Living on the Edge with Spring Cloud Gateway](https://www.youtube.com/watch?v=jOawuL1Xnwo)\n* [Spring Cloud Gateway](https://spring.io/projects/spring-cloud-gateway)\n* [Project riff](https://projectriff.io/docs/v0.4/getting-started/docker-for-mac)\n\n\u003c!--\n\n* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)\n* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.2.4.RELEASE/maven-plugin/)\n* [Spring Configuration Processor](https://docs.spring.io/spring-boot/docs/2.2.4.RELEASE/reference/htmlsingle/#configuration-metadata-annotation-processor)\n* [Spring Boot DevTools](https://docs.spring.io/spring-boot/docs/2.2.4.RELEASE/reference/htmlsingle/#using-boot-devtools)\n* [Function](https://cloud.spring.io/spring-cloud-function/)\n* [Various sample apps using Spring Cloud Function](https://github.com/spring-cloud/spring-cloud-function/tree/master/spring-cloud-function-samples)\n\n--\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaggerok%2Fknative-riff-spring-cloud-function","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaggerok%2Fknative-riff-spring-cloud-function","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaggerok%2Fknative-riff-spring-cloud-function/lists"}