Привет!



Недавно мы написали про одно из двух решений, представленных HashiCorp (HashiCorp Boundary). Самое время рассказать про второе!



Встречаем HashiCorp Waypoint [Development]! Решение, которое позволяет разработчикам build, deploy и release приложений между различными платформами.



Причина, по которой Hashi решили сделать свое решение достаточно проста: сокращение сложности для разработчиков, которые просто хотят deploy, а не containers, schedulers, YAML, serverless и прочие нюансы cloud native мира.



Использование требует одной простой команды: waypoint up. Жизненный цикл, который происходит «за кадром» включает в себя следующие шаги:



🍭 Build: Сборка артефакта и помещение его в используемый реестр

🍭 Deploy: артефакт, собранный на предыдущем этапе, разворачивается на целевой инфраструктуре

🍭 Release: настройка потоков траффика на приложение



Просто пример deploy приложения на Kubernetes будет выглядеть так:



project = "HashiCorp Waypoint"



app "waypoint-up" {

build {

use "docker" {}

registry {

use "docker" {

image = "hashicorp/wpmini"

tag = gitrefpretty()

}

}

}



deploy {

use "kubernetes" {

probe_path="/"

service_port=80

}

}



release {

use "kubernetes" {

load_balancer=true

port=80

}

}



}



В результате будет собран образ, создан deployment в namespace и открыт порт для работы с приложением. И да, все будет реализовано с использованием одной команды: waypoint up!



Кроме Kubernetes Waypoint поддерживает HashiCorp Nomad, Amazon ECS, Google Cloud Run, Azure Container Instances, Docker, Buildpacks (перечень не полный 😉)



Это лишь часть функционала решения, подробности можно почитать по ссылкам:



🍭 https://www.waypointproject.io/docs/intro (документация)

🍭 https://www.waypointproject.io/docs/getting-started (простой пример использования)