https://github.com/stoked-cenv/cenv-mono
A well considered cli and node library for managing applications, infrastructure, and configuration management.
https://github.com/stoked-cenv/cenv-mono
appconfig aws cdk cloudfront docker ecr ecs nodejs parameterstore typescript
Last synced: about 2 months ago
JSON representation
A well considered cli and node library for managing applications, infrastructure, and configuration management.
- Host: GitHub
- URL: https://github.com/stoked-cenv/cenv-mono
- Owner: stoked-cenv
- Created: 2023-05-26T17:11:43.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-07T12:56:09.000Z (about 2 years ago)
- Last Synced: 2024-10-06T08:07:22.319Z (over 1 year ago)
- Topics: appconfig, aws, cdk, cloudfront, docker, ecr, ecs, nodejs, parameterstore, typescript
- Language: TypeScript
- Homepage: https://cenv.stokedconsulting.com
- Size: 5.35 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cenv
A well considered cli and Node.js library for helping manage application, infrastructure, and configuration management.
## overview
cenv inspects your packages and looks for specific conventions to identify `cenv modules` within each package. There are currently 5 different types of cenv modules, LIB, EXEC, PARAMS, DOCKER, and STACK. A package must have at least one cenv module in order to take advantage of the cenv tool.
The PARAMS module leverages AWS AppConfig and AWS Parameter Store to manage application parameter configuration. The DOCKER module provides a mechanism to create an AWS ECR repository for the package containers and build and push the packages containers to the repo. Finally, the STACK module uses AWS Cdk to deploy cloudformation stacks representing the infrastructure and applications contained in the packages.
### pre-requisites
- [node](https://nodejs.org/en/download/)
- [python](https://www.python.org/downloads/)
- [Yarn](https://classic.yarnpkg.com/en/docs/install/#debian-stable)
- [aws cdk](https://aws.amazon.com/cdk/)
- [docker](https://www.docker.com/products/docker-desktop)
## Getting Started
install the cli:
```shell
#npm
npm i -g @stoked-cenv/cli
```
or
```shell
#yarn
yarn global add @stoked-cenv/cli
```
### configuring aws
```shell
cenv configure
```

```shell
# aws profile used to access the aws account you are deploying to.. if one doesn't already exist run "aws configure" first
AWS_PROFILE: (stoked)
# environment region
AWS_REGION: (us-east-1)
# environment name
ENV: (dev)
# everything will point to subdomains below this by default
ROOT_DOMAIN: (stokedconsulting.com)
```
##### full stack example project coming soon!
### cenv-mono contents: the packages
This monorepo contains 3 packages which will be explained here. The packages are cli, lib, params, and ui.
The cli package contains the code for the end user command line interface tool.
The lib package contains the library code that can be consumed by external libraries to manage cenv parameters in their application stacks.
The ui package contains the ui code for the cli built on https://github.com/chjj/blessed.
### support
Call your congressperson. When that doesn't work contact [Brian Stoker](mailto:b@stokedconsulting.com).
### license
[MIT Licensed](https://opensource.org/license/mit/)
