Switch branches/tags
0.2.1-versionupdates FunctionVersioning VersioningProposal add-python-test add-upgrade-guide-from-0.4-to-0.5 add-version-to-binary annotations_proposal async-requests autoscaling build-and-push-logger builder-builds builder-image bump-nats-limits cache_obj_type checkCRDcreationError cliAutoComplete close-idle-connectio common-version controller-tpr-compatible-types controller-tpr debug-only deprecate-fn-pods docs-provider-docker env-args-ci-test errorMessageForFailedCanary execution_strategy executor_abstraction extensions_proposal fetcher_retry fission-spec fission-workflows-0.2.0 fix-932 fix-998 fix-binary-environment-build-failure fix-components-crash-before-crds-creation fix-executor-cleanup-process fix-fluentd fix-function-not-update-problem fix-log-ordering fix-nd fix-post-install-job-failure fix-secret-cfgmap-update-problem fix-test_env_vars-failure fix_executor_panic fixFissionCore fluentd-configmap fluentd-workflows-2 fn_pods_removal gcpug-demo gevent-environment-ci-build glide_up_ci go-build-helper go-build-script-example go-builder go-env-fixes-457 golang-image-versions handle-multiple-http-methods hook-bugfixes idle-conn-timeout install-instructions-use-gh-releases issue/37 istio-integration java_env_design jvm-env-prototype jvm-specs jvm_heap jvm_issue jvm_readme k6-benchmark kafka_tests mac_tests master migrate-donet-project-json nd_pkg_update_issue-taching newdeploy_backend nodejsv2-test poolsize_env_fix pr371-copy prithvi-logging-branch promethus-fission-metrics pull-image-from-private-registry py-flask-bug python-env-variants record refactor-roundtrip resource-version-monitor retry-for-network-error router_caching_podip secret-cfgmap-branch secret-cfgmap-doc set-idle-conn-timeout show-warning-when-creating-route-with-non-existent-function skaffold_dev_workflow spec-flags spec_helm_removal swagger-api-spec temp_buildtime_reduction temp_test_disable test-connect test-logging-timestamps test_failure_investigation test_improvement tracing-places update-docs-problem update-go-env-version upgrade_test_ci upstream/fix-test_env_vars-failure use-separate-controller-loop-to-watch-functions-changes v0.5.0-changelog-patch-1 v0.5.0 v0.6.0 v0.6.1 v0.7.0 v0.7.1 v0.8.0 v0.9.0 v0.9.1 v0.11.0 v0.12.0 v2-types-and-tpr wait-for-components-before-testing wait-for-pods-before-testing windows-instructions xiekeyang/pr713
Nothing to show
Find file History


Fission: NodeJS Environment

This is the NodeJS environment for Fission.

It's a Docker image containing a NodeJS runtime, along with a dynamic loader. A few common dependencies are included in the package.json file.

Customizing this image

To add package dependencies, edit package.json to add what you need, and rebuild this image (instructions below).

You also may want to customize what's available to the function in its request context. You can do this by editing server.js (see the comment in that file about customizing request context).

Rebuilding and pushing the image

You'll need access to a Docker registry to push the image: you can sign up for Docker hub at hub.docker.com, or use registries from gcr.io, quay.io, etc. Let's assume you're using a docker hub account called USER. Build and push the image to the the registry:

   docker build -t USER/nodejs-env . && docker push USER/nodejs-env

Using the image in fission

You can add this customized image to fission with "fission env create":

   fission env create --name nodejs --image USER/nodejs-env

Or, if you already have an environment, you can update its image:

   fission env update --name nodejs --image USER/nodejs-env   

After this, fission functions that have the env parameter set to the same environment name as this command will use this environment.