Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ConsenSys/kubernetes-action
GitHub Action to run kubectl
https://github.com/ConsenSys/kubernetes-action
Last synced: about 1 month ago
JSON representation
GitHub Action to run kubectl
- Host: GitHub
- URL: https://github.com/ConsenSys/kubernetes-action
- Owner: Consensys
- Created: 2020-01-16T12:50:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-24T13:24:27.000Z (3 months ago)
- Last Synced: 2024-07-24T18:16:09.667Z (about 2 months ago)
- Language: Dockerfile
- Homepage:
- Size: 3.91 KB
- Stars: 37
- Watchers: 4
- Forks: 62
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
kubernetes-action
=============
Interacts with kubernetes clusters calling `kubectl` commands. Integrates support for **AWS EKS**.## Usage
### Basic Example
```yml
name: CIon:
- pushjobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2- name: Trigger deploy
uses: Consensys/kubernetes-action@master
env:
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
with:
args: apply deployment.yaml
```### EKS Example
```yml
name: CIon:
- pushjobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1- name: Trigger deploy
uses: Consensys/kubernetes-action@master
env:
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
with:
args: apply deployment.yaml
```## Config
### Secrets
One or more **secrets** needs to be created to store cluster credentials. (see [here](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets) for help on creating secrets).
#### Basic
- **KUBE_CONFIG_DATA**: A `base64` representation of `~/.kube/config` file.##### Example
```bash
cat ~/.kube/config | base64 | pbcopy # pbcopy will copy the secret to the clipboard (Mac OSX only)
```#### EKS
- **KUBE_CONFIG_DATA**: Same as Basic configuration above.- **AWS_ACCESS_KEY_ID**: AWS_ACCESS_KEY_ID of a IAM user with permissions to access the cluster.
- **AWS_SECRET_ACCESS_KEY**: AWS_SECRET_ACCESS_KEY of a IAM user with permissions to access the cluster.
Make sure your users has the proper IAM permissions to access your cluster and that its configured inside kubernetes (more info [here](https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html)).
## Outputs
- **result**: Output of the `kubectl` command.
### Example
```yaml
- name: Save container image
id: image-save
uses: Consensys/kubernetes-action@master
env:
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
with:
args: get deploy foo -o jsonpath="{..image}"- name: Print image
run:
echo ${{ steps.image-save.outputs.result }}
```More info on how to use outputs [here](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#outputs).