New Interested in participating in the HCP Waypoint Private Beta Program? Apply here
  • Infrastructure
    • terraform
    • packer
  • Networking
    • consul
  • Security
    • vault
    • boundary
  • Applications
    • nomad
    • waypoint
    • vagrant
  • HashiCorp Cloud Platform

    A fully managed platform to automate infrastructure on any cloud with HashiCorp products.

    • consul
    • terraform
    • vault
    • packerbeta
    Visit cloud.hashicorp.com
  • Overview
  • Tutorials
  • Docs
  • CLI
  • Plugins
  • Community
GitHub
Download
    • Overview
      • Overview
      • Helm
      • Heroku, Vercel, etc.
      • Kubernetes
  • Getting Started
    • Overview
    • Compatibility Promise
    • Protocol Version Table
    • Release Notifications
      • Overview
      • Upgrade to 0.2.0
      • Upgrade to 0.3.0
      • Upgrade to 0.4.0
      • Upgrade to 0.5.0
      • Upgrade to 0.6.0
      • Upgrade to 0.7.0
      • Upgrade to 0.8.0

    • Install
    • Externally Built Images
    • Building Container Images
    • Helm Deployment
    • YAML-Free Deployment
    • YAML Directory Deployment
    • Resource Status
    • ConfigMaps and Secrets

    • Overview
    • Git Integration
    • Remote Operations
    • Overview
    • Build
    • Deploy
    • Release
    • Hooks
    • Labels
    • Workspace and Label Scoping
    • Overview
      • Overview
      • Input Variables
      • External Data
      • artifact
      • deploy
      • entrypoint
      • labels
      • path
      • workspace
      • Overview
      • Full Reference
      • Templating
      • Overview
      • Expressions
      • JSON Syntax
    • app
    • build
    • config
    • deploy
    • hook
    • plugin
    • registry
    • release
    • runner
    • url
    • use
    • variable
  • URL Service
  • Logs
  • Exec
    • Overview
    • Dynamic Values
    • Files
    • Internal Values
    • Workspace and Label Scoping
    • Overview
      • Overview
      • OIDC
      • Tokens
      • Overview
      • Maintenance
      • Production
      • Security
    • Express Server Install
    • Overview
    • Configuration
    • Profiles
    • On-Demand Runner
    • Additional Runners
  • Workspaces
  • Plugins
  • Triggers

    • Overview
      • Overview
      • Registering Plugin Components
      • Handling Configuration
      • Implementing the Builder Interface
      • Compiling the Plugin
      • Creating an Example Application
      • Testing the Plugin
    • Initializing the SDK
    • Passing Values Between Components
      • Overview
      • Authenticator
      • ConfigSourcer
      • Configurable
      • ConfigurableNotify
      • Builder
      • Registry
      • Platform
      • ReleaseManager
      • Destroy
      • Status
      • Default Parameters
      • Overview
    • Overview
    • Disable
    • Overview
    • GitHub Actions
    • GitLab CI/CD
    • CircleCI
    • Jenkins
  • Troubleshooting
  • Glossary

    • Overview
    • Architecture
    • Operation Execution
  • Roadmap
Type '/' to Search

»Disable the Waypoint Entrypoint

The entrypoint can be disabled by disabling build-time injection or by setting a runtime variable in already-built artifacts. The former can be used to prevent the Waypoint from ever being used by a deployment. The latter can be used to disable the entrypoint in deployments that already have it installed.

If the entrypoint is disabled, all functionality that requires the entrypoint will stop functioning for that deployment. If other deployments, apps, etc. use the entrypoint, the entrypoint functionality will work for those deployments and apps.

»Disable at Runtime

You can disable the entrypoint at runtime by setting the WAYPOINT_CEB_DISABLE environment variable to a truthy value (e.g. "1").

This environment variable is checked immediately on entrypoint startup. If the value is true, then the entrypoint will immediately execute the child process. The entrypoint will not attempt to even connect to the server and will not use any network or disk resources.

This approach allows you to always inject the entrypoint in case you want to use it in the future, but to disable it completely until then.

»Disable at Build

The entrypoint can be disabled by preventing it from being installed or injected in the first place.

For builders that support automatic injection, they should offer some configuration to disable this behavior. For example, if you're using the "docker" builder you can set the disable_entrypoint configuration:

app "my-app" {
  build {
    use "docker" {
      disable_entrypoint = true
    }
  }

  # ...
}
app "my-app" {
  build {
    use "docker" {
      disable_entrypoint = true
    }
  }

  # ...
}

For builders that do not support automatic injection, you must manually alter your build scripts to prevent entrypoint installation.

»Disabling Specific Features

»Exec

You can disable only the waypoint exec functionality by setting the WAYPOINT_CEB_DISABLE_EXEC environment variable to a truthy value (e.g. "1"). Other entrypoint features such as logs, application config, etc. will continue to work.

This environment variable must be set before the entrypoint starts. Therefore, it cannot be set with application configuration. It must be set at build time or by using functionality of your deployment plugin.

The example below shows how to set this using the Kubernetes plugin:

deploy {
  use "kubernetes" {
    static_environment = {
      "WAYPOINT_CEB_DISABLE_EXEC" = "1"
    }
  }
}
deploy {
  use "kubernetes" {
    static_environment = {
      "WAYPOINT_CEB_DISABLE_EXEC" = "1"
    }
  }
}

When exec is disabled, the entrypoint will not allow waypoint exec to target that specific instance. If there are other instances running without the environment variable set (such as from a previous deployment), those may still be targeted.

This environment variable only disables entrypoint-based exec. For some plugins, waypoint exec works without the Waypoint entrypoint. For example, the AWS Lambda plugin launches a just-in-time instance for exec that doesn't use the entrypoint. This environment variable will have no effect on this functionality.

github logoEdit this page

Using Waypoint

The best way to understand what Waypoint can enable for your projects is to give it a try.

Waypoint tutorials
Waypoint documentation
Tutorial

Get Started - Kubernetes

Build, deploy, and release applications to a Kubernetes cluster.

View
Tutorial

Introduction to Waypoint

Waypoint enables you to publish any application to any platform with a single file and a single command.

View

Waypoint is maintained by HashiCorp, Inc.

View Code of Conduct
DocumentationCLI ReferenceTutorialsIntegrations
All systems normal