Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/phppirate/forge-sdk

Unofficial JavaScript SDK for the Laravel Forge Api
https://github.com/phppirate/forge-sdk

forge javascript laravel management sdk

Last synced: 5 days ago
JSON representation

Unofficial JavaScript SDK for the Laravel Forge Api

Awesome Lists containing this project

README

        

# Forge JavaScript SDK
Unofficial JavaScript SDK for the Laravel Forge Api

## Installation
With NPM:
``` shell
npm install forge-sdk
```
With Yarn:
``` shell
yarn add forge-sdk
```

## Usage
The SDK harneses Promises and the Fetch Api to handle requests.

``` javascript
import Forge from 'forge-sdk'

let forge = new Forge(API_KEY)

// Get Servers
let servers;

forge.servers()
.then(r => servers = r)
```

## Availible Methods

### Servers
``` javascript
forge.servers()
forge.server(serverId)
forge.rebootServer(serverId)
```

### Services

#### MySQL
``` javascript
forge.rebootMysql(serverId)
forge.stopMysql(serverId)
```

#### Postgres
``` javascript
forge.rebootPostgres(serverId)
forge.stopPostgres(serverId)
```

#### NginX
``` javascript
forge.rebootNginx(serverId)
forge.stopNginx(serverId)
forge.siteNginxFile(serverId, siteId)
forge.updateSiteNginxFile(serverId, siteId, content)
```

#### Blackfire
``` javascript
forge.installBlackfire(serverId, data)
forge.removeBlackfire(serverId)
```

#### Papertrail
``` javascript
forge.installPapertrail(serverId, data)
forge.removePapertrail(serverId)
```

### Daemons

``` javascript
forge.daemons(serverId)
forge.daemon(serverId, daemonId)
forge.createDaemon(serverId, data)
forge.restartDaemon(serverId, daemonId)
forge.deleteDaemon(serverId, daemonId)
```

### Firewall Rules

``` javascript
forge.firewallRules(serverId)
forge.firewallRule(serverId, ruleId)
forge.createFirewallRule(serverId, data)
forge.deleteFirewallRule(serverId, ruleId)
```

### Sites

``` javascript
forge.sites(serverId)
forge.site(serverId, siteId)
forge.createSite(serverId, data)
forge.updateSite(serverId, siteId, data)

// NOT FOUND IN API DOCS --- @TODO: CHECK OUT FORGE PHP SDK
// refreshSiteToken(serverId, siteId){}

forge.deleteSite(serverId, siteId)
```

#### Environment File
``` javascript
forge.siteEnvironmentFile(serverId, siteId)
forge.updateSiteEnvironmentFile(serverId, siteId, content)
```

#### Site Repositories and Deployments
``` javascript
forge.installGitRepositoryOnSite(serverId, siteId, data)
forge.destroySiteGitRepository(serverId, siteId)
forge.siteDeploymentScript(serverId, siteId)
forge.updateSiteDeploymentScript(serverId, siteId, content)
forge.enableQuickDeploy(serverId, siteId)
forge.disableQuickDeploy(serverId, siteId)
forge.deploySite(serverId, siteId)
forge.resetDeploymentState(serverId, siteId)
forge.siteDeploymentLog(serverId, siteId)
```

#### Installing Wordpress
``` javascript
forge.installWordPress(serverId, siteId, data)
forge.removeWordPress(serverId, siteId)
```

#### Updating Load balancing Configuration
``` javascript
forge.updateLoadBalancingConfiguration(serverId, siteId, data)
```

### Workers

``` javascript
forge.workers(serverId, siteId)
forge.worker(serverId, siteId, workerId)
forge.createWorker(serverId, siteId, data)
forge.deleteWorker(serverId, siteId, workerId)
forge.restartWorker(serverId, siteId, workerId)
```

### SSL Certificates
``` javascript
forge.certificates(serverId, siteId)
forge.certificate(serverId, siteId, certificateId)
forge.createCertificate(serverId, siteId, data)
forge.deleteCertificate(serverId, siteId, certificateId)
forge.getCertificateSigningRequest(serverId, siteId, certificateId)
forge.installCertificate(serverId, siteId, certificateId)
forge.activateCertificate(serverId, siteId, certificateId)
forge.obtainLetsEncryptCertificate(serverId, siteId, data)
```

### MySQL
``` javascript
forge.mysqlDatabases(serverId)
forge.mysqlDatabase(serverId, databaseId)
forge.createMysqlDatabase(serverId, data)
forge.updateMysqlDatabase(serverId, databaseId, data)
forge.deleteMysqlDatabase(serverId, databaseId)
```

#### Users
``` javascript
forge.mysqlUsers(serverId)
forge.mysqlUser(serverId, userId)
forge.createMysqlUser(serverId, data)
forge.updateMysqlUser(serverId, userId, data)
forge.deleteMysqlUser(serverId, userId)
```

## Contributions are welcome.