PHPackages                             yanggs07/yii2-salt-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. yanggs07/yii2-salt-api

ActiveYii2-extension[API Development](/categories/api)

yanggs07/yii2-salt-api
======================

A yii2 implement of saltstack api client

1.0.1(4y ago)03BSD-3-ClausePHPPHP &gt;=7.4

Since Apr 22Pushed 4y ago1 watchersCompare

[ Source](https://github.com/yanggs07/yii2-salt-api)[ Packagist](https://packagist.org/packages/yanggs07/yii2-salt-api)[ RSS](/packages/yanggs07-yii2-salt-api/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (3)Used By (0)

Usages
======

[](#usages)

Before using this salt-api PHP SDK, enable salt-api for salt master is required.

Salt-api Installation And Configuration
---------------------------------------

[](#salt-api-installation-and-configuration)

see [salt-api](https://www.unixhot.com/docs/saltstack/ref/netapi/all/salt.netapi.rest_cherrypy.html#a-rest-api-for-salt)

### Install salt-api for linux

[](#install-salt-api-for-linux)

```
# yum -y install salt-api
or
# apt -y install salt-api
or
whatever your linux system can do this
```

### Generate self-signed cert with correct api host domain

[](#generate-self-signed-cert-with-correct-api-host-domain)

```
salt-call --local tls.create_self_signed_cert CN=salt-master.server days=3650
local:
    Created Private Key: "/etc/pki/tls/certs/salt-master.server.key." Created Certificate: "/etc/pki/tls/certs/salt-master.server.crt."
```

Later we would use `https://salt-master.server:8000` for remote api call and use custom CA cert file. Copy the CA public key file `/etc/pki/tls/certs/salt-master.server.crt` to your PHP project path.

### Configure salt-api and salt-master

[](#configure-salt-api-and-salt-master)

Ensure the master conf include `master.d`:

```
[root@salt-master ~]# vim /etc/salt/master
default_include: master.d/*.conf
```

Create new api conf:

```
[root@salt-master ~]# vim /etc/salt/master.d/api.conf
rest_cherrypy:
  host:
  port: 8000
  ssl_crt: /etc/pki/tls/certs/salt-master.server.crt
  ssl_key: /etc/pki/tls/certs/salt-master.server.key
```

Create salt-api user with YOUR password!

```
[root@salt-master ~]# useradd -M -s /sbin/nologin saltapi
[root@salt-master ~]# echo 'saltapi' | passwd --stdin saltapi
```

Create auth conf:

```
[root@salt-master ~]# vim /etc/salt/master.d/auth.conf
external_auth:
  pam:
    saltapi:
      - .*
      - '@wheel'
      - '@runner'
      - '@jobs'
```

Restart services:

```
[root@salt-master ~]# systemctl restart salt-master
[root@salt-master ~]# systemctl start salt-api
[root@salt-master ~]# systemctl enable salt-api
```

SDK DEMO Code
=============

[](#sdk-demo-code)

`tes.php`:

```
