Author SHA1 Message Date
Omar-268 b01c0a64be Update getting-started.md 2025-09-11 10:44:12 +00:00
Omar-268 1eaaf00f63 Update getting-started.md 2025-09-11 10:30:16 +00:00
Omar-268 17feae0491 Update index.html 2025-09-10 18:13:59 +00:00
Omar-268 dee9c1b220 Update getting-started.md 2025-09-10 17:51:39 +00:00
Omar Ahmed 6714506b3f Add Dockerfile to serve docs with Docsify on port 3000 2025-09-10 19:41:30 +03:00
12 changed files with 36 additions and 302 deletions
-98
View File
@@ -1,98 +0,0 @@
# 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
View File
@@ -4,3 +4,4 @@ RUN npm install -g docsify-cli
COPY . . COPY . .
EXPOSE 3000 EXPOSE 3000
CMD ["docsify", "serve", ".","-p", "3000"] CMD ["docsify", "serve", ".","-p", "3000"]
-98
View File
@@ -1,98 +0,0 @@
# 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
+11 -3
View File
@@ -1,4 +1,12 @@
- [About Ghaymah CLI](about-ghaymah-cli.md)
- [Getting Started](getting-started.md) - [Getting Started](getting-started.md)
<!-- - [Integrations](features/integrations.md) -->
- [Projects](Project.md) - [Using CLI](using-cli.md)
- [Application](Application.md)
- Features
- [Integrations](features/integrations.md)
- [Projects](features/Projects.md)
View File
View File
View File
+5 -40
View File
@@ -7,33 +7,15 @@ This topic describes how to install the latest release of **Ghaymah Command Line
## Ghaymah CLI Install Instructions ## Ghaymah CLI Install Instructions
### Installation ### 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: Run the following command to install the latest release of the Ghaymah CLI:
```bash ```bash
curl -sSl https://cli.ghaymah.systems/install.sh | bash curl -sSl https://cli.ghaymah.systems/install.sh | bash
``` ```
#### **Redhat** #### **Step 2:** Update PATH
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: Add the CLI to your PATH and reload your shell configuration:
```bash ```bash
@@ -41,19 +23,7 @@ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc source ~/.bashrc
``` ```
<!-- tabs:end --> #### **Step 3:** Verify Installation
#### **Macos**
Bonjour!
#### **Windows**
Ciao!
<!-- tabs:end -->
### Verifying Installation
Check that the CLI is installed correctly: Check that the CLI is installed correctly:
```bash ```bash
@@ -73,17 +43,15 @@ Latest version: xx.xx.xx
### Enable Auto-Completion ### Enable Auto-Completion
#### **Step 1:** Check Your Shell #### **Step 1:** Check Your Shell
Run the following command to check which shell you are using: Run the following command to check which shell you are using:
```bash ```bash
echo $SHELL echo $SHELL
``` ```
> **Supported shells:** `bash`, `zsh`, `fish` > ** Supported shells:** `bash`, `zsh`, `fish`
#### **Step 2:** Enable Shell Completion #### **Step 2:** Enable Shell Completion
Enable shell completion to get command suggestions and auto-completion. Enable shell completion to get command suggestions and auto-completion.
**For Bash**, run: **For Bash**, run:
@@ -103,20 +71,17 @@ echo "source ~/gy-completion.sh" >> ~/.bashrc
--- ---
### Authentication ### Authentication
Before using the Ghaymah CLI, you need to authenticate your account. 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/) [Ghaymah systems](https://ghaymah.systems/)
After creating your account, return to the CLI and run the following command to log in. After creating your account, return to the CLI and run the following command to log in.
```bash ```bash
gy auth login gy auth login
``` ```
You will be prompted to enter your email and password: You will be prompted to enter your email and password:
```bash ```bash
Email: Email:
Password: Password:
-25
View File
@@ -1,25 +0,0 @@
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
+8 -27
View File
@@ -1,41 +1,22 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8" /> <meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>Ghaymah Docs</title>
<meta name="viewport" <meta name="viewport" content="width=device-width, initial-scale=1.0">
content="width=device-width, initial-scale=1, minimum-scale=1.0, shrink-to-fit=no, viewport-fit=cover" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable/dist/css/theme-simple-dark.css">
<!-- <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> </head>
<body> <body>
<div id="app">Loading...</div> <div id="app">Loading...</div>
<script> <script>
window.$docsify = { window.$docsify = {
name: "Ghaymah Docs", name: 'Ghaymah Docs',
loadSidebar: true, loadSidebar: true,
subMaxLevel: 3, subMaxLevel: 3
}; }
</script> </script>
<!-- Required --> <script src="https://cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
<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> </body>
</html> </html>
View File