Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gbh-tech/werf-deployment-action

A GitHub Action that facilitates Werf-based deployments to AWS EKS clusters.
https://github.com/gbh-tech/werf-deployment-action

action deployment github taskfile werf

Last synced: 3 months ago
JSON representation

A GitHub Action that facilitates Werf-based deployments to AWS EKS clusters.

Awesome Lists containing this project

README

        

# Werf (+ Taskfile) Deployment Action

## Content

- [Overview](#overview)
- [Usage](#usage)
- [Example usage](#example-usage)

## Overview

This GitHub Action facilitates Werf deployments, allowing you to run Werf commands with ease.
It provides options to configure Werf, AWS regions, run modes, and secrets for secure deployment.

## Usage

See [action.yml](action.yml).

``` yaml
- uses: actions/[email protected]
with:
# Target environment to pass to tasks and Werf commands
environment: 'stage'

# The Taskfile tasks (command separated) to run
# Puts the environment input as a CLI_ARG with '-- '
# Tasks are run previous to Werf commands
tasks: >-
ecr-login,
kubeconfig

# The Werf commands to run without werf and --env
# Werf commands are run after tasks
commands: >-
render --repo ,
plan --repo ,
converge --repo --values .helm/values-.yaml

# Specifies the AWS region name for configuration
aws_region: 'us-east-1'

# Optional. AWS service account access key
aws_access_key_id: ''

# Optional. Ansible vault password to decrypt secrets
werf_secret_key: ''

# Optional. AWS service account secret access key
aws_secret_access_key: ''
```

### Example usage

```yaml
- uses: gbh-tech/[email protected]
with:
environment: 'stage'
aws_region: 'us-east-1'
werf_secret_key: '${{ secrets.WERF_SECRET_KEY }}'
aws_access_key_id: '${{ vars.AWS_ACCESS_KEY_ID }}'
aws_secret_access_key: '${{ secrets.AWS_SECRET_ACCESS_KEY }}'
tasks: >-
ecr-login,
kubeconfig
commands: >-
render --repo 'id.aws.ecr/repo/myapp' --values '.helm/values-stage.yaml',
converge --repo 'id.aws.ecr/repo/myapp', --values '.helm/values-stage.yaml'
```