Skip to content

gitops-ci-cd/acme-node

Repository files navigation

Acme Node

This repository serves as a reference application for NodeJS that demonstrates best practices for local development and CI/CD workflows.

Designed to support local development with VS Code and Docker and a CI/CD pipeline via GitHub Actions and Argo CD, this project follows GitOps methodologies and trunk-based development principles.

Getting Started

  1. Clone the Repository

    git clone https://github.com/gitops-ci-cd/acme-node.git
    cd acme-node
    
    brew bundle
  2. Open in VS Code

    Open the repository in VS Code and, if prompted, Reopen in Container to initialize the development environment within Docker.

    The project includes a .devcontainer configuration, which:

    • Installs dependencies based on the project requirements.
    • Sets up a development environment within Docker for consistency (referencing the root docker compose file).
  3. Use docker compose instead

    If you prefer to use Docker Compose directly, you can run the following command:

    docker compose watch

    This command starts the application in development mode, with hot reloading enabled. Customize the compose.override.yaml file as needed for additional settings.

  4. Visit the Application

    Visit the application in your browser at http://localhost:8080/api/v1/hello.

Usage

This project uses GitHub Actions for CI. See the following for more details:

Submit a PR to the main branch to trigger the CI. Merge the PR to trigger CD.

Contributing

Refer to the CONTRIBUTING.md for more information on how to contribute to this project. The "reference" is a living document and will evolve over time. Please contribute to the project by submitting issues and pull requests!