runtimes

package
v0.0.0-...-16acc80 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2024 License: Apache-2.0 Imports: 12 Imported by: 3

Documentation

Index

Constants

View Source
const (
	NODEJS_FILE_EXTENSION   = "js"
	SWIFT_FILE_EXTENSION    = "swift"
	PYTHON_FILE_EXTENSION   = "py"
	JAVA_FILE_EXTENSION     = "java"
	JAR_FILE_EXTENSION      = "jar"
	CSHARP_FILE_EXTENSION   = "cs"
	PHP_FILE_EXTENSION      = "php"
	ZIP_FILE_EXTENSION      = "zip"
	RUBY_FILE_EXTENSION     = "rb"
	GO_FILE_EXTENSION       = "go"
	RUST_FILE_EXTENSION     = "rs"
	NODEJS_RUNTIME          = "nodejs"
	SWIFT_RUNTIME           = SWIFT_FILE_EXTENSION
	PYTHON_RUNTIME          = "python"
	JAVA_RUNTIME            = JAVA_FILE_EXTENSION
	DOTNET_RUNTIME          = ZIP_FILE_EXTENSION
	PHP_RUNTIME             = PHP_FILE_EXTENSION
	RUBY_RUNTIME            = "ruby"
	GO_RUNTIME              = GO_FILE_EXTENSION
	RUST_RUNTIME            = "rust"
	HTTP_CONTENT_TYPE_KEY   = "Content-Type"
	HTTP_CONTENT_TYPE_VALUE = "application/json; charset=UTF-8"
	RUNTIME_NOT_SPECIFIED   = "NOT SPECIFIED"
	BLACKBOX                = "blackbox"
	HTTPS                   = "https://"
)

Variables

View Source
var DefaultRunTimes map[string]string
View Source
var FileExtensionRuntimeKindMap map[string]string
View Source
var FileRuntimeExtensionsMap map[string]string
View Source
var RUNTIME_DETAILS = []byte(`{
    "runtimes": {
        "nodejs": [
            {
                "kind": "nodejs:6",
                "default": false,
                "image": {
                    "prefix": "openwhisk",
                    "name": "nodejs6action",
                    "tag": "nightly"
                },
                "deprecated": true,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            },
            {
                "kind": "nodejs:8",
                "default": false,
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-nodejs-v8",
                    "tag": "nightly"
                },
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            },
            {
                "kind": "nodejs:10",
                "default": true,
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-nodejs-v10",
                    "tag": "nightly"
                },
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                },
                "stemCells": [
                    {
                        "count": 2,
                        "memory": "256 MB"
                    }
                ]
            },
            {
                "kind": "nodejs:12",
                "default": false,
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-nodejs-v12",
                    "tag": "nightly"
                },
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            }
        ],
        "python": [
            {
                "kind": "python:2",
                "default": false,
                "image": {
                    "prefix": "openwhisk",
                    "name": "python2action",
                    "tag": "1.13.0-incubating"
                },
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            },
            {
                "kind": "python:3",
                "default": true,
                "image": {
                    "prefix": "openwhisk",
                    "name": "python3action",
                    "tag": "nightly"
                },
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            }
        ],
        "swift": [
            {
                "kind": "swift:5.4",
                "default": true,
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-swift-v4.2",
                    "tag": "nightly"
                },
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            }
        ],
        "java": [
            {
                "kind": "java:8",
                "default": true,
                "image": {
                    "prefix": "openwhisk",
                    "name": "java8action",
                    "tag": "nightly"
                },
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                },
                "requireMain": true
            }
        ],
        "php": [
            {
                "kind": "php:7.3",
                "default": false,
                "deprecated": false,
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-php-v7.3",
                    "tag": "nightly"
                },
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            },
            {
                "kind": "php:7.4",
                "default": true,
                "deprecated": false,
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-php-v7.4",
                    "tag": "nightly"
                },
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            }
        ],
        "ruby": [
            {
                "kind": "ruby:2.5",
                "default": true,
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                },
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-ruby-v2.5",
                    "tag": "nightly"
                }
            }
        ],
        "go": [
            {
                "kind": "go:1.17",
                "default": true,
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                },
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-golang-v1.17",
                    "tag": "nightly"
                }
            }
        ],
        "dotnet": [
            {
                "kind": "dotnet:2.2",
                "default": true,
                "deprecated": false,
                "requireMain": true,
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-dotnet-v2.2",
                    "tag": "nightly"
                },
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            }
        ],
        "ballerina": [
            {
                "kind": "ballerina:0.990",
                "default": true,
                "image": {
                    "prefix": "openwhisk",
                    "name": "action-ballerina-v0.990.2",
                    "tag": "nightly"
                },
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                }
            }
        ],
        "rust": [
            {
                "kind": "rust:1.34",
                "default": true,
                "deprecated": false,
                "attached": {
                    "attachmentName": "codefile",
                    "attachmentType": "text/plain"
                },
                "image": {
                    "prefix": "openwhisk",
                    "name": "actionloop-rust-v1.34",
                    "tag": "latest"
                }
            }
        ]
    },
    "blackboxes": [
        {
            "prefix": "openwhisk",
            "name": "dockerskeleton",
            "tag": "nightly"
        }
    ]
}`)
View Source
var SupportedRunTimes map[string][]string

Functions

func CheckExistRuntime

func CheckExistRuntime(rtname string, runtimes map[string][]string) bool

func CheckRuntimeConsistencyWithFileExtension

func CheckRuntimeConsistencyWithFileExtension(ext string, runtime string) bool

func ConvertToMap

func ConvertToMap(op OpenWhiskInfo) (rt map[string][]string)

func DefaultRuntimes

func DefaultRuntimes(op OpenWhiskInfo) (rt map[string]string)

func FileExtensionRuntimes

func FileExtensionRuntimes(op OpenWhiskInfo) (ext map[string]string)

func FileRuntimeExtensions

func FileRuntimeExtensions(op OpenWhiskInfo) (rte map[string]string)

func ListOfSupportedRuntimes

func ListOfSupportedRuntimes(runtimes map[string][]string) (rt []string)

Types

type Limit

type Limit struct {
	Apm       uint `json:"actions_per_minute"`
	Tpm       uint `json:"triggers_per_minute"`
	ConAction uint `json:"concurrent_actions"`
}

Structs used to denote the OpenWhisk Runtime information

type OpenWhiskInfo

type OpenWhiskInfo struct {
	Support  SupportInfo          `json:"support"`
	Desc     string               `json:"description"`
	ApiPath  []string             `json:"api_paths"`
	Runtimes map[string][]Runtime `json:"runtimes"`
	Limits   Limit                `json:"limits"`
}

func ParseOpenWhisk

func ParseOpenWhisk(apiHost string) (op OpenWhiskInfo, err error)

We could get the openwhisk info from bluemix through running the command `curl -k https://openwhisk.ng.bluemix.net` hard coding it here in case of network unavailable or failure.

type Runtime

type Runtime struct {
	Deprecated bool   `json:"deprecated"`
	Default    bool   `json:"default"`
	Kind       string `json:"kind"`
}

type SupportInfo

type SupportInfo struct {
	Github string `json:"github"`
	Slack  string `json:"slack"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL