https://github.com/codemask-labs/argo-composer
https://github.com/codemask-labs/argo-composer
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/codemask-labs/argo-composer
- Owner: codemask-labs
- Created: 2023-12-14T13:12:22.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-19T09:19:17.000Z (7 months ago)
- Last Synced: 2025-12-21T19:41:40.943Z (6 months ago)
- Language: TypeScript
- Size: 1.28 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README

# Argo Composer
An configurable, templated and structured interactive command-line interface for initializing, creating and maintaining your ArgoCD resources repository.
## Features
- Apps-of-Apps pattern out-of-the-box
- Set of ready-to-use templates for Applications
- Easy to use interractive commands for creating, copying and removing Argo Application manifests
## Installation
using `npm`:
```bash
$ npm install -g @codemask-labs/argo-composer
```
or, using `yarn`:
```bash
$ yarn global add @codemask-labs/argo-composer
```
## Initializing your argocd resources repository
After successful installation, we can now proceed to initialize the `argocd-resources` repository by calling the following command:
```bash
$ argo-composer i
$ argo-composer init
```
The argo composer will take you through the interractive process of asking few questions on how you want your project to look like.
### 1. What name would you like to use for the project?
> [!TIP]
> The `name of the project` is simply a directory name where the `argo composer` will initialize to.
> Also, leaving this option empty will initialize the project in the `current working directory`.
### 2. What is the base URL of GitHub repository?
> [!TIP]
> The GitHub repository is then saved in root configuration, to be used as a default value when creating your Application.
### 3. What will be the environment inside your cluster?
> [!TIP]
> The current default environment configuration is `dev` and `prod`, used for creating your Application overlays.
> Choose the environment to your project needs, for example it could be: `integration`, `staging`, `production`.
### 4. Do you want to install any additional components?
> [!TIP]
> Select needed components (aka addons) to your project - by default it is `infra` - creating an example applications for each selected component and installs via Helm.
### 5. What name would you like to use for addons?
> [!TIP]
> Configurable to your liking, choose a project name for example `common` (by default `infra`).
## Commands
To begin working with `argo-composer` command line, we recommend to use a help command first, by calling:
```bash
$ argo-composer --help
```
### Adding project
To add a another `argocd project`, use:
```bash
$ argo-composer add project
```
### Removing project
To remove project, use:
```bash
$ argo-composer rm project
$ argo-composer remove project
```
### Adding application to a project
To add a another `argocd application` to a existing project, use:
```bash
$ argo-composer add app
$ argo-composer add application
```
### Removing application for a project
To remove application, use:
```bash
$ argo-composer rm app
$ argo-composer rm application
$ argo-composer remove app
$ argo-composer remove application
```
## Development
> [!IMPORTANT]
> We are currently in development of project Argo Composer.
> If you are made this far - yay! - and maybe would like to contribute to this project? Then you are more than welcome to visit the provided link to a guide below :pray:!
[How to start in development guide](https://github.com/codemask-labs/argo-composer/blob/main/development.md)