diff --git a/examples/tutorial/hello/go/README.md b/examples/tutorial/hello/go/README.md index 1a87a0343..4c05bee69 100644 --- a/examples/tutorial/hello/go/README.md +++ b/examples/tutorial/hello/go/README.md @@ -6,13 +6,13 @@ This example will show you how to test and deploy Go (Golang) code to Oracle Fun ```sh # Initialize your function creating a func.yaml file -fn init /hello +fn init /go # Test your function. This will run inside a container exactly how it will on the server fn run # Now try with an input -cat hello.payload.json | fn run +cat sample.payload.json | fn run # Deploy your functions to the Oracle Functions server (default localhost:8080) # This will create a route to your function as well @@ -21,15 +21,15 @@ fn deploy myapp ### Now call your function: ```sh -curl http://localhost:8080/r/myapp/hello +curl http://localhost:8080/r/myapp/go ``` -Or call from a browser: [http://localhost:8080/r/myapp/hello](http://localhost:8080/r/myapp/hello) +Or call from a browser: [http://localhost:8080/r/myapp/go](http://localhost:8080/r/myapp/go) And now with the JSON input: ```sh -curl -H "Content-Type: application/json" -X POST -d @hello.payload.json http://localhost:8080/r/myapp/hello +curl -H "Content-Type: application/json" -X POST -d @sample.payload.json http://localhost:8080/r/myapp/go ``` That's it! @@ -42,7 +42,7 @@ In Go, simply put them all in the `vendor/` directory. 1. We piped JSON data into the function at the command line ```sh - cat hello.payload.json | fn run + cat sample.payload.json | fn run ``` 2. We received our function input through **stdin** @@ -62,4 +62,4 @@ In Go, simply put them all in the `vendor/` directory. # Next Up -## [Tutorial 2: Input Parameters](examples/tutorial/params) \ No newline at end of file +## [Tutorial 2: Input Parameters](examples/tutorial/params) diff --git a/examples/tutorial/hello/go/hello.payload.json b/examples/tutorial/hello/go/sample.payload.json similarity index 100% rename from examples/tutorial/hello/go/hello.payload.json rename to examples/tutorial/hello/go/sample.payload.json diff --git a/examples/tutorial/hello/node/README.md b/examples/tutorial/hello/node/README.md index 4d8e5dfbe..bfb749c1c 100644 --- a/examples/tutorial/hello/node/README.md +++ b/examples/tutorial/hello/node/README.md @@ -6,14 +6,14 @@ This example will show you how to test and deploy Node code to Oracle Functions. ```sh # Initialize your function creating a func.yaml file -fn init /hello +fn init /node # Test your function. # This will run inside a container exactly how it will on the server. It will also install and vendor dependencies from Gemfile fn run # Now try with an input -cat hello.payload.json | fn run +cat sample.payload.json | fn run # Deploy your functions to the Oracle Functions server (default localhost:8080) # This will create a route to your function as well @@ -22,15 +22,15 @@ fn deploy myapp ### Now call your function: ```sh -curl http://localhost:8080/r/myapp/hello +curl http://localhost:8080/r/myapp/node ``` -Or call from a browser: [http://localhost:8080/r/myapp/hello](http://localhost:8080/r/myapp/hello) +Or call from a browser: [http://localhost:8080/r/myapp/node](http://localhost:8080/r/myapp/node) And now with the JSON input: ```sh -curl -H "Content-Type: application/json" -X POST -d @hello.payload.json http://localhost:8080/r/myapp/hello +curl -H "Content-Type: application/json" -X POST -d @sample.payload.json http://localhost:8080/r/myapp/node ``` That's it! Our `fn deploy` packaged our function and sent it to the Oracle Functions server. Try editing `func.js` @@ -38,15 +38,8 @@ and then doing another `fn deploy`. ### Note on Dependencies -Create a [package.json](https://docs.npmjs.com/getting-started/using-a-package.json) file in your functions directory. - -Run: - -```sh -docker run --rm -v "$PWD":/function -w /function funcy/node:dev npm install -``` - -Then everything should work. +Create a [package.json](https://docs.npmjs.com/getting-started/using-a-package.json) file in your functions directory. The CLI should pick that up and build in all +your dependencies on `fn run` and `fn deploy`. For example, using the `package.json` file in this directory which includes the [request](https://www.npmjs.com/package/request) package, you can add this to func.js and it will work: @@ -64,7 +57,7 @@ request('http://www.google.com', function (error, response, body) { 1. We piped JSON data into the function at the command line ```sh - cat hello.payload.json | fn run + cat sample.payload.json | fn run ``` 2. We received our function input through **stdin** diff --git a/examples/tutorial/hello/node/hello.payload.json b/examples/tutorial/hello/node/sample.payload.json similarity index 100% rename from examples/tutorial/hello/node/hello.payload.json rename to examples/tutorial/hello/node/sample.payload.json diff --git a/examples/tutorial/hello/php/README.md b/examples/tutorial/hello/php/README.md index 9cf800536..b615e6e27 100644 --- a/examples/tutorial/hello/php/README.md +++ b/examples/tutorial/hello/php/README.md @@ -6,14 +6,14 @@ This example will show you how to test and deploy PHP code to Oracle Functions. ```sh # Initialize your function creating a func.yaml file -fn init /hello +fn init /php # Test your function. # This will run inside a container exactly how it will on the server. It will also install and vendor dependencies from Gemfile fn run # Now try with an input -cat hello.payload.json | fn run +cat sample.payload.json | fn run # Deploy your functions to the Oracle Functions server (default localhost:8080) # This will create a route to your function as well @@ -22,15 +22,15 @@ fn deploy myapp ### Now call your function: ```sh -curl http://localhost:8080/r/myapp/hello +curl http://localhost:8080/r/myapp/php ``` -Or call from a browser: [http://localhost:8080/r/myapp/hello](http://localhost:8080/r/myapp/hello) +Or call from a browser: [http://localhost:8080/r/myapp/php](http://localhost:8080/r/myapp/php) And now with the JSON input: ```sh -curl -H "Content-Type: application/json" -X POST -d @hello.payload.json http://localhost:8080/r/myapp/hello +curl -H "Content-Type: application/json" -X POST -d @sample.payload.json http://localhost:8080/r/myapp/php ``` That's it! Our `fn deploy` packaged our function and sent it to the Oracle Functions server. Try editing `func.php` @@ -40,10 +40,6 @@ and then doing another `fn deploy`. In PHP, you can create a [composer](https://getcomposer.org/) file in your function directory, then run: -```sh -fn build -``` - This will rebuild your gems and vendor them. PHP doesn't pick them up automatically, so you'll have to add this to the top of your `func.php` file: ```php @@ -53,21 +49,11 @@ require 'vendor/autoload.php'; Open `func.php` to see it in action. -### 3. Queue jobs for your function - -Now you can start jobs on your function. Let's quickly queue up a job to try it out. - -```sh -cat hello.payload.json | fn call phpapp /hello -``` - - - # In Review 1. We piped JSON data into the function at the command line ```sh - cat hello.payload.json | fn run + cat sample.payload.json | fn run ``` 2. We received our function input through **stdin** diff --git a/examples/tutorial/hello/php/hello.payload.json b/examples/tutorial/hello/php/sample.payload.json similarity index 100% rename from examples/tutorial/hello/php/hello.payload.json rename to examples/tutorial/hello/php/sample.payload.json diff --git a/examples/tutorial/hello/python/README.md b/examples/tutorial/hello/python/README.md index 370472b96..773c48597 100644 --- a/examples/tutorial/hello/python/README.md +++ b/examples/tutorial/hello/python/README.md @@ -6,14 +6,14 @@ This example will show you how to test and deploy Python code to Oracle Function ```sh # Initialize your function creating a func.yaml file -fn init /hello +fn init /python # Test your function. # This will run inside a container exactly how it will on the server. It will also install and vendor dependencies from Gemfile fn run # Now try with an input -cat hello.payload.json | fn run +cat sample.payload.json | fn run # Deploy your functions to the Oracle Functions server (default localhost:8080) # This will create a route to your function as well @@ -22,15 +22,15 @@ fn deploy myapp ### Now call your function: ```sh -curl http://localhost:8080/r/myapp/hello +curl http://localhost:8080/r/myapp/python ``` -Or call from a browser: [http://localhost:8080/r/myapp/hello](http://localhost:8080/r/myapp/hello) +Or call from a browser: [http://localhost:8080/r/myapp/python](http://localhost:8080/r/myapp/python) And now with the JSON input: ```sh -curl -H "Content-Type: application/json" -X POST -d @hello.payload.json http://localhost:8080/r/myapp/hello +curl -H "Content-Type: application/json" -X POST -d @sample.payload.json http://localhost:8080/r/myapp/python ``` That's it! Our `fn deploy` packaged our function and sent it to the Oracle Functions server. Try editing `func.py` @@ -44,7 +44,7 @@ In Python, we create a [requirements](https://pip.pypa.io/en/stable/user_guide/) 1. We piped JSON data into the function at the command line ```sh - cat hello.payload.json | fn run + cat sample.payload.json | fn run ``` 2. We received our function input through **stdin** @@ -64,4 +64,4 @@ In Python, we create a [requirements](https://pip.pypa.io/en/stable/user_guide/) # Next Up -## [Tutorial 2: Input Parameters](examples/tutorial/params) \ No newline at end of file +## [Tutorial 2: Input Parameters](examples/tutorial/params) diff --git a/examples/tutorial/hello/python/hello.payload.json b/examples/tutorial/hello/python/sample.payload.json similarity index 100% rename from examples/tutorial/hello/python/hello.payload.json rename to examples/tutorial/hello/python/sample.payload.json diff --git a/examples/tutorial/hello/ruby/README.md b/examples/tutorial/hello/ruby/README.md index c3ae4dc09..eb4f74bdc 100644 --- a/examples/tutorial/hello/ruby/README.md +++ b/examples/tutorial/hello/ruby/README.md @@ -6,14 +6,14 @@ This example will show you how to test and deploy Ruby code to Oracle Functions. ```sh # Initialize your function creating a func.yaml file -fn init /hello +fn init /ruby # Test your function. # This will run inside a container exactly how it will on the server. It will also install and vendor dependencies from Gemfile fn run # Now try with an input -cat hello.payload.json | fn run +cat sample.payload.json | fn run # Deploy your functions to the Oracle Functions server (default localhost:8080) # This will create a route to your function as well @@ -22,15 +22,15 @@ fn deploy myapp ### Now call your function: ```sh -curl http://localhost:8080/r/myapp/hello +curl http://localhost:8080/r/myapp/ruby ``` -Or call from a browser: [http://localhost:8080/r/myapp/hello](http://localhost:8080/r/myapp/hello) +Or call from a browser: [http://localhost:8080/r/myapp/ruby](http://localhost:8080/r/myapp/ruby) And now with the JSON input: ```sh -curl -H "Content-Type: application/json" -X POST -d @hello.payload.json http://localhost:8080/r/myapp/hello +curl -H "Content-Type: application/json" -X POST -d @sample.payload.json http://localhost:8080/r/myapp/ruby ``` That's it! Our `fn deploy` packaged our function and sent it to the Oracle Functions server. Try editing `func.rb` @@ -39,13 +39,10 @@ and then doing another `fn deploy`. ### Note on Dependencies -In Ruby, we create a [Gemfile](http://bundler.io/gemfile.html) file in your function directory, then run: +In Ruby, we create a [Gemfile](http://bundler.io/gemfile.html) file in your function directory. Then any `fn run` +or `fn deploy` will rebuild your gems and vendor them. -```sh -fn build -``` - -This will rebuild your gems and vendor them. Ruby doesn't pick up the gems automatically, so you'll have to add this to the top of your `func.rb` file: +Note: Ruby doesn't pick up the gems automatically, so you'll have to add this to the top of your `func.rb` file: ```ruby require_relative 'bundle/bundler/setup' @@ -53,21 +50,11 @@ require_relative 'bundle/bundler/setup' Open `func.rb` to see it in action. -To update dependencies: - -```sh -# Let's run bundle update -docker run --rm -it -v ${PWD}:/worker -w /worker funcy/ruby:dev bundle update - -# Then bundle install again to vendor them -docker run --rm -it -v ${PWD}:/worker -w /worker funcy/ruby:dev bundle install --standalone --clean -``` - # In Review 1. We piped JSON data into the function at the command line ```sh - cat hello.payload.json | fn run + cat sample.payload.json | fn run ``` 2. We received our function input through **stdin** diff --git a/examples/tutorial/hello/ruby/hello.payload.json b/examples/tutorial/hello/ruby/sample.payload.json similarity index 100% rename from examples/tutorial/hello/ruby/hello.payload.json rename to examples/tutorial/hello/ruby/sample.payload.json