- PHP: ghcr.io/fission/php-env, entrypoint main.php::handler
- Ruby: ghcr.io/fission/ruby-env, entrypoint handler (single-word)
- Perl: ghcr.io/fission/perl-env (version=1), sub {} return value
- Go: ghcr.io/fission/binary-env with pre-compiled binary (shell script placeholder)
Provider changes:
- package_resource: added main.php, main.rb, main.pl to source_dir candidates
- function_resource: relaxed entrypoint validation to allow PHP (::), Ruby, Perl (single-word)
- function_resource_test: updated BadFormat test to reflect new valid formats
43 lines
1.1 KiB
Terraform
43 lines
1.1 KiB
Terraform
terraform {
|
|
required_providers {
|
|
fission = {
|
|
source = "nail/fission"
|
|
version = "~> 0.1.0"
|
|
}
|
|
}
|
|
}
|
|
|
|
provider "fission" {
|
|
kubeconfig_path = "/home/naeel/.kube/config"
|
|
namespace = "default"
|
|
}
|
|
|
|
# Go использует binary-env: функция является скомпилированным Linux-бинарником.
|
|
# Перед apply необходимо скомпилировать:
|
|
# CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o dist/handler code/
|
|
resource "fission_environment" "go" {
|
|
name = "tf-go-hello-env"
|
|
image = "ghcr.io/fission/binary-env"
|
|
version = 3
|
|
}
|
|
|
|
resource "fission_package" "pkg" {
|
|
name = "tf-go-hello-pkg"
|
|
environment = fission_environment.go.name
|
|
code_path = "${path.module}/dist/handler"
|
|
}
|
|
|
|
resource "fission_function" "fn" {
|
|
name = "tf-go-hello-fn"
|
|
environment = fission_environment.go.name
|
|
package_name = fission_package.pkg.name
|
|
entrypoint = "handler"
|
|
}
|
|
|
|
resource "fission_http_trigger" "route" {
|
|
name = "tf-go-hello-route"
|
|
function = fission_function.fn.name
|
|
url = "/go-hello"
|
|
methods = ["GET"]
|
|
}
|