forked from cloudposse/atmos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.yaml
82 lines (60 loc) · 3.38 KB
/
README.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: atmos
license: APACHE2
logo: docs/img/atmos-logo-128.svg
github_repo: cloudposse/atmos
badges:
- name: Latest Release
image: https://img.shields.io/github/release/cloudposse/atmos.svg
url: https://github.com/cloudposse/atmos/releases/latest
- name: Slack Community
image: https://slack.cloudposse.com/badge.svg
url: https://slack.cloudposse.com
categories:
- cli
- automation
- cloud
- devops
- workflow
- terraform
- helm
- helmfile
- kubernetes
- aws
description: |-
`atmos` - Universal Tool for DevOps and Cloud Automation.
introduction: |-
[Atmos](https://atmos.tools) is a workflow automation tool. Atmos is lets you take a complex workflow and turn it into a parameterized CLI.
You can then run the CLI anywhere, such as locally or in CI/CD.
The Atmos project consists of a command-line tool, a `Go` library, and even terraform provider. It provides numerous conventions to help you provision, manage, and orchestrate workflows across various toolchains. You can
even access the configurations natively from within terraform using our [`terraform-provider-utils`](https://github.com/cloudposse/terraform-provider-utils/).
Cloud Posse uses this tool extensively for automating cloud infrastructure with [Terraform](https://hashicorp.com/) and [Kubernetes](https://kubernetes.io/), but it can be used to automate any complex workflow.
## Common Use-cases
`atmos` includes workflows for dealing with:
- Provision large, multi-account[Terraform](https://www.terraform.io/) environments
- Deploy [helm](https://helm.sh/) [charts](https://helm.sh/docs/topics/charts/) to Kubernetes clusters with [helmfile](https://github.com/roboll/helmfile)
- Execute [helm](https://helm.sh/) commands on Kubernetes clusters
- Executing [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) commands on Kubernetes clusters
Here aer some other ways you can extend atmos:
- Running [AWS CDK](https://aws.amazon.com/cdk/) constructs to define cloud resources
- Executing commands for the [serverless](https://www.serverless.com/) framework
- Executing shell commands
- Combining various commands into workflows to execute many commands sequentially in just one step
- ... and many more
In essence, it's a tool that orchestrates the other CLI tools in a consistent and self-explaining manner.
It's a superset of all other tools and task runners (e.g. `make`, `terragrunt`, `terraform`, `aws` cli, `gcloud`, etc.)
and is intended to be used to tie everything together, so you can provide a simple CLI interface for your developers.
Moreover, `atmos` is not only a command-line interface for managing clouds and clusters. It provides many useful patterns and best practices, such as:
- Enforces a project structure convention, so everybody knows where to find things.
- Provides clear separation of configuration from code, so the same code is easily deployed to different regions, environments and stages)
- It can be extended to include new features, commands, and workflows
- The commands have a clean, consistent and easy to understand syntax
- The CLI code is modular and self-documenting
## Documentation
Find all documentation at: [atmos.tools](https://atmos.tools)
contributors:
- name: Erik Osterman
github: osterman
- name: Andriy Knysh
github: aknysh
- name: RB
github: nitrocode