diff --git a/Application.md b/Application.md index 589bf17..6397171 100644 --- a/Application.md +++ b/Application.md @@ -1,4 +1,4 @@ -## What is an Application? +# What is an Application? When working with the Ghaymah CLI, an **Application** is the central resource you’ll interact with. It’s not just source code it’s a deployable unit wrapped in a container, ready to run anywhere. @@ -11,44 +11,88 @@ Everything else like containers, configs, and logs revolves around it. --- -# Basic Usage +## Basic Usage ```bash gy resource app [command] ``` + Aliases: app, a > **Tip:** You can use -h or --help to see all available options. + ```bash gy resource app --help ``` - ## creating an application ### step 1: Initialize the Application Run the following command to create a new application: + ```bash gy resource app init -p project_id ``` + >If you don’t know your project ID or haven’t created a project yet, see the [Projects](Project.md) documentation. + #### Flags | Flag | what does it do | comment | | ------------- | ------------------------- | ------------------------------------ | | -p project_id | specifies the project id | required | | -n name | Sets the application name | Optional, defaults to directory name | -### Step 2: Deploy the Application -#### deploying from a Dockerfile + +### Step 2: deploying from a Dockerfile To deploy using a **Dockerfile**, ensure that: + - A `Dockerfile` exists in the project directory. - All necessary files referenced by the `Dockerfile` are present in the same directory. Once these requirements are met, deploy the application with: + ```bash gy resource app launch ``` -#### Deploying from a git repository + ## Configuring the .ghaymah.json + +Example `.ghaymah.json` + +```json +{ + "id": "ac2d8eb7-ff49-4b8d-9a8e-92cd3aae22a6", + "name": "nginx", + "projectId": "b887e332-3ecd-4187-bdfb-17d8a437833e", + "ports": [ + { + "expose": true, + "number": 80 + } + ], + "publicAccess": { + "enabled": true, + "domain": "auto" + }, + "resourceTier": "t1", + "dockerFileName": "Dockerfile" +} +``` + +### Changing values + +You can change **name**, exposed port, and **dockerFileName** freely. +>you can only have one port per application. +> +### Adding environment variables + +Add an `env` object to the top-level JSON.Example: + +```json +"env": { + "foo": "bar", + "port": 8080 +} +```