Oracle Cloud API Gateway – Using an Authorizer Function for Client Secret Authorization on API Access

Uncategorized
| Jan 3, 2020

The objective in this article: create a simple Authorizer Function that checks the Client Secret passed in API calls and allows and denies requests based on whether the correct Client Secret is included. The Authorizer Function does a little more than simply accept or deny: in case of accept it also return a token object that becomes part of the request sent to the real backend.

image

Steps:

  1. Create a Function with Fn (in any runtime (more...)

Oracle Cloud Infrastructure Functions and Project Fn – Retrieving Headers, Query Parameters and other HTTP Request elements

Uncategorized
| Jan 2, 2020

Functions on Oracle Cloud Infrastructure are implemented using Project Fn. A function runs in Docker container. This container has a runtime (for example for Java, Go, Python, Node) and a minimal handler to handle an HTTP request and turn it into a call to the function. When writing the code to implement the function, we do not need to be aware of this layout. The FDK wrapper hands our Node function or Java method one (more...)

Oracle Cloud Serverless Functions unleashed: exposing OCI Functions through API Gateway

Uncategorized
| Jan 1, 2020

Oracle Cloud Infrastructure API Gateway makes it possible to expose OCI Functions on public endpoints that do not require complex signed HTTP requests. Any function that should be easily publicly accessible can be given such easy access. By creating an API Deployment on an API Gateway and associating a route in that API Deployment with an Oracle Function Backend. If needed, parameter mapping can be added as well as custom authorization and CORS headers in (more...)

Scheduling Oracle Cloud Function execution

Uncategorized
| Jan 1, 2020

imageFunctions on Oracle Cloud are an important element in any cloud native application architectures. Functions are typically small, well contained and fairly independent pieces of logic to carry out specific tasks. These tasks can be executed upon reception and handling of HTTP requests – a very common use case – or processing of other events. A function can also provide the implementation of a job that should be executed according to a time schedule – (more...)

Override Date.now() based on OS time when Node returns incorrect current date

Uncategorized
| Dec 30, 2019

I was facing a weird issue. In my Node application – version 10.6.3 – running on Ubuntu – 18.04 – I got the wrong value for the current date and time. A call to new Date() and to Date.now() resulted in a wrong value, off by over two months:

image

The top two values are the formatted date and value for now:

console.log(new Date())
console.log( Date.now())

The other values (more...)

My Quick Start with Oracle Functions in Fresh OCI Tenancy

Uncategorized
| Dec 24, 2019

This article is fairly rough log of the steps I went through to get going on Oracle Cloud Serverless Functions. It is mainly intended to provide a note to myself, for future reference. However, my description could prove useful to you – the reader.

My steps to get going are based on https://docs.cloud.oracle.com/iaas/Content/Functions/Tasks/functionscreatingfirst.htm. Another very useful resource with step by step descriptions: https://www.oracle.com/webfolder/technetwork/tutorials/infographics/oci_faas_gettingstarted_quickview/functions_quickview_top/functions_quickview/index.html.

Using a fresh OCI Cloud (more...)

My first steps with Oracle Cloud API Gateway – the stock response

Uncategorized
| Dec 23, 2019

The API Gateway service on Oracle Cloud Infrastructure went live very recently – read my overview article of what API Gateway entails. In brief: API Gateway is a reverse proxy that exposes HTTP endpoints on which external (or internal) clients can make requests. API Gateway can handle these requests: authorize, rate limit, map and route to OCI internal or public HTTP endpoints or specifically to Oracle [serverless] Functions. API Gateway allows us to allow selective (more...)

Introducing Oracle Cloud API Gateway – the light weight public or private router to public and private OCI endpoints

Uncategorized
| Dec 22, 2019

Two days ago, the API Gateway service on Oracle Cloud Infrastructure went live – read the announcement. This is a crucial component for many applications and in many solution designs. This new API Gateway is a prime candidate for example for inclusion in our reference architecture for OCI based solution designs. The API Gateway acts as a reverse proxy that handles HTTP requests from clients – either within OCI or on the public internet – (more...)

Linux Shell Script – passing arguments to functions and returning and capturing results

Uncategorized
| Dec 18, 2019

Developing Linux Shell Scripts is just not the same as programming in modern programming language. At least to me, it still feels novel and at times a bit weird. I am currently engaged in some scripting that requires the use of functions. That is all well, but I want to pass input parameters into my functions (instead of relying on global variables) and I would like to be able to receive the result from a (more...)

Get going with Project Fn on a remote Kubernetes Cluster from a Windows laptop–using Vagrant, VirtualBox, Docker, Helm and kubectl

Uncategorized
| Mar 4, 2018

image

The challenge I describe in this article is quite specific. I have a Windows laptop. I have access to a remote Kubernetes cluster (on Oracle Cloud Infrastructure). I want to create Fn functions and deploy them to an Fn server running on that Kubernetes (k8s from now on) environment and I want to be able to execute functions running on k8s from my laptop. That’s it.

In this article I will take you on a (more…)