Subtopic•Creating Applications

Creating App Via Ui

In the previous section, we finished our configuration of repository connections, detailing HTTPS tokens, SSH keys, GitHub App integrations, private Helm registries, and shared credentials templates. With connection targets established, we will now start Module 4: Deploying Applications, beginning with Creating Applications via the Web UI.

While declarative YAML files are the production standard, the ArgoCD Web UI dashboard is a powerful interface for creating applications during local testing, running manual reviews, or visualizing resource definitions.

In this guide, we will provide a step-by-step walkthrough of creating an application using the web console, configuring parameters, and verifying deployments.

1. Step-by-Step UI Application Creation

Follow this sequence to deploy a web application to your target namespace:

Step 1: Open the Applications Dashboard

  1. Navigate to your public ArgoCD URL (e.g., https://argocd.company.com).
  2. Log in using your credentials or Single Sign-On (SSO) portal.
  3. Click the + New App button in the top left corner of the dashboard.

Step 2: Configure General Settings

In the configuration panel, input the following details under General:

  • Application Name: payment-api-staging (use lowercase, alphanumeric characters, and hyphens).
  • Project: Select default (or your custom scoped project like payments-team).
  • Sync Policy: Select Manual (ideal for testing) or Automatic (to enable automated reconciliations).

Step 3: Configure Source Settings

Specify where the manifests live under Source:

  • Repository URL: Input your Git repository URL (e.g., https://github.com/company/payments-configs.git).
  • Revision: Enter main (or track a specific branch, tag, or commit hash).
  • Path: Specify the directory containing your manifests (e.g., kubernetes/staging).

Step 4: Configure Destination Settings

Specify where to deploy the application under Destination:

  • Cluster URL: Select https://kubernetes.default.svc (routes deployments to the local cluster).
  • Namespace: Enter staging-apps.

2. Enabling Sync Options in the UI

Before saving your application, customize the sync options inside the details pane:

  • Create Namespace: Check Create Namespace to instruct the controller to create the target staging-apps namespace if it does not exist in the cluster.
  • Prune Resources: Check Prune Resources to delete orphaned resources inside the cluster when their configuration files are removed from Git.
  • Self-Healing: Check Self-Healing to overwrite manual cluster changes with Git configurations automatically.

3. Visualizing Deployment Trees

Once you fill in the fields, click the Create button. The dashboard returns you to the main screen, listing your new application card as OutOfSync.

Click the payment-api-staging card to view the Resource Tree:

               Application Resource Tree View
┌────────────────────────────────────────────────────────┐
│  Application: payment-api-staging (OutOfSync)          │
├────────────────────────────────────────────────────────┤
│  Deployment: payment-dep                               │
│  ├── ReplicaSet: payment-rs                            │
│  │   └── Pod: payment-pod                              │
│  └── Service: payment-svc                              │
└────────────────────────────────────────────────────────┘

Click Sync at the top of the pane, select the resources to update, and click Synchronize. The controller applies the manifests, and the resource tree nodes update to green Synced and Healthy indicators as pods boot and pass readiness probes.


4. Operational Best Practices: UI Management

  • Create custom projects: Avoid deploying applications inside the default project. Use custom AppProjects to isolate team namespaces.
  • Keep names consistent: Enforce naming conventions (e.g., <app-name>-<environment>) to make configurations easy to manage.
  • Verify diffs before syncing: Always review the side-by-side YAML diff inside the console before triggering manual sync tasks.

5. UI Configuration Parameter Reference Summary

Configuration SectionParameterRecommended ValueCore Objective
GeneralApplication Name<app>-<env>Unique identifier in dashboard.
SourcePathScoped directory pathFolders containing target manifests.
DestinationNamespace<team>-<env>Isolated target namespace.
Sync PolicyCreateNamespaceCheck (Enabled)Creates target namespace if missing.

Now that we have covered how to create applications using the Web UI console, the next step is command-line management. In the next section, we will cover how to create applications using the ArgoCD CLI client.

←Previous ModuleCore Concepts