Skip to main content

Application Components

An Application Component is the fundamental runnable artifact in CodeNOW. It represents a single deployable service — a microservice, background worker, frontend application, or any other independently buildable and runnable unit.

What is an Application Component?

An application component is a standalone code project managed within CodeNOW that produces a runnable artifact deployed into an environment. Each component has its own Git repository, build pipeline, and runtime configuration.

Unlike Libraries (which produce reusable packages consumed by other components) or Containers (which produce base Docker images), an application component is deployed and runs as a live service inside a cluster.

Components are always grouped under an Application, which acts as the deployable unit. An application packages the component versions together and deploys them as a whole.

Typical examples:

  • A REST API backend service
  • A frontend web application
  • A background job worker
  • An event consumer or message processor

Repository Structure

CodeNOW expects the following structure in the component's Git repository:

Component repository structure diagram
info

For monorepo setups, the entire structure above is nested within a subdirectory of the repository. Configure the path in Git Settings when creating or editing the component.

  • .codenow.yaml — CI pipeline definition used by CodeNOW to build the component
  • .codenow.triggers.yaml — configures when builds are triggered (branches, events)
  • Build descriptor (pom.xml, package.json, etc.) — standard build file for the component's technology stack
  • codenow/config/ — holds the default configuration of the component; see Configuration for details
  • src/ — component source code
  • ... — additional files and directories depending on the chosen technology stack
  • Dockerfile — container build descriptor; present only when advanced mode is enabled in CI Configuration
  • helm/ — Helm deployment descriptors; present only when advanced mode is enabled in CI Configuration

What You Can Do

ActionDescription
Create a new componentSelect a name and technology template to create a component
View component detailSee component info, repository status, and available actions
Open / Clone repositoryAccess the component's Git repository for local development
Setup instructionsView instructions for setting up the component in your IDE
Manage merge requestsCreate and review merge requests for the component repository
Manage permissionsControl who can view, develop, or administer the component
Configure CISet the build image, CI provider, environment variables, and branch settings
ConfigurationManage runtime configuration — configuration files, environment variables, Helm values, and runtime settings
Delete componentPermanently remove the component and its repository