A tool to build, deploy, and release any application on any platform.

Overview

Image


Waypoint

Waypoint allows developers to define their application build, deploy, and release lifecycle as code, reducing the time to deliver deployments through a consistent and repeatable workflow.

Waypoint supports a number of build methods and target platforms out of the box and more can be easily added via plugins:

  • Cloud Native Buildpacks
  • Docker
  • Kubernetes
  • AWS EC2 and ECS
  • Azure Container Instances
  • Google Cloud Run
  • Netlify
  • And many more...

Waypoint runs on Linux, Mac OS X, and Windows.

Please note: We take Waypoint's security and our users' trust very seriously. If you believe you have found a security issue in Waypoint, please responsibly disclose by contacting us at [email protected].

Quick Start

A few quick start guides are available on the Waypoint website and on HashiCorp Learn:

Documentation

Full, comprehensive documentation is available on the Waypoint website:

https://www.waypointproject.io/docs

Contributing

Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance.

Installing Dependencies

This repository contains a couple of different ways to automate installing the required Golang packages needed to build Waypoint locally. You can either use NixOS, or run make tools to setup the required packages.

Running the unit tests

To run the entire test suite, you'll want to ensure that you've brought up all the required containers used for testing. You can do this by leveraging the existing docker-compose.yml file that's in the root directory of this project:

$ docker-compose up

After running this, you should have a local Horizon container along with a few other services needed for running the tests:

$ make test

Running individual tests

If you don't want to run the entire test suite, you can just run a singe test with go. For example, if you wanted to run the tests ListInstances, you would run:

