Author SHA1 Message Date
ahmedhesham301 cfa09f6271 added docsify-copy-code plugin 2025-09-15 11:43:50 +03:00
ahmedhesham301 aa49f9b478 updated Application.md 2025-09-15 11:40:31 +03:00
ahmedhesham301 16b14fc501 updated _sidebar.md 2025-09-15 11:08:22 +03:00
ahmedhesham301 c1cd7a6091 added tabs 2025-09-15 10:49:09 +03:00
Omar-268 0362379f4a Update Application.md 2025-09-11 15:25:01 +00:00
Omar Ahmed 5519f0629c Update Project.md and Application.md 2025-09-11 18:23:13 +03:00
ahmedhesham301 473527e6ad Merge pull request 'updated sidebar width' (#6) from ahmedhesham301/Ghaymah_Cloud_Docs:main into main
Reviewed-on: #6
2025-09-11 14:55:18 +00:00
ahmedhesham301 78fc97dd09 updated sidebar width 2025-09-11 17:51:35 +03:00
ahmedhesham301 ba5ea34a42 Merge pull request 'main' (#5) from ahmedhesham301/Ghaymah_Cloud_Docs:main into main
Reviewed-on: #5
2025-09-11 14:39:53 +00:00
ahmedhesham301 d8703e829e added some settings and added search bar 2025-09-11 17:15:40 +03:00
ahmedhesham301 e1d8319337 fixed sidebar paths 2025-09-11 17:15:06 +03:00
ahmedhesham301 cc70331a6c Merge pull request 'added files' (#4) from ahmedhesham301/Ghaymah_Cloud_Docs:main into main
Reviewed-on: #4
2025-09-11 13:45:55 +00:00
ahmedhesham301 a1ef213e13 added _sidebar.md 2025-09-11 16:40:47 +03:00
ahmedhesham301 ca4519ba8d added updated getting started 2025-09-11 16:40:12 +03:00
ahmedhesham301 cbdef4e410 added dockerfile and index.html 2025-09-11 16:33:06 +03:00
Abdelrahman 5e278db3c3 Updated 2025-09-11 09:47:29 +00:00
Abdelrahman 2390c1053e application updated 2025-09-11 12:43:20 +03:00
aelhady105 bfe2c40491 ghaymah project commands 2025-09-10 23:49:59 +03:00
ahmedgamalyousef 471e679333 Updating Project.md File 2025-09-10 19:03:29 +03:00
AhmedGamalYousef dfca1c588a Update Project.md 2025-09-10 15:47:33 +00:00
AhmedGamalYousef 6a6c84a061 Update Project.md 2025-09-10 15:43:43 +00:00
AhmedGamalYousef 9860eda638 Delete GhaymahCLI.md 2025-09-10 15:41:34 +00:00
AhmedGamalYousef 6f3ee9f989 Merge pull request 'updated Application.md' (#2) from ahmedhesham301/Ghaymah_Cloud_Docs:main into main
Reviewed-on: #2
2025-09-10 15:10:13 +00:00
ahmedhesham301 d441d9178d updated Application.md 2025-09-10 17:45:28 +03:00
ahmedgamalyousef baf438ef28 updated 2025-09-10 16:00:02 +03:00
ahmedgamalyousef fada2f4c1e Ghaymah CLI 2025-09-10 15:55:15 +03:00
AhmedGamalYousef d46ddc8036 Merge pull request 'added getting started, application, project' (#1) from ahmedhesham301/Ghaymah_Cloud_Docs:main into main
Reviewed-on: #1
2025-09-09 10:51:05 +00:00
ahmedhesham301 b4eb2088de added Application.md and Project.md 2025-09-09 11:47:45 +03:00
ahmedhesham301 26b0788d85 added getting started 2025-09-09 11:25:57 +03:00
AhmedGamalYousef d514afe72e Add README.md 2025-09-08 15:56:12 +00:00
12 changed files with 302 additions and 36 deletions
+98
View File
@@ -0,0 +1,98 @@
# 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.
Think of an Application as the thing you **create, launch, update, and monitor** through the CLI.
Everything else like containers, configs, and logs revolves around it.
> **Note:** A **Project must be created first** before you can initialize or launch an Application.
> The Project acts as the parent workspace that organizes your Applications and related resources.
---
## 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: 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
```
## 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
}
```
+1 -2
View File
@@ -3,5 +3,4 @@ WORKDIR /app
RUN npm install -g docsify-cli
COPY . .
EXPOSE 3000
CMD ["docsify", "serve", ".","-p", "3000"]
CMD ["docsify", "serve", ".","-p", "3000"]
+98
View File
@@ -0,0 +1,98 @@
# Projects
Projects are the foundation of resource organization in Ghaymah CLI. They provide a structured way to group and manage your resources, making it easier to maintain complex deployments and collaborate with team members.
## Commands Reference
### Creating a Project
Create a new project with a specified name:
```bash
gy resource project create --set .name="my-awesome-project"
```
**Short form:**
```bash
gy r p c --set .name="my-awesome-project"
```
**Example:**
```bash
# Create a project for a web application
gy resource project create --set .name="web-app-frontend"
```
### Listing Projects
View all existing projects:
```bash
gy resource project get
```
**Short form:**
```bash
gy r p g
```
### Updating a Project
Modify an existing project's properties:
```bash
gy resource project update <PROJECT_ID> --set .name="updated-name"
```
**Short form:**
```bash
gy r p u <PROJECT_ID> --set .name="updated-name"
```
**Example:**
```bash
# Update project name
gy resource project update proj_123abc --set .name="web-app-backend"
```
### Deleting a Project
Remove a project and all its associated resources:
```bash
gy resource project delete <PROJECT_ID>
```
**Short form:**
```bash
gy r p d <PROJECT_ID>
```
**Example:**
```bash
# Delete project by ID
gy resource project delete proj_123abc
```
> ⚠️ **Warning**: Deleting a project will permanently remove all associated resources. This action cannot be undone.
## Best Practices
### Naming Conventions
- Use descriptive names: `web-app-frontend`, `api-service-v2`
- Include environment indicators: `my-app-staging`, `my-app-production`
- Keep names concise but meaningful
## Related Commands
- `gy resource --help` - View all resource management commands
- `gy resource project --help` - View all project management commands
---
+1 -1
View File
@@ -1 +1 @@
# Welcome to Ghaymah CLI Docs
بسم الله الرحمن الرحيم
+4 -12
View File
@@ -1,12 +1,4 @@
- [About Ghaymah CLI](about-ghaymah-cli.md)
- [Getting Started](getting-started.md)
- [Using CLI](using-cli.md)
- Features
- [Integrations](features/integrations.md)
- [Projects](features/Projects.md)
- [Getting Started](getting-started.md)
<!-- - [Integrations](features/integrations.md) -->
- [Projects](Project.md)
- [Application](Application.md)
View File
View File
View File
+42 -7
View File
@@ -4,18 +4,36 @@ This topic describes how to install the latest release of **Ghaymah Command Line
---
## Ghaymah CLI Install Instructions
## Ghaymah CLI Install Instructions
### Installation
<!-- tabs:start -->
#### **Linux**
<!-- tabs:start -->
#### **Debian**
Download & Install
#### **Step 1:** Download & Install
Run the following command to install the latest release of the Ghaymah CLI:
```bash
curl -sSl https://cli.ghaymah.systems/install.sh | bash
```
#### **Step 2:** Update PATH
#### **Redhat**
1.Download & Install
Run the following command to install the latest release of the Ghaymah CLI:
```bash
curl -sSl https://cli.ghaymah.systems/install.sh | bash
```
2.update PATH
Add the CLI to your PATH and reload your shell configuration:
```bash
@@ -23,7 +41,19 @@ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
```
#### **Step 3:** Verify Installation
<!-- tabs:end -->
#### **Macos**
Bonjour!
#### **Windows**
Ciao!
<!-- tabs:end -->
### Verifying Installation
Check that the CLI is installed correctly:
```bash
@@ -43,15 +73,17 @@ Latest version: xx.xx.xx
### Enable Auto-Completion
#### **Step 1:** Check Your Shell
Run the following command to check which shell you are using:
```bash
echo $SHELL
```
> ** Supported shells:** `bash`, `zsh`, `fish`
> **Supported shells:** `bash`, `zsh`, `fish`
#### **Step 2:** Enable Shell Completion
Enable shell completion to get command suggestions and auto-completion.
**For Bash**, run:
@@ -66,22 +98,25 @@ Then add the generated completion script to your shell configuration:
echo "source ~/gy-completion.sh" >> ~/.bashrc
```
> **Important:** Restart your terminal after completing this step
> **Important:** Restart your terminal after completing this step
---
### Authentication
Before using the Ghaymah CLI, you need to authenticate your account.
If you don’t have an account yet, you can create one by visiting the Ghaymah website:
If you don't have an account yet, you can create one by visiting the Ghaymah website:
[Ghaymah systems](https://ghaymah.systems/)
After creating your account, return to the CLI and run the following command to log in.
```bash
gy auth login
```
You will be prompted to enter your email and password:
```bash
Email:
Password:
+25
View File
@@ -0,0 +1,25 @@
create project
> gy resource project create --set .name="project_name"
Aliases:
> gy r p c --set .name="project_name"
list the projects:
> gy resource project get
Aliases:
> gy r p g
update om project:
> gy resource project update project_ID --set .name="new_name"
Aliases:
> gy r p u update project_ID --set .name="new_name"
Delete project:
> gy resource project delete project_ID
Aliases:
> gy r p d project_ID
+33 -14
View File
@@ -1,22 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ghaymah Docs</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable/dist/css/theme-simple-dark.css">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1.0, shrink-to-fit=no, viewport-fit=cover" />
<!-- <meta name="description" content=""> -->
<title>Ghaymah cloud documentation</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable/dist/css/theme-simple-dark.css" />
<!-- Custom Styles -->
<style>
:root {
--sidebar-width: 20rem;
}
</style>
</head>
<body>
<div id="app">Loading...</div>
<div id="app">Loading...</div>
<script>
window.$docsify = {
name: 'Ghaymah Docs',
loadSidebar: true,
subMaxLevel: 3
}
</script>
<script>
window.$docsify = {
name: "Ghaymah Docs",
loadSidebar: true,
subMaxLevel: 3,
};
</script>
<script src="https://cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
<!-- Required -->
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/js/docsify-themeable.min.js"></script>
Recommended
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/plugins/search.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify-tabs@1"></script>
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code"></script>
</body>
</html>
</html>
View File