e107inc/e107

View on GitHub
e107_tests/lib/ci/salt/README.md

Summary

Maintainability
Test Coverage
# e107 Local Test Container Setup

1. Launch a development container:

   ```
   lxc launch -s local images:ubuntu/focal e107-dev
   ```

2. Push your public SSH key:

   ```
   lxc file push --uid 0 --gid 0 -pv ~/.ssh/id_rsa.pub e107-dev/root/.ssh/authorized_keys
   ```

3. Install OpenSSH Server:

   ```
   lxc exec e107-dev -- apt install -y openssh-server
   ```

4. Note the IP of the container:

   ```
   E107_DEV_HOST=$(lxc exec e107-dev -- hostname -I | cut -d' ' -f1)
   ```

5. Generate the [Salt SSH](https://docs.saltstack.com/en/latest/topics/ssh/) [roster](https://docs.saltstack.com/en/latest/topics/ssh/roster.html):

   ```
   echo "e107-dev: $E107_DEV_HOST" | tee roster
   ```

6. Configure `e107_tests/config.yml` based on `e107_tests/config.sample.yml` (from the root of this repository).

   For all tests:

   > Set `db.dbname`, `db.user`, and `db.password` to what you want the container configuration to have.
   >
   > Set `db.host` to the value of `$E107_DEV_HOST`.
   
   For acceptance tests:
   
   > Set `deployer` to `sftp`.
   >
   > Set `fs.host` to the value of `$E107_DEV_HOST`.
   >
   > Set `fs.user` to `www-data`.
   >
   > Set `fs.password` to any password you want the user to have.
   >
   > Set `fs.path` to `/var/www/html/e107/`.
   >
   > Set `url` to the output of `echo "http://$E107_DEV_HOST/e107/"`

7. Apply the container configuration:
   ```
   salt-ssh 'e107-dev' --state-output=changes state.apply e107-dev
   ```