$ go test -run ListInstances -v ./internal/server/singleprocess
Comments
  • tests/Frontend/ember-build-tests: Unhandled error event

    tests/Frontend/ember-build-tests: Unhandled error event

    Describe the bug

    The ember build frontend tests seem to be failing often. I think this test specifically has failed for me about ~5 times today.

    https://app.circleci.com/pipelines/github/hashicorp/waypoint/9896/workflows/0f6d5e84-1e59-47ef-9916-75f8f0d22a36/jobs/87707

    WARNING: Detected collisions between .js and .ts files of the same name. This can result in nondeterministic build output; see https://git.io/JvIwo for more information.
      - waypoint/services/flash-messages.{js,ts}
    [BABEL] Note: The code generator has deoptimised the styling of /home/circleci/project/ui/node_modules/axe-core/axe.js as it exceeds the max of 500KB.
    [BABEL] Note: The code generator has deoptimised the styling of /home/circleci/project/ui/node_modules/waypoint-pb/server_pb.js as it exceeds the max of 500KB.
    events.js:291
          throw er; // Unhandled 'error' event
          ^
    
    Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
        at ChildProcess.target.send (internal/child_process.js:680:16)
        at Object.sendMessage (/home/circleci/project/ui/node_modules/stagehand/lib/adapters/child-process.js:30:39)
        at CommandCoordinator.sendMessage (/home/circleci/project/ui/node_modules/stagehand/lib/command-coordinator.js:81:23)
        at CommandCoordinator.sendCommand (/home/circleci/project/ui/node_modules/stagehand/lib/command-coordinator.js:36:14)
        at Stagehand.<anonymous> (/home/circleci/project/ui/node_modules/stagehand/lib/stagehand.js:86:44)
        at Generator.next (<anonymous>)
        at /home/circleci/project/ui/node_modules/stagehand/lib/stagehand.js:7:71
        at new Promise (<anonymous>)
        at __awaiter (/home/circleci/project/ui/node_modules/stagehand/lib/stagehand.js:3:12)
        at Stagehand.call (/home/circleci/project/ui/node_modules/stagehand/lib/stagehand.js:82:16)
    Emitted 'error' event on ChildProcess instance at:
        at internal/child_process.js:684:35
        at processTicksAndRejections (internal/process/task_queues.js:79:11) {
      code: 'ERR_IPC_CHANNEL_CLOSED'
    }
    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command
    

    Steps to Reproduce

    The tests flake occasionally on PRs and commits to main.

    Expected behavior

    They pass.

    Waypoint Platform Versions

    N/A

    Additional context Add any other context about the problem here.

    ui tests 
    opened by briancain 37
  • ! Error initializing server: context deadline exceeded

    ! Error initializing server: context deadline exceeded

    Describe the bug Waypoint for docker is crashing with this error

    Steps to Reproduce Steps to reproduce the behavior. Please include any waypoint.hcl files if applicable.

    Expected behavior A clear and concise description of what you expected to happen.

    Additional context Add any other context about the problem here.

    020-10-15T21:17:13.037Z [INFO] waypoint: waypoint version: full_string="Waypoint v0.1.1 (44e2d3d6+CHANGES)" version=v0.1.1 prerelease= metadata= revision=44e2d3d6+CHANGES
    
    2020-10-15T21:17:13.037Z [TRACE] waypoint: starting interrupt listener for context cancellation
    
    2020-10-15T21:17:13.038Z [TRACE] waypoint: interrupt listener goroutine started
    
    2020-10-15T21:17:13.038Z [DEBUG] waypoint: home configuration directory: path=/home/waypoint/.config/waypoint
    
    2020-10-15T21:17:13.038Z [INFO] waypoint.server: opening DB: path=/data/data.db
    
    2020-10-15T21:17:23.009Z [INFO] waypoint.server: gracefully closing db: path=/data/data.db
    
    2020-10-15T21:17:23.009Z [TRACE] waypoint: stopping signal listeners and cancelling the context
    
    ! Error initializing server: context deadline exceeded
    
    bug waiting-reply 
    opened by sandeep540 30
  • feat: add deployment URL

    feat: add deployment URL

    This PR, which has https://github.com/hashicorp/waypoint-plugin-sdk/pull/27 as a pre-requisite, adds support for Deployment URLs.

    With this PR, it is now possible to show in the CLI the deployment URLs provided by the plugins, without the need of Horizon (URL Service).

    Warning: The PR contains a go.mod entry that points to our fork since the PR in https://github.com/hashicorp/waypoint-plugin-sdk hasn't been merged yet.

    core 
    opened by denysvitali 21
  • Waypoint not deploying in private nomad cluster

    Waypoint not deploying in private nomad cluster

    Describe the bug waypoint not intializing in nomad cluster

    Steps to Reproduce https://learn.hashicorp.com/tutorials/waypoint/get-started-nomad?in=waypoint/get-started-nomad waypoint init [email protected]: ~/waypoint-examples/nomad/nodejs# waypoint install -platform=nomad --nomad-dc=nomad -accept-tos ❌ Nomad allocation created ! Error installing server into Nomad: allocation failed

    Expected behavior it should deploy in nomad cluster.

    image

    bug plugin/nomad waiting-reply 
    opened by thatsk 20
  • Nomad 1.3.0: Node excluded because = 1.7.0"">

    Nomad 1.3.0: Node excluded because "${attr.consul.version} semver >= 1.7.0"

    Following the official tutorial, when deploying the example nodejs application, Waypoint errors out with:

    * Constraint "${attr.consul.version} semver >= 1.7.0": 1 nodes excluded by filter
    

    Full logs below. And my consul version is above 1.7.0 (at 1.12.0).

    Steps to Reproduce Follow the tutorial

    nomad agent -dev -network-interface=enp8s0 -config=nomad.config
    

    with this nomad.config to account for the host volume:

    client {
      host_volume "waypoint-server" {
        path = "/data/waypoint-server"
        read_only = false
      }
    }
    

    with a waypoint install command (adjusted for host volume):

    waypoint install -platform=nomad -accept-tos -nomad-host-volume=waypoint-server -nomad-consul-service=false  
    

    waypoint, indeed, creates it's db:

    [email protected]: ~# ls -Rlh /data                         
    /data:
    total 4.0K
    drwxr-xr-x 2 systemd-network vagrant 4.0K May 22 22:35 waypoint-server
    
    /data/waypoint-server:
    total 44K
    -rw------- 1 systemd-network vagrant 64K May 22 22:42 data.db
    -rw------- 1 systemd-network vagrant   0 May 22 22:35 waypoint-restore.db.lock
    

    the official example nodejs waypoint was used --> https://github.com/hashicorp/waypoint-examples/blob/main/nomad/nodejs/waypoint.hcl

    Expected behavior The nodejs application to start.

    Waypoint Platform Versions

    • Waypoint CLI Version:
    • Waypoint Server Platform and Version: (like docker, nomad, kubernetes)
    • Waypoint Plugin: (like aws/ecs, pack, azure)
    [email protected]:~# waypoint version
    CLI: v0.8.2 (5b8885480)
    Server: v0.8.2
    [email protected]:~# consul version
    Consul v1.12.0
    Revision 09a8cdb4
    Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)
    
    [email protected]:~# nomad version
    Nomad v1.3.0 (52e95d64113e01be05d585d8b4c07f6f19efebbc)
    [email protected]:~# vault version
    Vault v1.10.3 (af866591ee60485f05d6e32dd63dde93df686dfb)
    [email protected]:~# docker info
    Client:
     Debug Mode: false
    
    Server:
     Containers: 2
      Running: 2
      Paused: 0
      Stopped: 0
     Images: 13
     Server Version: 19.03.11
     Storage Driver: overlay2
      Backing Filesystem: extfs
      Supports d_type: true
      Native Overlay Diff: true
     Logging Driver: json-file
     Cgroup Driver: cgroupfs
     Plugins:
      Volume: local
      Network: bridge host ipvlan macvlan null overlay
      Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
     Swarm: inactive
     Runtimes: runc
     Default Runtime: runc
     Init Binary: docker-init
     containerd version: 7eba5930496d9bbe375fdf71603e610ad737d2b2
     runc version: v1.0.0-0-g84113ee
     init version: fec3683
     Security Options:
      apparmor
      seccomp
       Profile: default
     Kernel Version: 5.4.0-80-generic
     Operating System: Ubuntu 20.04.2 LTS
     OSType: linux
     Architecture: x86_64
     CPUs: 2
     Total Memory: 7.775GiB
     Name: vagrant
     ID: 7CYX:MNFM:YUVU:RI3M:XT3C:YZSH:R3ZP:VSOQ:M55N:QAW2:JSFU:74TB
     Docker Root Dir: /var/lib/docker
     Debug Mode: false
     Registry: https://index.docker.io/v1/
     Labels:
     Experimental: false
     Insecure Registries:
      127.0.0.0/8
    

    Additional context Add any other context about the problem here.

    logs from a generic ubuntu focal:

    [email protected]:~/waypoint-examples/nomad/nodejs# ls
    index.js  package.json  public  README.md  views  waypoint.hcl
    [email protected]:~/waypoint-examples/nomad/nodejs# waypoint init
    ✓ Configuration file appears valid
    ✓ Connection to Waypoint server was successful
    ✓ Project "example-nodejs" and all apps are registered with the server.
    
    Project initialized!
    
    You may now call 'waypoint up' to deploy your project or
    commands such as 'waypoint build' to perform steps individually.
    [email protected]:~/waypoint-examples/nomad/nodejs# waypoint up
      Performing operation locally
    
    » Building example-nodejs...
    ✓ Running build v1
    Warning! Buildpacks are known to have issues on architectures other than amd64. The architecure being reported by the Docker server is "x86_64". We will still attempt to build the image,
    but may run into issues.
    Creating new buildpack-based image using builder: heroku/buildpacks:20
    ✓ Creating pack client
    ✓ Building image
     │ [exporter] Adding layer 'process-types'
     │ [exporter] Adding label 'io.buildpacks.lifecycle.metadata'
     │ [exporter] Adding label 'io.buildpacks.build.metadata'
     │ [exporter] Adding label 'io.buildpacks.project.metadata'
     │ [exporter] Setting default process type 'web'
     │ [exporter] Saving example-nodejs...
     │ [exporter] *** Images (42f4521666c2):
     │ [exporter]       example-nodejs
     │ [exporter] Adding cache layer 'heroku/nodejs-engine:dist'
     │ [exporter] Adding cache layer 'heroku/nodejs-npm:toolbox'
    ✓ Injecting entrypoint binary to image
    
    Generated new Docker image: example-nodejs:latest
    ✓ Running push build v1
    ✓ Tagging Docker image: example-nodejs:latest => nodejs-example:1
    ✓ Docker image pushed: nodejs-example:1
    
    » Deploying example-nodejs...
    ✓ Running deploy v1
    ✓ Job registration successful
    ✓ Evaluation status changed: "pending" -> "complete"
    ⚠️ Evaluation "59459995-c2e7-30cc-dbcf-3a3c04c51400" finished with status "complete" but failed to place all allocations
    ⚠️ Task Group "example-nodejs-01g3gwqgmrh02msgt0jhvg2v5t" (failed to place 1 allocation):
      * Constraint "${attr.consul.version} semver >= 1.7.0": 1 nodes excluded by filter
    ⚠️ Evaluation "860af1f2-6dd1-d4a1-ea55-ba161bda2c6b" waiting for additional capacity to place remainder
    example-nodejs-01g3gwqgmrh02msgt0jhvg2v5t
    ! Failed to schedule all allocations
    

    full focal -vvv waypoint deploy log archlinux full debug

    discuss.hashicorp topic

    EDIT: I upgraded nomad to 1.3.1 and reran on a fresh focal install, pretty much the same results, I have a gist of the waypoint deploy -vvv step and the accompanying nomad stdout here.

    Vagrantfile

    EDIT: workaround with consul Vagrantfile

    vagrant up && vagrant ssh
    

    then

    sudo -i
    ./start.sh
    
    bug plugin/nomad core/install 
    opened by joshuacox 19
  • Couldn't find a Waypoint deployment with this URL

    Couldn't find a Waypoint deployment with this URL

    Describe the bug After running the following command waypoint up could see in the console output

    Deployment URL: https://globally-helping-haddock--v4.waypoint.run

    but, when opening the url in a browser tab getting the error Couldn't find a Waypoint deployment with this URL

    Also, please find attache the snapshot of the error.

    image

    Steps to Reproduce Follow the exact steps mentioned in the Getting Started guide https://www.waypointproject.io/docs/getting-started After running the command waypoint up i could see the below response on the console.

    
    » Building...
    Creating new buildpack-based image using builder: heroku/buildpacks:18
     + Creating pack client
     + Building image
     │ [exporter] Adding 1/1 app layer(s)
     │ [exporter] Adding layer 'launcher'
     │ [exporter] Adding layer 'config'
     │ [exporter] Adding label 'io.buildpacks.lifecycle.metadata'
     │ [exporter] Adding label 'io.buildpacks.build.metadata'
     │ [exporter] Adding label 'io.buildpacks.project.metadata'
     │ [exporter] *** Images (ebe25a8c6faa):
     │ [exporter]       index.docker.io/library/example-nodejs:latest
     │ [exporter] Reusing cache layer 'heroku/nodejs-engine:nodejs'
     │ [exporter] Reusing cache layer 'heroku/nodejs-engine:toolbox'
     + Injecting entrypoint binary to image
    
    Generated new Docker image: example-nodejs:latest
    
    » Deploying...
     + Setting up waypoint network
     + Starting container
     + App deployed as container: example-nodejs-01EMR1KCKSCCEZBFY72S2F9MA8
    
    » Releasing...
    
    » Pruning old deployments...
      Deployment: 01EMQXFT1WH5C1NC6TDG17KHPH
    
    The deploy was successful! A Waypoint deployment URL is shown below. This
    can be used internally to check your deployment and is not meant for external
    traffic. You can manage this hostname using "waypoint hostname."
    
               URL: https://globally-helping-haddock.waypoint.run
    Deployment URL: https://globally-helping-haddock--v4.waypoint.run
    

    Expected behavior Should be able to see the url with demo content

    Additional context

    bug url-service 
    opened by moinuddin14 18
  • General feedback and all bugs found during deployment of 8 microservices on AWS EKS and usage during past couple of months

    General feedback and all bugs found during deployment of 8 microservices on AWS EKS and usage during past couple of months

    Is your feature request related to a problem? Please describe. Yes, please see "Additional context".

    Describe the solution you'd like Evaluate the feedback and implement fixes in the future releases.

    Describe alternatives you've considered none

    Explain any additional use-cases See additional context

    Additional context Here is my experience with the HCP Waypoint on two projects with 8 micro services deployed on AWS EKS cluster during a past couple of months. Waypoint v0.7 and v0.8 (v0.9 not tested yet).

    1. waypoint fmt always shows changes in files while the exit code is 0 (#3816). Also unlike in the other HCP products argument check is missing - we usually use it in pipelines during code validation phase after push in order to keep the code formatting in line. (edit by @krantzinator: #3817)
    [15:01:51](main) ~/git/XY $ waypoint fmt
    waypoint.hcl
    
    [15:02:35](main) ~/git/XY $ waypoint fmt
    waypoint.hcl
    
    [15:02:38](main) ~/git/XY $ waypoint version
    CLI: v0.8.2 (5b8885480)
    Server: v0.8.2
    
    1. (edit by @krantzinator: fixed in 0.9+) Helm install fails to bootstrap waypoint if PV exists (Waypoint is already bootstrapped), manual clean is required
    2. (edit by @krantzinator: fixed in 0.9+) Waypoint install does not deploy K8S cluster SA which limits the application deployment to the default namespace only (or the same ns as waypoint), manual deployment of the cluster SA resources is necessary when using custom ns for applications. Also try to find this information in your documentation or repositories. Cluster SA resources yaml is located in the one of your demo repositories only and not in the repositories where one would expect it. If I remember well, Helm is also missing cluster SA, but I am not 100% sure now. UPDATE: I am sure now. I have another project and fresh deployment to EKS using the latest Helm and I had to help myself out and deploy the clusterRoleBinding so that Waypoint can manage other resources. This is not the best security practice but I need something working first.
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      annotations:
      name: waypoint-runner-clusterrolebinding
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: ServiceAccount
      name: waypoint-runner-odr
      namespace: waypoint
    
    1. waypoint restore from backup restores also tokens which means that default runner stops working immediately and needs to be reconfigured (deleted and added with the new invite token), also local config file needs a backup, otherwise it is rewritten with the new waypoint installation and then you do not have the previous token when you restore from backup and which results in losing access to the waypoint server completely. I somehow found reconfiguring all repositories and executing ~15 commands faster than trying to recover all failing parts after restoration from backup. (edit by @krantzinator: #3818)
    2. application created in project by mistake cannot be deleted, same for project, runner profile and many other resources, delete api is mostly missing (edit by @krantzinator: will be fixed in 0.10, see PR in comments)
    3. runner Kubernetes tasks are not deleted automatically, kubectl -n waypoint get pods shows thousands of finished tasks (edit by @krantzinator: fixed in 0.9+)
    4. variables - dynamically sourced variables must be only string! I was trying to configure a map for database credentials under one variable. Now I have to use separate variables for user name and password. (edit by @krantzinator: #3819)
    5. Docker pull plugin cannot pull from ECR due to missing/unsupported credentials type (edit by @krantzinator: #3821)
    6. conditionals missing for certain configuration parts and must be workarounded using empty variables - for example K8S ingress deployment in PR/MR. Yes, there is an advanced configuration option with environments, but simple boolean would be sometimes better for newbies :) Using the variable option now host = "my-app${var.endpoint_url_suffix}.my.domain" where the url suffix is empty variable on stable releases.
    7. TF Cloud source plugin is unpredictable and I failed to used it due to some weird error about variable which has to be unset first (edit by @krantzinator: tracked in https://github.com/hashicorp/waypoint/issues/3675)
    8. K8S environment variable from secret should be represented in the applied deployment resource as a reference to the secret and not as the exact value from the secret. I could not find a way how to refer to the secret in env. vars directly instead of using dynamic variable and then referring the var. value using native Waypoint syntax, see below. (edit by @krantzinator: #3823)
    variable "postgres_admin_name" {
      default = dynamic("kubernetes", {
        name      = "rds-schema-credentials"
        namespace = "app-ns"
        key       = "admin_user"
        secret    = true
      })
      type        = string
      sensitive   = true
      description = "postgres admin username"
    }
    deploy {
        use "kubernetes" {
          static_environment = {
            DB_USERNAME    = var.postgres_admin_name # results in the explicit value, not a reference to dynamic source. Is there a way to set a reference to a k8s resource?
    }
    
    1. git repository configuration which would allow dynamic branch configuration and git secrets sourcing from environment variables or secrets managers would improve the experience with Waypoint significantly. Now I have to keep the cli commands somewhere safe in case I would need to recover Waypoint from failure. (edit by @krantzinator: see https://registry.terraform.io/providers/hashicorp-dev-advocates/waypoint/0.3.0 to manage this)
    2. How do I list Waypoint workspace resources from foreign contexts? Like a root user overview? There is a pipeline user which uses different workspaces during PR/MR deployments as suggested in the Waypoint docs. I wanted to check that context but I was unable to find an easy way to switch to that context and list all workspaces and its resources used by that foreign context.
    3. urls generated using auto_hostname are not being deleted when workspace is destroyed or when new deployment succeeds and there is a new url generated for it, there has to be another extra pipeline step in order to delete them (edit by @krantzinator: #3824)
    WHOSTS=`waypoint hostname list -plain -workspace=$CI_COMMIT_REF_SLUG | tail -n +3 | awk '{print $1}'`
    for hostname in ${WHOSTS}; do waypoint hostname delete ${hostname}; done
    
    1. heroku auto-magic does not really produce production-like containers. Is there any way how to improve it besides using custom Dockerfile?

    Overall, I really like Waypoint! It is an excellent choice and a silver bullet solution for certain projects and it is incredible what it can do with only few configuration lines. But the issues listed above made me struggling sometimes more than I would be willing to accept if I would know about them earlier. Especially the missing delete api's are really frustrating and I had to wipe out and reconfigure Waypoint many times before I was mostly satisfied with the result. Anyway, keep the good work and I hope that you will get some of the worst bugs resolved soon 😄

    waiting-reply 
    opened by rastakajakwanna 14
  • Waypoint UI losing application.log history after changing tabs

    Waypoint UI losing application.log history after changing tabs

    I noticed that after application startup when following the application.log in the UI, if i switch to another tab in the ui, ie Builds or Deployments and then go back to the Logs tab immediately the log history is lost. I no longer see the logs from my application startup. But instead i see the following two lines:

    2020-12-17T13:09:15+01:00: [ERROR] entrypoint.log: log stream disconnected from server, attempting reconnect: err=EOF
    2020-12-17T13:08:53+01:00: [ERROR] entrypoint.log: log stream disconnected from server, attempting reconnect: err=EOF
    

    For debugging purposes i've also attached an image of how it looks before i switch tabs:

    wp_ui

    It should also be mentioned that these entrypoint.log errors where non existant on WP version 0.1.5. For the record, we have been running on AWS Fargate all the time.

    bug core 
    opened by kfh 14
  • Waypoint failed to install on DigitalOcean Kubernetes

    Waypoint failed to install on DigitalOcean Kubernetes

    Describe the bug

    I tried to install Waypoint on a Kubernetes cluster created on DigitalOcean by following the instructions on HashiCorp Learn and was met with this error:

    ❯ waypoint install --platform=kubernetes -accept-tos
    ✓ Creating Kubernetes resources...
     │ service/waypoint created
     │ statefulset.apps/waypoint-server created
    ✓ Kubernetes StatefulSet reporting ready
    ✓ Waiting for Kubernetes service to become ready..
    ❌ Connecting to: 206.189.254.81:9701
    ! Error connecting to server: context deadline exceeded
    
      The Waypoint server has been deployed, but due to this error we were
      unable to automatically configure the local CLI or the Waypoint server
      advertise address. You must do this manually using "waypoint context"
      and "waypoint server config-set".
    

    The Waypoint Server is in CrashLoopBackOff:

    ❯ kubectl get po waypoint-server-0
    NAME                READY   STATUS             RESTARTS   AGE
    waypoint-server-0   0/1     CrashLoopBackOff   6          7m39s
    

    And the logs indicate a permission issue when opening the database:

    ❯ kubectl logs waypoint-server-0
    2020-10-29T23:49:41.781Z [INFO]  waypoint: waypoint version: full_string="Waypoint v0.1.4 (3810a3c7+CHANGES)" version=v0.1.4 prerelease= metadata= revision=3810a3c7+CHANGES
    2020-10-29T23:49:41.781Z [TRACE] waypoint: starting interrupt listener for context cancellation
    2020-10-29T23:49:41.782Z [DEBUG] waypoint: home configuration directory: path=/home/waypoint/.config/waypoint
    2020-10-29T23:49:41.782Z [INFO]  waypoint.server: opening DB: path=/data/data.db
    2020-10-29T23:49:41.782Z [TRACE] waypoint: stopping signal listeners and cancelling the context
    ! Error opening database: open /data/data.db: permission denied
    2020-10-29T23:49:41.782Z [TRACE] waypoint: interrupt listener goroutine started
    

    Steps to Reproduce

    1. Create a Kubernetes cluster on DigitalOcean.
    2. Add the kubeconfig locally via doctl.
    3. Run waypoint install --platform=kubernetes -accept-tos

    Expected behavior

    That the Waypoint Server runs.

    Additional context

    The Kubernetes version is 1.19.3-do.0.

    bug plugin/k8s waiting-reply 
    opened by ianwalter 14
  • failed to create client: context deadline exceeded

    failed to create client: context deadline exceeded

    Describe the bug

    Every operation with waypoint cli results in failed to create client: context deadline exceeded.

    Steps to Reproduce Steps to reproduce the behavior. Please include any waypoint.hcl files if applicable.

    i have multipass based ubuntu 20.04 vm, initially everything worked. k3s is installed and waypoint server components are installed.

    kubectl get all
    NAME                       READY   STATUS    RESTARTS   AGE
    pod/waypoint-server-0      1/1     Running   2          160m
    pod/svclb-waypoint-tfzps   2/2     Running   2          160m
    
    NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)                         AGE
    service/kubernetes   ClusterIP      10.43.0.1       <none>         443/TCP                         3h39m
    service/waypoint     LoadBalancer   10.43.141.177   172.20.20.45   9701:31813/TCP,9702:32692/TCP   160m
    
    NAME                            DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/svclb-waypoint   1         1         1       1            1           <none>          160m
    
    NAME                               READY   AGE
    statefulset.apps/waypoint-server   1/1     160m
    

    After restart, vm ip has been changed and now every waypoint cli invoke results in failed to create client: context deadline exceeded. waypoint web ui is also available but not able to interact with the server. Any option to reset client to regenerate token etc as even not able to regenerate token as well with waypoint token new

    Thanks

    opened by wahmedswl 14
  • [WIP] builtin/aws: graceful destroy of ALB/Lambda target group

    [WIP] builtin/aws: graceful destroy of ALB/Lambda target group

    This ensures that ALB-related resources get destroyed properly during Lambda teardown by:

    • Adding Destroyer to the ALB releaser.
    • Adding a rudimentary waiter to the target group removal in the Lambda destroyer.

    The latter ensures that the target group can be removed successfully as in addition to removing the dependent ALB as it can take a moment for the ALB removal/detachment to fully register.

    plugin plugin/aws 
    opened by vancluever 13
  • Server install to Nomad+Consul fails with context canceled error

    Server install to Nomad+Consul fails with context canceled error

    Describe the bug

    Install to Nomad fails first time with:

    ❌ Connecting to: waypoint-ui.service.skynet.consul:9702
    ❌ Failed to connect to Waypoint server after max retry attempts of 12
    ! Error connecting to server: error connecting to server: context canceled
    A clear and concise description of what the bug is.
    

    Inspecting nomad; the waypoint-server job is installed, starts fine, but is never bootstrapped.

    Running the same waypoint install command (below) a second time causes the install to complete successfully, and I am able to generate a token from the CLI and login.

    ⚠️ Detected existing Waypoint server
    ✓ Configured server connection
    ✓ Successfully connected to Waypoint server in Nomad!
    ✓ Server installed and configured!
    Waypoint server successfully installed and configured!
    

    Is the installer caching a failed consul DNS lookup or similar?

    Steps to Reproduce

    waypoint install -platform=nomad -accept-tos \
            -nomad-host=https://nomad.service.consul:4646 \
            -nomad-host-volume=waypoint-server-data \
            -nomad-runner-host-volume=waypoint-runner-data \
            -nomad-dc=skynet -nomad-consul-datacenter=skynet \
            -runner=false
    

    Running the initial install with -v through -vvv does not appear to give any more detail on why it is unable to connect to the UI server.

    While the server install process is in the middle of it's retries:

    ⠏ Connecting to: waypoint-ui.service.skynet.consul:9702    
    ⚠️ Retry connecting to server ... 4/12 retries: error connecting to server: context deadline exceeded
    

    I am able to curl the ui service just fine from the same machine:

    > curl -ks https://waypoint-ui.service.skynet.consul:9702/ |head
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>Waypoint</title>
        <meta name="description" content="" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
    

    Expected behavior Success install in one step

    Waypoint Platform Versions Additional version and platform information to help triage the issue if applicable:

    • Waypoint CLI Version: 0.10.5
    • Waypoint Server Platform and Version: nomad 1.3.7
    • Waypoint Plugin: N/A

    Additional context Add any other context about the problem here.

    new 
    opened by jhillyerd 0
  • Allow complex non-string types for dynamic default variables

    Allow complex non-string types for dynamic default variables

    Depends on https://github.com/hashicorp/waypoint-plugin-sdk/pull/79 Demonstrated in https://github.com/hashicorp/waypoint-examples/pull/106

    Internal video describing the motivation (thanks @andrew-hashicorp): https://drive.google.com/file/d/1aCDfFioVELb7Q9MZhN0XiRegUlNJ4LdM/view?usp=share_link

    Internal video code walkthrough: https://drive.google.com/file/d/1-58UzSXTJFWnlBoE4LpoIQsg1hExubxV/view?usp=share_link

    What does this do?

    Prior to this, waypoint only supported string types in variables with dynamic defaults. Configsourcer plugins could only emit strings, and if a user tried to use any type other than string for a variable with a dynamic default, waypoint would throw a validation error.

    This updates configsourcer plugins to optionally return json, which is then interpreted internally as an hcl snippet and can be used as a complex type anywhere else in the hcl. It also allows users to specify non-string types, or use the any type to opt out of early type checking.

    This also updates the terraform configsourcer to output json if a user picks a variable with a non-string json-representable type. It also allows the user to omit the output field, in which case the plugin returns all of the workspace's outputs as a map.

    Motivation

    The primary motivation here is to make it easier to pull more values from terraform cloud.

    See this example of using terraform to manage all the infrastructure associated with an ECS deployment in two environments: https://github.com/izaaklauer/acmeapp1/blob/main/waypoint.hcl. You'll notice that it involves 27 variables across three workspaces. It also forces users to take the list of subnets output and turn it into many individual string outputs, as waypoint can't natively consume the list.

    This change brings us down to three variable stanzas, one per workspace: https://github.com/izaaklauer/acmeapp1/blob/443ab9e64734bcf834a9309d1035d98e505263d0/waypoint.varmulti.hcl#L74-L107

    It also allows native use of the subnets list variable: https://github.com/izaaklauer/acmeapp1/blob/443ab9e64734bcf834a9309d1035d98e505263d0/waypoint.varmulti.hcl#L36

    After this is merged, we intend to write a full public use-case.

    How do I test this?

    I build a sample project in waypoint-examples: https://github.com/hashicorp/waypoint-examples/pull/106. You can use that to test the feature, and we can merge the example once this is released in core waypoint.

    core website plugin 
    opened by izaaklauer 0
  • Waypoint doesn't find docker-desktop socket

    Waypoint doesn't find docker-desktop socket

    Describe the bug

    Waypoint does not use the docket-desktop socket, $HOME/.docker/desktop/docker.sock

    waypoint install -platform=docker -accept-tos
    ❌ Checking for existing installation...
    ! Error installing server into docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the
      docker daemon running?
    

    Steps to Reproduce

    # install docker desktop
    sudo dnf install waypoint
    waypoint install -platform=docker -accept-tos
    

    Expected behavior

    Waypoint server is installed to docker using $HOME/.docker/desktop/docker.sock.

    Waypoint Platform Versions

    • Waypoint CLI Version: CLI: v0.10.5 (ece0f7541)
    • Waypoint Server Platform and Version: docker
    • Waypoint Plugin: N/A

    Additional context

    Fedora 37, Docker Desktop 4.15.0 (93002)

    new 
    opened by bradydean 0
  • Waypoint will not start with Nomad, Podman and Nomad Podman Driver

    Waypoint will not start with Nomad, Podman and Nomad Podman Driver

    Describe the bug When running waypoint install -platform=nomad -accept-tos -nomad-host-volume=wp-server-vol -nomad-runner-host-volume=wp-runner-vol -nomad-consul-service=false on a Nomad server using podman and the nomad-podman-driver the container never starts and the following error occurs.

    msg="Request Failed(Internal Server Error): crun: cannot set memory swappiness with cgroupv2: OCI runtime error"

    Steps to Reproduce

    Operating System: Rocky 9.1

    Nomad version: 1.4.3

    driver.podman: driver.podman.cgroupVersion | v2 driver.podman.rootless | false driver.podman.version | 4.2.0

    Podman: Client: Podman Engine Version: 4.2.0 API Version: 4.2.0 Go Version: go1.18.4 Built: Tue Nov 15 09:00:08 2022 OS/Arch: linux/amd64

    Expected behavior Waypoint Server starts inside of Nomad running under Podman and Nomad Podman Driver

    Waypoint Platform Versions Additional version and platform information to help triage the issue if applicable:

    • Waypoint CLI Version: CLI: v0.10.5 (ece0f7541)
    • Waypoint Server Platform and Version: nomad 1.4.3
    • Waypoint Plugin: none

    Additional context Not sure what else to provide

    new 
    opened by Teknoenie 0
  • Feature: Delete Workspace and workspace-related resources

    Feature: Delete Workspace and workspace-related resources

    Is your feature request related to a problem? Please describe.

    Sometimes I'll create a workspace to test operations with Waypoint. I'd like to delete it now that I've finished using it. We should do more than simply deleting the workspace record from the database, we should delete the workspace-scoped resources too.

    Describe the solution you'd like

    Introduce an endpoint and CLI command, WorkspaceDelete and waypoint workspace delete that deletes the workspace record as well as any workspace scoped resources, similar to project delete.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Explain any additional use-cases If there are any use-cases that would help us understand the use/need/value please share them as they can help us decide on acceptance and prioritization.

    Additional context Add any other context or screenshots about the feature request here.

    enhancement core new core/cli 
    opened by briancain 0
Releases(v0.10.5)
  • v0.10.5(Dec 15, 2022)

    0.10.5 (December 15, 2022)

    SECURITY:

    • Waypoint now uses Go 1.19.4 to address security vulnerability (CVE-2022-41717) See the Go announcement for more details.

    IMPROVEMENTS:

    • cli: Respect -remote-source overrides for submitted job template when running waypoint pipeline run. [GH-4319]
    • config: Remove the multi-app deprecation warning. Please see https://discuss.hashicorp.com/t/deprecating-projects-or-how-i-learned-to-love-apps/40888/12 for more information. [GH-4265]

    BUG FIXES:

    • plugin/ecs: runner install now creates aws policies to facilitate remotely running StopTask and WatchTask jobs [GH-4296]
    Source code(tar.gz)
    Source code(zip)
  • v0.10.4(Dec 8, 2022)

    0.10.4 (December 08, 2022)

    FEATURES:

    • plugin/ecs: Accept ALB security group IDs. [GH-4230]
    • plugin/packer: A Packer config sourcer plugin to source machine image IDs from an HCP Packer channel. [GH-4251]

    IMPROVEMENTS:

    • cli/runnerinstall: Check if runner is registered to the server before attempting to forget it. [GH-3944]
    • cli/runnerinstall: Delete EFS file system during ECS runner uninstall. [GH-3944]
    • cli: project destroy requires the -project or -p flag regardless of where it's run. [GH-4212]
    • cli: Pipeline run now shows the number of steps successfully executed for a failed run. [GH-4268]

    BUG FIXES:

    • cli/context: Fix possible error when listing contexts if a non-Waypoint context file exists in the context directory. [GH-4257]
    • cli: Ensure a deploy and release URL has a scheme included if not set. [GH-4208]
    • cli: project destroy now successfully destroys a project created in the UI without a remote source or local waypoint.hcl file. [GH-4212]
    • plugin/nomad: Update Nomad task launcher plugin to use entrypoint config - fixes pipeline exec steps run in Nomad. [GH-4185]
    • plugin/vault: Fix usage of dynamic secrets from Vault for dynamic Waypoint app config. [GH-3988]
    Source code(tar.gz)
    Source code(zip)
  • v0.10.3(Nov 3, 2022)

    0.10.3 (November 03, 2022)

    FEATURES:

    • plugin/consul: Consul key-value data config sourcer plugin [GH-4045]

    IMPROVEMENTS:

    • cli/config-sync: Add operations flags to config sync command. [GH-4143]
    • cli/fmt: Add a -check flag that will determine if the waypoint.hcl is already properly formatted, similar to terraform fmt -check. [GH-4020]
    • cli/pipeline_run: Show app deployment and release URLs if exist from running pipeline. Also show input variables used. [GH-4096]
    • cli: Add prune flags to waypoint deploy for configuring the automatic release. [GH-4114]
    • cli: Introduce new CLI flag -reattach for waypoint pipeline run which will stream an existing pipeline run either by the latest known run or a specific sequence id. [GH-4042]
    • cli: Only echo file name when config file is formatted with waypoint fmt. [GH-4111]
    • cli: Update waypoint runner profile inspect to show default runner profile if no name argument supplied. [GH-4078]
    • core: Auto run a status report after a deployment or release operation rather than only if waypoint deploy or waypoint release CLI is run. [GH-4099]
    • core: Combine git clone messages from job stream into a single message [GH-4115]
    • pipelines: Add ability to evaluate input variables in pipelines stanzas. [GH-4132]
    • ui/input-variables: Adds the ability to set an input variable as sensitive and hides its value from the list and form [GH-4139]

    BUG FIXES:

    • cli/runner-profile-set: Fix panic when setting runner profile environment variables [GH-3995]
    • cli/upgrade: Update the OCI URL for the bootstrap runner profile during server upgrade [GH-4175]
    • cli: Fix bug where input variables were not included on pipeline run jobs. [GH-4137]
    • cli: Fix panic in waypoint runner profile set when no flags are specified. [GH-4013]
    • cli: Fix panic in cli for waypoint task cancel if attempting to cancel by run job id with no argument. [GH-4019]
    • cli: Only show "CompleteTime" on waypoint pipeline list if the job has a valid complete time. [GH-4113]
    • cli: Remove automatic uppercasing of ids, so that future runner profiles will match [GH-4063]
    • cli: Respect the -workspace flag when requesting a logstream for a deployment by workspace [GH-4009]
    • core: Fix panic if no Use stanza found for given workspace scope on a build, deploy, release, or registry stanza. [GH-4112]
    • core: fix panic when null value is set on a string variable [GH-4067]
    • install/nomad: Update installation with Nomad to use CSI parameters. [GH-4157]
    • pipelines: Properly mark a pipeline run as complete [GH-4053]
    • plugin/docker: fix issue with authenticating with registries when using docker-pull [GH-4121]
    Source code(tar.gz)
    Source code(zip)
  • v0.10.2(Oct 3, 2022)

    0.10.2 (October 03, 2022)

    BREAKING CHANGES:

    • plugin/helm: Add support for create_namespace and skip_crds (default is now false) [GH-3950]

    IMPROVEMENTS:

    • cli/runnerinstall: Update runner install to set the new profile as the default if none exists [GH-3922]
    • cli: A new -runner-target-any flag has been added to runner profile set to allow users to specify targeting any runner. [GH-3854]
    • cli: Setting configurations in a runner profile no longer resets unspecified configuration [GH-3854]
    • plugin/ecs: Implement WatchTask plugin for AWS ECS task launcher. Store ECS on-demand runner logs in the job system. [GH-3918]
    • plugin/docker: Add new docker-ref plugin for a build noop for referencing a Docker Image [GH-3912]

    BUG FIXES:

    • cli/install: Set image pull policy configuration on Helm installation of Waypoint server and runner [GH-3948]
    • cli: Fix panic when setting project datasource to local [GH-3972]
    • core: Connected entrypoints for deleted projects now error out properly. [GH-3949]
    • core: Fix out of order job ids for waypoint pipeline run job stream CLI. [GH-3946]
    • plugin/nomad-jobspec: Fix deployment of periodic and system Nomad jobs. [GH-3963]
    • ui: Fix crash when encountering resources without IDs [GH-3929]
    Source code(tar.gz)
    Source code(zip)
  • v0.10.1(Sep 22, 2022)

    0.10.1 (September 22, 2022)

    IMPROVEMENTS:

    • core: Update TaskCancel to also cancel WatchTask job, if it was launched. [GH-3893]

    BUG FIXES:

    • plugin/nomad-jobspec: Update Nomad jobspec status check to not report partial health for deployments with canaries [GH-3883]
    • plugin/nomad: Update Nomad task launcher plugin to respect namespace and region configs in runner profile [GH-3883]
    • plugin: Fix panic in non-ECS plugins when destroying resources [GH-3896]
    • runner-install/k8s: Use the service account created by helm in the runner profile, rather than using the default service account. [GH-3894]
    • runner-install/kubernetes: Fix the static runner image used in the waypoint runner install command [GH-3890]
    Source code(tar.gz)
    Source code(zip)
  • v0.10.0(Sep 13, 2022)

    0.10.0 (September 13, 2022)

    FEATURES:

    • core: Custom Pipelines as a Tech Preview gives users the ability to define custom pipelines to run various Waypoint actions such as a build, deploy, release, up and more for deploying applications. Waypoint will monitor and log each pipeline run, associated jobs, and show the results of executing that pipeline. [GH-3777]
    • core: Project Destroy Introduce a new CLI command project destroy to delete projects in Waypoint and destroy their associated resources [GH-3626]
    • CLI: New waypoint.hcl interactive generator, accessed with waypoint init when no waypoint.hcl exists in the current project [GH-3704]

    IMPROVEMENTS:

    • CLI: Nomad CSI volumes names can be specified during installation and upgrades for both Waypoint runners and Waypoint server installations [GH-3546]
    • cli/runnerinstall: The runner profile created by runner install sets target labels instead of a target runner ID on the runner profile, if the user supplied label flags [GH-3755]
    • cli: Add option to waypoint logs command to get a specific deployment's logs [GH-3656]
    • cli: Fix incorrect description for destroy -h command. [GH-3580]
    • cli: Implement waypoint job get-stream to allow users to attach to running job streams and receieve output, or get the output from an existing job stream that already finished. [GH-3410]
    • cli: Internal-only labels on runners are hidden from CLI output for waypoint runner list and waypoint runner inspect [GH-3746]
    • install/runner: Allow additional arguments for waypoint runner agent command to be supplied to waypoint runner install CLI [GH-3746]
    • internal/runnerinstall: Fix order of error checking and make error message more specific [GH-3772]
    • plugin/k8s: Add ephemeral-storage resource limits to on-demand runners through runner profiles. [GH-3676]
    • plugin/nomad: Implement WatchTask plugin for Nomad task launcher. Store Nomad on-demand runner logs in the job system. [GH-3797]
    • plugin/nomad: nomad-jobspec deployments will no longer utilize the nomad-jobspec-canary releaser by default. [GH-3359]
    • serverinstall/ecs: Improve server upgrade process by stopping task and reducing target group drain time [GH-3564]
    • ui: Fix header spacing on build/release detail pages [GH-3614]
    • ui: Make it clearer that remote runners are required for GitOps [GH-3615]
    • ui: Update alert copy to reflect change that we are no longer removing project definitively in 0.10.0 [GH-3604]

    BUG FIXES:

    • cli/install/k8s: Fixes the k8s installer race condition with the bootstrap token [GH-3744]
    • cli/runnerinstall: Fix output error message for missing arguments on Nomad runner installation [GH-3761]
    • cli/runnerinstall: The runner profile created by runner install no longer sets the profile as the default, and appends the runner ID to the name of the profile for uniqueness [GH-3755]
    • cli/serverinstall/nomad: Add service discovery provider configuration to server install for Nomad. [GH-3500]
    • cli: Do not set runner profile defaultness to false if default flag not specified. [GH-3702]
    • cli: Fix issue where the CLI would exit with no error or action taken if a local waypoint.hcl file was invalid [GH-3657]
    • cli: Fix order of CLI outputs during install [GH-3729]
    • cli: Only show runner profile default deletion hint if more than 0 default profiles are detected on upgrades. [GH-3688]
    • cli: Set plugin configuration on runner profile created during runner install [GH-3699]
    • cli: Set the subnet and security group ID configs for the ECS task launcher plugin during an ECS runner install [GH-3701]
    • cli: deployment destroy will now attempt to destroy any known resources for failed deployments. Previously, destroy would skip unsuccessful deployments. [GH-3602]
    • cli: runner profile delete deletes by name rather than the user-invisible ID. [GH-3803]
    • cli: runner profile set does not create entries with duplicate names. [GH-3803]
    • core/runner: Default to odr oci image url for runner profiles created via runner install [GH-3800]
    • core/runner: Server no longer panics when a runner stopped after it is forgotten. [GH-3756]
    • core: prune releases which released deployments that are being pruned during a release [GH-3730]
    • internal/pkg/gitdirty: Fix an issue detecting dirty local source code when using [email protected] remotes. [GH-3636]
    • plugin/nomad-jobspec-canary: Retrieve the status of the correct Nomad job for the job resource [GH-3766]
    • ui: Add label to “follow logs” button [GH-3732]
    • ui: Make UI more resilient to invalid state JSON [GH-3786]
    • upgrade: Nomad server upgrade upgrade now detects runners with the name waypoint-runner or waypoint-static-runner [GH-3804]
    • upgrade: Update ECS server upgrade to respect -ecs-server-image flag when the existing server image is hashicorp/waypoint:latest [GH-3820]
    Source code(tar.gz)
    Source code(zip)
  • v0.9.1(Jul 28, 2022)

    0.9.1 (July 28, 2022)

    IMPROVEMENTS:

    • core: Adds string replace function for HCL configs [GH-3522]
    • plugin/nomad: Convert Nomad job for ODR to batch job [GH-3468]

    BUG FIXES:

    • internal: Fix deprecation warning being fatal [GH-3605]
    • plugin/tfc: Fix HCL field, refresh_interval [GH-3524]
    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Jul 5, 2022)

    0.9.0 (July 05, 2022)

    FEATURES:

    • Waypoint Task Tracking: Waypoint now tracks the lifecycle of on-demand runner tasks through a new internal core concept Task. As ODR jobs run, Task will keep track of what part the jobs are at for better debugging and on-demand runner insight. [GH-3203]
    • cli: New runner install and runner uninstall commands to install/uninstall Waypoint runners to a specified platform [GH-3335]
    • cli: New runner profile delete command to delete a Waypoint runner profile [GH-3474]
    • cli: Refactor k8s server install to use Helm [GH-3335]
    • core: Add ability to have cli and runners use OAuth2 to get an auth token [GH-3298]
    • plugin/aws-ecr-pull: Introduces an aws-ecr-pull builder plugin that enables using AWS ECR images that are built outside of Waypoint. [GH-3396]
    • plugin/lambda-function-url: Adds a new plugin and releaser component. This leverages Lambda URLs. [GH-3187]

    IMPROVEMENTS:

    • cli: Show list of existing default runner profiles on post-upgrade to warn user that only one runner profile should be default. [GH-3497]
    • cli: Add interactive input for server upgrade, server uninstall, and destroy commands [GH-3238]
    • cli: Remove unused flag runner-profile in waypoint project apply [GH-3318]
    • core/api: include commit message in datasource/git response [GH-3457]
    • core: on-demand runner logs are now captured from the underlying platform and stored in the job system. [GH-3306]
    • core: show helpful errors when using invalid runner profile plugin config [GH-3465]
    • plugin/nomad: Support Nomad service discovery in Nomad platform plugin [GH-3461]
    • runner: runners will now accept and execute multiple jobs concurrently if multiple jobs are available. On-demand runners continue to execute exactly one job since they are purpose launched for single job execution. [GH-3300]
    • server: Introduce basic server-side metric collections around operations [GH-3440]
    • serverinstall/k8s: By default, do not set a mem or cpu limit or request for the default runner profile installed. [GH-3475]
    • ui: Updated UI of breadcrumbs and UX to include current page [GH-3166]
    • upgrade: Warn user if default k8s runner profile has incorrect plugin configs [GH-3503]

    DEPRECATIONS:

    • config: More than one app stanza within a waypoint.hcl file is deprecated, and will be removed in 0.10. Please see https://discuss.hashicorp.com/t/deprecating-projects-or-how-i-learned-to-love-apps/40888 for more information.

      Since the initial version of Waypoint, the product has supported the ability to configure multiple apps within a single waypoint.hcl file. This functionality is deprecated and will be removed in the next release. The vast majority of users are not using this functionality and it served mostly as a source of confusion for users. For users who are using a monorepo pattern, we plan to add better workflows for you.

      With a waypoint.hcl now focused on the configuration of a single application, the concept of a project within the Waypoint data model will be removed, moving applications to the top level. This is already how users talk about using Waypoint and we are confident that it will improve the overall understanding of Waypoint as well.

      If you have questions about this change in functionality, we invite you to discuss with us at https://discuss.hashicorp.com/t/deprecating-projects-or-how-i-learned-to-love-apps/40888 or https://github.com/hashicorp/waypoint/issues.

      [GH-3466]

    BUG FIXES:

    • cli: fix git dirty check that was broken for some versions of the git cli [GH-3432]
    • cli: fix panic when running status report on app with zero prior deployments [GH-3425]
    • core: Fix a rare panic when generating an invite token. [GH-3505]
    • plugin/docker: Ensure that the docker task launcher does not require a resources block to be set when attempting to load a task config to launch a task. [GH-3486]
    • plugin/docker: fix issue with remote operations for docker-pull builder [GH-3398]
    • plugin/k8s: Properly parse kubernetes task launcher config on plugin invoke. [GH-3475]
    • upgrade: Update existing runner profile during server upgrade & change naming convention of initial runner profile [GH-3490]
    Source code(tar.gz)
    Source code(zip)
  • v0.8.2(May 19, 2022)

    0.8.2 (May 19, 2022)

    IMPROVEMENTS:

    • cli: Output message if no runners are found for 'runner list' [GH-3266]
    • core: git cloning now supports recursively cloning submodules [GH-3351]
    • plugin/aws-lambda: Add platform config validation. [GH-3193]
    • plugin/aws-lambda: add support for lambda storage size [GH-3213]
    • plugin/k8s: Add CPU and memory resource limits to on-demand runners through runner profiles and at install time. These resource limits follow the same format that kubernetes expects within spec.containers[].resources. [GH-3307]
    • plugin/lambda: Add static_environment to deploy plugin [GH-3282]
    • plugin/nomad-jobspec: Add configuration option to parse jobspec as HCL1 instead of HCL2 [GH-3287]
    • plugin/nomad: Support Consul & Vault tokens for job submission [GH-3222]

    BUG FIXES:

    • builtin/k8s: Ensure pod.container.static_environment is applied [GH-3197]
    • cli: Fix missing bootstrap hint with server run command [GH-3196]
    • cli: Prevent panic when releasing unsuccessful deployments [GH-3207]
    • cli: Show better error message when there are no Waypoint contexts when attempting to open the UI [GH-3262]
    • install/nomad: Add support for CSI params & secrets to Nomad install [GH-3279]
    • install/nomad: Fix DB directory for Nomad install [GH-3261]
    • internal/cli: Fix waypoint exec workspace selection [GH-3226]
    • plugin/docker: support remote operations for docker-pull plugin [GH-3253]
    • plugin/k8s: Ensure container=docker environment variable is set for Kaniko to properly detect running inside a container, which prevented on-demand runners from working on Kubernetes 1.23. [GH-3322]
    • server: fix issue cleaning up tasks in Kubernetes that completed successfully [GH-3299]
    Source code(tar.gz)
    Source code(zip)
  • v0.8.1(Apr 8, 2022)

    0.8.1 (April 08, 2022)

    FEATURES:

    IMPROVEMENTS:

    BUG FIXES:

    • server: Fix runner database by setting proper runner bucket for initialization. Sever upgrades to 0.8.0 would previously fail before this fix. [GH-3200]
    Source code(tar.gz)
    Source code(zip)
  • v0.8.0(Apr 7, 2022)

    0.8.0 (April 07, 2022)

    FEATURES:

    • Targetable Runners with Labels: Waypoint now supports runner profiles that target specific on-demand runners by labels. Projects and/or Apps can be configured to use a specific runner profile, identified by name. The runner profile will target all operations to a specific on-demand runner by ID, or labels on the runner. [GH-3145]
    • cli: Introduce a new CLI command for job management and inspection waypoint job. [GH-3067]
    • core, cli: Support setting variables to sensitive and obfuscate those values in outputs [GH-3138]
    • plugin/nomad: Nomad jobspec canary promotion releaser [GH-2938]

    IMPROVEMENTS:

    • cli: Add waypoint runner inspect command [GH-3004]
    • cli: Add a way for waypoint context create to set the Waypoint server platform [GH-3055]
    • cli: Display count of instance connections in deployment status reports [GH-3043]
    • cli: Introduce a -dangerously-force flag to attempt to force cancel a job [GH-3102]
    • cli: Print operation sequence ids and pushed artifact id [GH-3081]
    • cli: runner list shows runner labels [GH-3133]
    • cli: runner profile set deprecates the -env-vars flag in favor of the -env-var flag instead. [GH-3136]
    • cli: runner profile command set now supports target runner labels [GH-3145]
    • core: runners automatically reconnect on startup if the server is unavailable or becomes unavailable during the startup process [GH-3087]
    • core: runners can have labels, which are used for targeting and metadata [GH-2954]
    • core: runners can tolerate a server outage during job execution and will wait for the server to come back online [GH-3119]
    • plugin/aws-ecr: Output architecture from Docker image input [GH-3046]
    • plugin/ecs: Add cpu_architecture aws-ecs parameter to support deploying Docker images built by the Apple M1 chip on ECS [GH-3068]
    • plugin/aws-lambda: Default lambda architecture to Docker/ECR image architecture [GH-3046]
    • plugin/docker: Output architecture from Docker builder [GH-3046]
    • plugin/k8s: don't error if previous deployment is not found during cleanup [GH-3070]
    • plugin/nomad: Resource manager for Nomad jobspec [GH-2938]

    BUG FIXES:

    • ceb: Fix connecting to servers with TLS verification [GH-3167]
    • cli: Fix panic in waypoint plugin CLI [GH-3095]
    • cli: Fix panic when attempting to reinstall autocomplete [GH-2986]
    • cli: Fix the -set-default flag on waypoint context create [GH-3044]
    • core: Ensure remote runners have dynamic config sources overrides for evaluating defaults for job variables. [GH-3171]
    • core: Fix panic when running waypoint build remotely outside of project directory. [GH-3165]
    • core: Fix panic where on-demand runner config was nil before starting task [GH-3054]
    • plugin/alb: Handle DuplicateListener errors from aws-alb releaser [GH-3035]
    • plugin/aws-alb: Use Route53 zone id when destroying a resource record [GH-3076]
    • plugin/docker: Add Docker auth support for builder and platform, and add config options for docker-pull auth and registry auth [GH-2895]
    • plugin/k8s: clean up pending pods from cancelled jobs [GH-3143]
    • plugin/k8s: fix issue when destroying multiple deployments [GH-3111]
    • plugin/nomad: Fix Nomad job namespace when using ODRs [GH-2896]
    • server: Fix project poll job singleton id to only include application on project poll jobs if exist. Otherwise, only include the workspace and project. [GH-3158]
    • ui: Fix missing links to resources [GH-3172]
    • ui: fix missing link on release detail page [GH-3142]
    Source code(tar.gz)
    Source code(zip)
  • v0.7.2(Feb 24, 2022)

    0.7.2 (February 24, 2022)

    FEATURES:

    • Targetable Runners: Allow apps and projects to target specific runner profiles. Allow runner profiles to target specific remote runners. [GH-2862]
    • Introduce executing Trigger URL configurations via HTTP. Users can start a trigger via HTTP and stream the job event stream output directly over http. [GH-2970]

    IMPROVEMENTS:

    • plugin/docker: Add parameter to disable the build cache [GH-2953]

    BUG FIXES:

    • cli: Fix panic on nil value for project [GH-2968]
    • cli: Replace panic with message when attempting to config get -app without a -project flag while outside a project directory [GH-3039]
    • cli: requires -app flag if config set -scope=app is set [GH-3040]
    • server: Cache Horizon hostname URL lookup when listing deployments in the UI_ListDeployments bundle. Now we look up the deployment URL once, and craft the deployment URLs based on the original hostname lookup. [GH-2950]
    • ui: fixed issue with focus jumping back to the skip link on automatic refresh [GH-3019]
    Source code(tar.gz)
    Source code(zip)
  • v0.7.1(Jan 25, 2022)

    0.7.1 (January 25, 2022)

    IMPROVEMENTS:

    • ui: Automatically select the appropriate workspace [GH-2835]

    BUG FIXES:

    • build: Add arm64 ceb to released build [GH-2945]
    • plugin/nomad: Fix Nomad job namespace when using ODRs [GH-2896]
    • ui: Ensure logs update correctly when switching between deployments [GH-2901]
    • ui: Limit number of deployments requested [GH-2930]
    • ui: Update empty logs message [GH-2925]
    Source code(tar.gz)
    Source code(zip)
  • v0.7.0(Jan 13, 2022)

    0.7.0 (January 13, 2022)

    FEATURES:

    • Source variable values from remote systems: The default value for input variables can now use the configdynamic function to source data from Vault, Consul, Terraform Cloud, and more. This is a pluggable system. [GH-2889]
    • Workspace and Label-scoped Configuration: Build, registry, deploy, and release configurations can now be changed depending on the current workspace or label sets. This can be used to alter configurations between environments (staging, production, etc.) or metadata (region, etc.). [GH-2699]
    • core: Introduce RunTriggers to Waypoint Server and CLI. Triggers can be configured ahead of time to execute lifecycle operations on demand through the Waypoint API. Currently, only the gRPC API is supported, but in the future an HTTP endpoint will be added to be used within CI. [GH-2840]
    • ui/auth: users can now authenticate through the UI using an OIDC provider [GH-2688]
    • ui: Add Exec Terminal to the web UI [GH-2849]
    • ui: Added a tab with an overview of the resources provisioned by operations [GH-2777]
    • ui: Added timeline component to artifact details pages [GH-2793]
    • ui: Update UI of builds and releases tab [GH-2852]
    • ui: add workspace switcher to app pages [GH-2674]
    • ui: reformatted app overview page and header of artifact details page [GH-2606]

    IMPROVEMENTS:

    • cli: Add alias for -app and -workspace flags [GH-2700]
    • cli: Add new workspace create command [GH-2797]
    • cli: Deprecate -remote flag for operations, replace with -local flag [GH-2771]
    • cli: Enhance warning for project flag mismatches when project parsed from config [GH-2815]
    • cli: Report where each operation runs (locally vs remotely) [GH-2795]
    • cli: Warn if about to perform a remote operation with a dirty local git state [GH-2799]
    • install/nomad: Ensure static runner has started during install by validating its running status for a few seconds once it is in a "running" state. [GH-2698]
    • plugin/docker: inject arm64 Waypoint entrypoints for arm images [GH-2692]
    • plugin/ecs: Implement the destruction of AWS resources created when deploying a workspace [GH-2684]
    • plugin/pack: detect non-Intel Docker server and show a warning [GH-2692]
    • serverinstall/ecs: Add permissions to the ECS runner IAM policy to allow the removal of security groups and de-registration of task [GH-2684]
    • serverinstall: Set Nomad's ODR profile name to "nomad" [GH-2713]
    • ui: Improved UX of screen readers' transition between pages [GH-2837]
    • ui: Updated list items UI on deployments tab [GH-2879]
    • ui: Updated the deployments tab UI/UX [GH-2773]
    • ui: upgraded icons to flight icons library [GH-2681]

    BREAKING CHANGES:

    • core: configdynamic has been renamed to dynamic. The existing function name continues to work but is deprecated and may be removed in a future version. [GH-2892]
    • plugin/docker: img-based Dockerless builds are no longer supported. Dockerless builds are still fully supported via Kaniko and on-demand runners that shipped in Waypoint 0.6. Static runners without access to a Docker daemon can no longer build images. [GH-2534]

    BUG FIXES:

    • cli: Added check for empty deployUrl in output for release switch case [GH-2755]
    • cli: Fix issue where users could not disable project polling from the CLI [GH-2673]
    • core: fix issue where runners would fail but not shut down [GH-2571]
    • ui: Fix edge case issue where users would not be redirected to the authentication screen if no api token was set [GH-2696]
    • ui: Logs & Exec Terminals resize smoothly [GH-2890]
    Source code(tar.gz)
    Source code(zip)
  • v0.6.3(Dec 10, 2021)

  • v0.6.2(Nov 4, 2021)

    0.6.2 (November 4, 2021)

    FEATURES:

    • plugin/nomad: Introduce Nomad On-Demand Runner support for Waypoint server. Launch tasks to build containers in short lived runners. [GH-2593]

    IMPROVEMENTS:

    • cli/login: Allow login from-kubernetes command to work with non-default namespace installations [GH-2575]
    • serverinstall/nomad: Update install helper to always setup a Consul service with a backend and ui service tag. [GH-2597]

    BUG FIXES:

    • cli: Use values from filter flags when listing deployments and releases [GH-2672]
    • cli: waypoint status and waypoint status -app no longer display destroyed deployments [GH-2564]
    • core: Fix a panic where a custom Waypoint plugin would panic if the plugin did not properly implement a Registry component with AccessInfoFunc() [GH-2532]
    • serverinstall/k8s: Clean up rbac resources on uninstall, and do not error when existing rbac resources are detected during server upgrade. [GH-2654]
    • ui: avoid loading all status reports [GH-2562]
    • ui: improve docker reference parsing [GH-2518]
    Source code(tar.gz)
    Source code(zip)
  • v0.6.1(Oct 21, 2021)

    0.6.1 (October 21, 2021)

    BUG FIXES:

    • cli: Fix project apply to set runner profiles by name [GH-2489]
    • cli: Fix displaying config variables set with pre-0.6.0 Waypoint [GH-2535]
    • cli: Fix panic in logs and exec commands [GH-2526]
    • cli: Fix issue where sending ctrl-c to the CLI could block all subsiquent operations on the app/project/workspace for two minutes [GH-2513]
    • serverinstall/ecs: Fix potential panic in some ECS On-Demand Runner releases [GH-2533]
    • serverinstall/ecs: Update ODR role permissions to enable status reports [GH-2543]
    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Oct 14, 2021)

    0.6.0 (October 14, 2021)

    FEATURES:

    • cli: Add new commands workspace inspect and workspace list to view and list workspaces. [GH-2385]
    • cli: Allow install cmd to support pass-through flags to server run [GH-2328]
    • config: Specify configuration (env vars and files) for runners while executing operations related to a specific to that project or application. [GH-2237]
    • config: Specify configuration that is scoped to deployments in certain workspaces or label sets. [GH-2237]
    • config: labels variable for accessing the label set of an operation [GH-2065]
    • config: New functions selectormatch and selectorlookup for working with label selectors [GH-2065]
    • core/server: Allow exporting of grpc server traces and stats by introducing OpenCensus and DataDog telemetry for Waypoint Server by request [GH-2402]
    • core: Runner configuration can now write to files [GH-2201]
    • core: Runner configuration can use dynamic configuration sources [GH-2201]
    • platform/nomad: Add persistent data volumes to nomad deploy [GH-2282]
    • plugin/docker: Add ability to build images with kaniko inside an ondemand runner [GH-2056]
    • plugin/helm: A new plugin "helm" can deploy using Helm charts. [GH-2336]
    • plugin/k8s: Report events on failed pods when a deployment fails [GH-2399]
    • plugin/k8s: Allows users to add sidecar containers to apps using the k8s plugin config. [GH-2428]
    • plugin/pack: Add ability to build images with kaniko inside an ondemand runner [GH-2056]
    • runner: Add ability to build images without needing a containarization API [GH-2056]
    • runner: Adds ondemand runners, single job runner processes launched via the task API [GH-2056]
    • ui: Allow config variables to be managed in the browser UI [GH-1915]
    • ui: Deployment resources [GH-2317]
    • ui: Release resources [GH-2386]
    • ui: Overview section added + Docker container information displayed [GH-2352]

    IMPROVEMENTS:

    • cli/serverinstall/k8s: Add new cluster role and binding to allow nodeport services to work [GH-2412]
    • cli/serverinstall/k8s: Fix a problem where deployments would be marked as "Degraded", but were actually fine. [GH-2412]
    • cli: Add new context subcommand "set" to set the workspace value for the current context. [GH-2353]
    • cli: Remove unused arg and use sequence ID for CLI message in release [GH-2426]
    • cli: Return help on malformed command [GH-2444]
    • cli: Update base commands to default to all apps within the project if project has more than one application [GH-2413]
    • cli: Use default log level of debug instead of trace on server install [GH-2325]
    • cli: server run can now create a non-TLS HTTP listener. This listener redirects to HTTPS unless X-Forwarded-Proto is https. [GH-2347]
    • cli: login subcommand defaults server port to 9701 if it isn't set [GH-2320]
    • config: gitrefpretty no longer requires git to be installed [GH-2371]
    • config: Input variables (variable) can now use an env key to specify alternate environment variable names to source variable values from [GH-2362]
    • core: Automatically remotely init projects with a Git data source [GH-2145]
    • core: HTTP requests from Kubernetes probes are logged at a trace level rather than info [GH-2348]
    • core: Easier to understand error messages when using incompatible plugins [GH-2143]
    • core: Server with custom TLS certificates will automatically reload and rotate the TLS certificates when they change on disk [GH-2346]
    • plugin/docker: Add support for multi-stage Dockerfile builds [GH-1992]
    • plugin/k8s: Add new ability to release by creating an ingress resource to route traffic to a service backend from an ingress controller. [GH-2261]
    • plugin/k8s: Introduce a new config option autoscale, which creates a horizontal pod autoscaler for each deployment. [GH-2309]
    • plugin/k8s: Introduce a new config option cpu and memory for defining resource limits and requests for a pod in a deployment. [GH-2309]
    • plugin/k8s: Use sequence number in k8s deployment name for improved traceability to waypoint deployments. [GH-2296]
    • ui: Display project remote initialization state [GH-2145]
    • ui: Gitops users not using Git polling can run "Up" from the browser [GH-2331]
    • ui: Improve design of status row on Build/Deployment/Release detail pages [GH-2036]
    • ui: Improve tab styles for dark mode [GH-2053]
    • ui: Toggle checkboxes are nicely styled in dark mode [GH-2410]
    • ui: Improve the input field for server-side HCL file on the settings page [GH-2168]
    • ui: The rendering of the Application and Operation Logs has been greatly improved [GH-2356]

    BUG FIXES:

    • cli: Fix a panic in waypoint status when no successful release is available [GH-2436]
    • cli: Fix logic on when a rocket indicator shows in release list [GH-2426]
    • config: Fix dynamic config vars targeting files. [GH-2416]
    • entrypoint: Fix issue injecting waypoint-entrypoint multiple times [GH-2447]
    • plugin/docker: Resolve image identifiers properly [GH-2067]
    • plugin/docker: Support SSH hosts for entrypoint injection [GH-2277]
    • plugin/k8: Setup Kubernetes services for different workspaces properly [GH-2399]
    • server: Adds API validation to ensure server doesn't panic when given an empty request body [GH-2273]
    • server: Validate GetDeployment request has a valid request body to avoid a server panic. [GH-2269]
    • ui: Fixed config variable duplication when renaming [GH-2421]
    • ui: Notification messages display nicely when containing long words such as URLs [GH-2411]
    Source code(tar.gz)
    Source code(zip)
  • v0.5.2(Sep 9, 2021)

    0.5.2 (September 09, 2021)

    FEATURES:

    • cli: Add a new command for inspecting project information, waypoint project inspect. [GH-2055]

    IMPROVEMENTS:

    • cli/status: Include a way to refresh project application statuses for deployments and releases with a '-refresh' flag before showing the status view [GH-2081]
    • cli: Add functionality to list releases with waypoint release list command [GH-2082]
    • core: App status polling will always queue status reports refresh jobs for latest deployment and release if present [GH-2039]
    • plugin/aws-ecs: Allow configuration of ALB subnets independently of service subnets [GH-2205]
    • plugin/aws-ecs: Allow public ip assignment for tasks to be disabled [GH-2205]
    • plugin/aws-ecs: Deployments delete their resources on failure. [GH-2098]
    • plugin/aws-ecs: Error messages contain additional context [GH-2098]
    • plugin/aws-ecs: Improve security of ECS tasks by restricting ingress to the ALB [GH-2098]
    • plugin/aws-ecs: More complete list of resources displayed in waypoint deploy logs [GH-2098]
    • plugin/aws-ecs: Support for status reports, enabling waypoint status for ECS deployments [GH-2098]
    • plugin/aws: Add ability to pass IAM policy ARNs for attaching to task role [GH-1935]

    BUG FIXES:

    • internal/config: Fix parsing of complex HCL types in -var-file [GH-2217]
    • plugin/aws-ecs: Fix panic when specifying a sidecar without a health check [GH-2098]
    • plugin/nomad: Only use non-empty job.StatusDescription for HealthMessage [GH-2093]
    • server/singleprocess: Stop returning error when polling an app with no deployment or release [GH-2204]
    • ui: Fix leaky project repository settings being reused when creating a new project [GH-2250]
    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Aug 19, 2021)

    0.5.1 (August 19, 2021)

    IMPROVEMENTS:

    cli/status: Display '(unknown)' when the time a status report was generated is not known [GH-2047] cli/uninstall: Remove hard requirement on platform flag, attempt to read server platform from server context. Platform flag overrides anything set in a server platform context [GH-2052]

    BUG FIXES:

    plugin/aws/alb: Always set the generated time for a status report [GH-2048] plugin/aws/ecs: Fix destroy non-latest deployments in ECS [GH-2054] ui: Prevent deletion of git/input variable settings when saving the other [GH-2057]

    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Aug 12, 2021)

    0.5.0 (August 12, 2021)

    FEATURES:

    • Status Reports: Waypoint now has multiple improvements to support status checks for deployed resources. See Improvements for more.
    • Input variables: Waypoint now allows users to parameterize the waypoint.hcl file through an input variable system. [GH-1548]
    • OIDC Authentication and User Accounts: Waypoint now has a user account system and can be configured to sign up and log in users using any OIDC provider such as Google, GitLab, etc. [GH-1831]
    • cli: can login with a token using the new waypoint login command [GH-1848]
    • cli: new "waypoint user" CLI for user management [GH-1864]
    • core: platform plugins may now advertise deployment-specific URLs [GH-1387]
    • ui: Show deployment URL if available [GH-1739]
    • ui: added button on individual artifact (deployments + releases) page for on demand health checks [GH-1911]

    IMPROVEMENTS:

    • Status reports: server: Continuously generate a status report for an application after the initial deployment or release for projects backed by a git data source [GH-1801]
    • cli: Adds a -git-path flag to waypoint project apply [GH-2013]
    • core: git poller setting to optionally ignore changes outside of the configured project path [GH-1821]
    • entrypoint: Can disable waypoint exec only by setting the WAYPOINT_CEB_DISABLE_EXEC environment variable to a truthy value. [GH-1973]
    • plugin/aws/alb: Update ALB Releaser to use new SDK Resource Manager [GH-1648]
    • plugin/aws/ecs: Add ability to specify security group IDs [GH-1919]
    • plugin/docker: Enables image build for specified platform [GH-1949]
    • plugin/google: Add non-blocking alert if unable to delete revision [GH-2005]
    • plugin/google: Implement DestroyWorkspace to cleanup all created resources [GH-2005]
    • plugin/google: Update Google Cloud platform to use SDK Resource Manager [GH-2005]
    • plugin/google: Update error message to be more helpful [GH-1958]
    • plugin/k8s: Include deployment and release resources in waypoint status output. [GH-2024]
    • plugin/k8s: Update K8s Releaser to use SDK Resource Manager [GH-1938]
    • plugin/k8s: Updates release status report to check k8s service status [GH-2024]
    • plugin/nomad: Add consul service optional flags [GH-2033]
    • plugin/nomad: Update Nomad platform to use SDK Resource Manager [GH-1941]
    • ui: Add ability to add input variables in the project settings UI [GH-1658]
    • ui: Add dynamic page titles [GH-1916]
    • ui: Add git commit SHAs to operations in the browser UI [GH-2025]
    • ui: Update authentication page with new supported waypoint user token command. [GH-2006]

    BUG FIXES:

    • plugin/aws-alb: Fix issue destroying when Target Group still in use [GH-1648]
    • plugin/docker: Fix docker buildkit build failures [GH-1937]
    • plugin/nomad: Fix case where nomad error would be ignored during a status check [GH-1723]
    • plugin/k8s: Fix ports configurability [GH-1650]
    • serverinstall/ecs: Handle errors when resources are already destroyed [GH-1984]
    • ui: Display and read/write base64 strings correctly in SSH and Hcl inputs [GH-1967]
    Source code(tar.gz)
    Source code(zip)
  • v0.4.2(Jul 22, 2021)

    0.4.2 (July 22, 2021)

    FEATURES:

    • plugin: Allow debugging of plugins with tools like delve [GH-1716]

    IMPROVEMENTS:

    • serverinstall/k8s: Add information to cli output for upgrade path [GH-1886]
    • ui: Incorporate pushed artifacts into build display [GH-1840]

    BUG FIXES:

    • plugin/aws/ecs: Validate memory and cpu values [GH-1872]
    • plugin/nomad: Fix broken -nomad-runner-memory and -nomad-server-memory flags [GH-1895]
    • serverinstall/ecs: Validate memory and cpu values [GH-1872]
    Source code(tar.gz)
    Source code(zip)
  • v0.4.1(Jul 1, 2021)

    0.4.1 (July 1, 2021)

    FEATURES:

    • config: Add ${app.name} variable [GH-1709]

    IMPROVEMENTS:

    • cli: Fix incorrect description for hostname list command [GH-1628]
    • core: Correct parsing of boolean environment variables [GH-1699]
    • plugin/aws-alb: Update ALB Releaser to use new SDK Resource Manager [GH-1648]
    • ui: Add reporting on status of a release [GH-1657]

    BUG FIXES:

    • builtin/k8s: Fix ports configurability [GH-1650]
    • cli: Fix issue parsing string slice inputs [GH-1669]
    • cli: Ignore error on Unimplemented for health checks [GH-1596]
    • cli: Fix crash that could occur when running commands outside the context of a project with an hcl config file. [GH-1710]
    • cli: Prevent use of operation flags on runner agent command [GH-1708]
    • cli: Set runner poll interval default for runner defined in waypoint.hcl [GH-1690]
    • cli: List deployments shows status for each deployment [GH-1594]
    • core: Fix crash that could occur when using templatefile with certain HCL files [GH-1679]
    • plugin/aws-alb: Fix issue destroying when Target Group still in use [GH-1648]
    • plugin/docker: Fix issue falling back to img for builds when docker daemon not present [GH-1685]
    • plugin/nomad: Fix case where Nomad error would be ignored during a status check [GH-1723]
    • server/client: Configure keepalive properties to RPC connections to persist connections even after inactivity [GH-1735]
    • server/runner: Correctly exit liveness listener when connection is closed [GH-1732]
    • serverinstall/k8s: Accept k8s-namespace when uninstalling server [GH-1730]
    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Jun 3, 2021)

    0.4.0 (June 03, 2021)

    FEATURES:

    • Mutable Deployments: Waypoint now supports the concept of "mutable" deployments where a deployment updates an existing resource rather than creating something new. New plugins in this release include deploying from a Nomad job file, Kubernetes apply from a directory or file, and more. [GH-1298]
    • Status Reports: Waypoint now supports a new feature for reporting on the health of deployments or releases. Waypoint surfaces a deployment and or releases status by relying on an existing platform for health checks. A status is responsible for reporting the health of a deployed service by representing its states as Ready, Alive, Partial, Down, or Unknown. Platform health reporting lets teams take action quickly depending on the health of their applications. Currently, the Kubernetes, Nomad, AWS ALB, and Docker built-in plugins support the new Status reporting, with more support on the way! [GH-1488]
    • config: Add ability to define internal variables and compose variables together via templating [GH-1382]
    • config: Add ability to write configuration values as files rather than environment variables. [GH-1395]
    • config: jsonnetfile and jsonnetdir functions for processing Jsonnet files and converting them to JSON. [GH-1360]
    • plugin/aws-alb: Report on status of releases [GH-1567]
    • plugin/docker: Add reporting on status of a deployment [GH-1487]
    • plugin/k8s: A new plugin "kubernetes-apply" that is able to deploy any typical directory of YAML or JSON files to Kubernetes [GH-1357]
    • plugin/k8s: Add reporting on status of a deployment and release [GH-1547]
    • plugin/nomad: A new plugin "nomad-jobspec" for deploying a Nomad job specification directly. [GH-1299]
    • plugin/nomad: Add reporting on status of a deployment [GH-1554]
    • server/ecs: Use --platform=ecs to install waypoint server to AWS ECS using Fargate [GH-1564]
    • ui: Add reporting on status of a deployment [GH-1559]
    • ui: Mutable deployments support on web dashboard. [GH-1549]

    IMPROVEMENTS:

    • internal/config: add ${workspace} variable [GH-1419]
    • plugin/pack: Support for non-default process types [GH-1475]
    • plugins/docker: Add support build context [GH-1490]

    BUG FIXES:

    • plugin/k8s: destroy deployment on error [GH-1528]
    • plugin/pack: Upgrade pack package to fix downloading remote buildpacks [GH-1452]
    • server: Fix a bug that sometimes sends duplicate cancellation messages [GH-1538]
    • server: fix order of log lines when showing logs from multiple instances [GH-1441]
    • ui/checkbox-inputs-safari: Custom Inputs in the browser Ui now render properly on all supported browsers [GH-1312]
    • ui: unread log count resets after scrolling [GH-1373]

    BREAKING CHANGES:

    • plugin/netlify: Removed the netlify plugin [GH-1525]
    Source code(tar.gz)
    Source code(zip)
  • v0.3.2(May 13, 2021)

    0.3.2 (May 13, 2021)

    BREAKING CHANGES:

    • plugin/k8s: scratch_path now uses an array of strings instead of a string, allowing you to specify multiple directories to be mounted as emptyDir [GH-1317]

    FEATURES:

    • platform/aws: Set the AWS log level along with the waypoint log level [GH-1404]
    • plugin/aws/ecs: Add ability to request an internal ALB for ECS [GH-1403]
    • plugin/docker: Add support for exposing additional ports [GH-1414]
    • plugin/docker: Add support for build args for both docker and img builders [GH-1346]
    • plugin/ecs: Allow memory_reservation to be set on primary container [GH-1415]

    IMPROVEMENTS:

    • cli: Add context inspect command to aid in user enjoyment of waypoint contexts. [GH-1458]
    • cli: Default the platform for server upgrade to the platform in the context [GH-1461]
    • cli: Print warning and help docs if required flags for upgrade are not included [GH-1372]
    • plugin/google/cloudrun: Add VPC and Cloud SQL config options [GH-1123]
    • plugin/k8s: Added Service annotations option to K8S release [GH-1393]
    • plugin/k8s: Add configuration options for pods and its security contexts [GH-1317]
    • plugin/pack: Add ability to specify a list of file patterns to include files. [GH-1453]
    • plugin/vault: Use Service Account Credentials API for GCP SignJWT endpoint [GH-1389]

    BUG FIXES:

    • cli: runner will not crash if liveness check has error [GH-1426]
    • plugins: Fix detecting an older version of the plugin SDK in use [GH-1450]
    • plugin/aws/ec2: Check Auto Scaling activites for failures or cancellations [GH-1447]
    • plugin/aws/ecs: Fix bug where certificate and other fields had to be set to empty string to use listener. [GH-1401]
    • plugin/aws/ecs: Retry actions that cross AWS service boundaries to fix eventual consistency issues. [GH-1454]
    • plugin/pack: Honor DOCKER_HOST properly [GH-1457]
    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Apr 20, 2021)

    0.3.1 (April 20, 2021)

    IMPROVEMENTS:

    • cli: Make purge default and remove flag for Nomad uninstall [GH-1326]
    • cli: Show usage example on waypoint context use command [GH-1325]
    • cli: version command now shoes the server version [GH-1364]
    • entrypoint: can change log level using the WAYPOINT_LOG_LEVEL env var, which can also be set with waypoint config [GH-1330]
    • entrypoint: default log level changed to DEBUG [GH-1330]
    • plugin/nomad: Add CPU and Memory resource options for server and runner installs, and app deploys [GH-1318]
    • plugin/nomad: Allow for auth soft fail on serverinstall for server image [GH-1106]
    • ui: Improve the design of the Project Settings forms [GH-1335]

    BUG FIXES:

    • cli: connections with TLS without insecure flag properly connect [GH-1307]
    • cli: server bootstrap will not give auth token errors [GH-1320]
    • plugin/aws/ecs: Route 53 "A" Type record properly created when not found for domain name [GH-1256]
    • plugin/nomad: use namespace config option for deploy [GH-1300]
    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Apr 8, 2021)

    0.3.0 (April 08, 2021)

    BREAKING CHANGES:

    • ui: dropped support for Internet Explorer [GH-1075]

    FEATURES:

    • GitOps: Poll for changes and automatically run waypoint up. Waypoint can now trigger a full build, deploy, release cycle on changes detected in Git. [GH-1109]
    • Runners: Run Waypoint operations remotely. Runners are standalone processes that run operations such as builds, deploys, etc. remotely. [GH-1167] [GH-1171]
    • AWS Lambda: Add support for building and deploying AWS Lambda workloads [GH-1097]
    • Dockerless image builds: Waypoint can now build, tag, pull, and push Docker images in unprivileged environments without a Docker daemon. [GH-970]
    • cli: New waypoint fmt command will autoformat your waypoint.hcl files [GH-1037]
    • config: timestamp function allows you to avail the current date and time in your Waypoint configuration. [GH-1255]
    • ui: Add ability to create a project from the browser UI [GH-1220]
    • ui: Add ability to configure a project's git settings from the browser UI [GH-1057]
    • ui: Add ability to input a waypoint.hcl configuration from the browser UI [GH-1253]

    IMPROVEMENTS:

    • cli: Require confirmation before destroying all resources [GH-1232]
    • cli: Can specify the number of deployments to prune for up and release. [GH-1230]
    • cli: Support and render new documentation subfields [GH-1213]
    • plugin/docker-pull: doesn't require Docker if no registry is configured and entrypoint injection is disabled [GH-1198]
    • plugin/k8s: Add new probe configuration options [GH-1246]
    • plugin/k8s: plugin will attempt in-cluster auth first if no kubeconfig file is specified [GH-1052] [GH-1103]
    • server: Prune old deployments and jobs from server memory. This limits the number of deployments and jobs to 10,000. The data for the old entries is still stored on disk but it is not indexed in memory, to allow data recovery should it be needed. [GH-1193]

    BUG FIXES:

    • core: default releasers initialize properly when they use HCL variables [GH-1254]
    • cli: require at least one argument [GH-1188]
    • plugin/aws/alb: clamp alb name per aws limits [GH-1225]
    • ui: output failed build errors in logs [GH-1280]
    Source code(tar.gz)
    Source code(zip)
  • v0.2.4(Mar 18, 2021)

    0.2.4 (March 18, 2021)

    FEATURES:

    IMPROVEMENTS:

    • builtin/k8s: Include user defined labels on deploy pod [GH-1146]
    • core: Update -from-project in waypoint init to handle local projects [GH-722]
    • entrypoint: dump a memory profile to /tmp on SIGUSR1 [GH-1194]

    BUG FIXES:

    • entrypoint: fix URL service memory leak [GH-1200]
    • builtin/k8s/release: Allow target_port to be int or string [GH-1154]
    • builtin/k8s/release: Include name field for service port release [GH-1184]
    • builtin/docker: Revert #918, ensure HostPort is randomly assigned between container deploys [GH-1189]
    Source code(tar.gz)
    Source code(zip)
  • v0.2.3(Feb 23, 2021)

    0.2.3 (February 23, 2021)

    FEATURES:

    IMPROVEMENTS:

    • builtin/docker: Introduce resources map for configuring cpu, memory on deploy [GH-1116]
    • internal/server: More descriptive error for unknown application deploys [GH-973]
    • serverinstall/k8s: Include option to define storageClassName on install [GH-1126]

    BUG FIXES:

    • builtin/docker: Fix host port mapping defined by service_port [GH-918]
    • builtin/k8s: Surface pod failures on deploy [GH-1110]
    • serverinstall/nomad: Set platform as nomad at end of Install [GH-1129]
    • builtin/aws-ecs: Fix nil check on optional logging block [GH-1120]
    Source code(tar.gz)
    Source code(zip)
  • v0.2.2(Feb 17, 2021)

    0.2.2 (February 17, 2021)

    FEATURES:

    IMPROVEMENTS:

    • builtin/aws/ecs: Add config option for disabling the load balancer [GH-1082]
    • builtin/aws/ecs: Add awslog driver configuration [GH-1089]
    • builtin/docker: Add Binds, Labels and Networks config options for deploy [GH-1065]
    • builtin/k8s: Support multi-port application configs for deploy and release [GH-1092]
    • cli/main: Add -version flag for CLI version [GH-1049]

    BUG FIXES:

    • bulitin/aws/ecs: Determine load balancer and target group for pre-existing listeners [GH-1085]
    • builtin/aws/ecs: fix listener deletion on deployment deletion [GH-1087]
    • builtin/k8s: Handle application config sync with K8s and Secrets [GH-1073]
    • cli/hostname: fix panic with no hostname arg specified [GH-1044]
    • core: Fix empty gitreftag response in config [GH-1047]
    Source code(tar.gz)
    Source code(zip)
Owner
HashiCorp
Consistent workflows to provision, secure, connect, and run any infrastructure for any application.
HashiCorp
Natural-deploy - A natural and simple way to deploy workloads or anything on other machines.

Natural Deploy Its Go way of doing Ansibles: Motivation: Have you ever felt when using ansible or any declarative type of program that is used for dep

Akilan Selvacoumar 0 Jan 3, 2022
Bubbly is an open-source platform that gives you confidence in your continuous release process.

Bubbly Bubbly - Release Readiness in a Bubble Bubbly emerged from a need that many lean software teams practicing Continuous Integration and Delivery

Valocode 35 Nov 29, 2022
Sqedule — a release auditing & approval platform

Sqedule — a release auditing & approval platform Sqedule is an application release auditing & approval platform. Auditing: Sqedule allows teams to hav

Fullstaq 9 Dec 28, 2022
A simple Go app and GitHub workflow that shows how to use GitHub Actions to test, build and deploy a Go app to Docker Hub

go-pipeline-demo A repository containing a simple Go app and GitHub workflow that shows how to use GitHub Actions to test, build and deploy a Go app t

Marat Bogatyrev 0 Nov 17, 2021
A Go based deployment tool that allows the users to deploy the web application on the server using SSH information and pem file.

A Go based deployment tool that allows the users to deploy the web application on the server using SSH information and pem file. This application is intend for non tecnhincal users they can just open the GUI and given the server details just deploy.

Jobin Jose 1 Oct 16, 2021
Build and deploy Go applications on Kubernetes

ko: Easy Go Containers ko is a simple, fast container image builder for Go applications. It's ideal for use cases where your image contains a single G

Google 5.5k Jan 5, 2023
Use Terraform to build and deploy configurations for Juniper SRX firewalls.

Juniper Terraform - SRX Overview The goal of this project is to provide an example method to interact with Juniper SRX products with Terraform. ?? Ter

Calvin Remsburg 1 Mar 16, 2022
Christmas Hack Day Project: Build an Kubernetes Operator to deploy Camunda Cloud services

Camunda Cloud Operator Christmas Hack Day Project (2021): Build an Kubernetes Operator to deploy Camunda Cloud services Motiviation / Idea We currentl

Camunda Community Hub 0 May 18, 2022
Koyeb is a developer-friendly serverless platform to deploy apps globally.

Koyeb Serverless Platform Deploy a Go Gin application on Koyeb Learn more about Koyeb · Explore the documentation · Discover our tutorials About Koyeb

Koyeb 4 Nov 14, 2022
cloud native application deploy flow

Triton-io/Triton English | 简体中文 Introduction Triton provides a cloud-native DeployFlow, which is safe, controllable, and policy-rich. For more introdu

triton-io 43 May 28, 2022
General-purpose actions for test and release in Go

go-actions This repository provides general-purpose actions for Go. setup This action runs actions/setup-go with actions/cache. For example, jobs: l

Hidetake Iwata 1 Nov 28, 2021
Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration, and automating updates to configuration when there is new code to deploy.

Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy.

Flux project 4.3k Jan 8, 2023
A helm v3 plugin to get values from a previous release

helm-val helm-val is a helm plugin to fetch values from a previous release. Getting started Installation To install the plugin: $ helm plugin install

Hamza ZOUHAIR 15 Dec 11, 2022
API for managing the release calendar

dp-release-calendar-api API for managing the release calendar Getting started Run make debug Dependencies No further dependencies other than those def

ONS Digital 0 Feb 10, 2022
Deploy, manage, and secure applications and resources across multiple clusters using CloudFormation and Shipa

CloudFormation provider Deploy, secure, and manage applications across multiple clusters using CloudFormation and Shipa. Development environment setup

Shipa 1 Feb 12, 2022
Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications

Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.

HashiCorp 13k Jan 5, 2023
Small and easy server for web-hooks to deploy software on push from gitlab/github/hg and so on

Deployment mini-service This mini web-server is made to deploy your code without yaml-files headache. If you just need to update your code somewhere a

Roman Usachev 9 Dec 4, 2022
`runenv` create gcloud run deploy `--set-env-vars=` option and export shell environment from yaml file.

runenv runenv create gcloud run deploy --set-env-vars= option and export shell environment from yaml file. Motivation I want to manage Cloud Run envir

sonatard 0 Feb 10, 2022
Automatically deploy from GitHub to Replit, lightning fast ⚡️

repl.deploy Automatically deploy from GitHub to Replit, lightning fast ⚡️ repl.deploy is split into A GitHub app, which listens for code changes and s

Khushraj Rathod 78 Dec 22, 2022