https://github.com/johnramsden/buildbot-digitalocean-latent-worker
Buildbot module for latent digitalocean workers
https://github.com/johnramsden/buildbot-digitalocean-latent-worker
Last synced: about 1 year ago
JSON representation
Buildbot module for latent digitalocean workers
- Host: GitHub
- URL: https://github.com/johnramsden/buildbot-digitalocean-latent-worker
- Owner: johnramsden
- License: bsd-3-clause
- Created: 2017-09-21T00:13:50.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-11-05T02:17:24.000Z (over 8 years ago)
- Last Synced: 2025-05-14T15:06:42.531Z (about 1 year ago)
- Language: Python
- Size: 40 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
Buildbot module for latent digitalocean workers
================================================
**NOTE: Work in progress, not ready for use.**
``digitalocean-latent-worker`` is a `Buildbot `_ plugin for creating latent DigitalOcean workers.
DigitalOcean virtual machines can be created on the fly, and then destroyed when they are finished doing a build. Setup instructions can be customized with the ``user_data`` variable as `cloud-init `_ data, shell script, or any other type of setup data is supported by DigitalOcean.
Using the DigitalOcean API
--------------------------
Create an API token on DigitalOcean.
The API key, an SSH key and other necessary setup data can be given to the initializer for the worker class.
It's reccomended to put all secret data into a ``password.py`` file so it can be kept separate from the rest of the files that might be committed to a repository.
Examples
^^^^^^^^
Example sample files can be found in the `buildbot/master `_ directory.
Secrets in ``password.py``::
digitalocean_api_key = "thisisafakeapikey"
bb_worker_pass = "example_pass"
Configuration in ``master.cfg``::
c = BuildmasterConfig = {}
c['workers'] = [
worker.DigitalOceanLatentWorker(
"bb-worker", password.bb_worker_pass,
"ubuntu-16-04-x64", password.digitalocean_api_key,
ssh_keys=['ssh_id'], user_data=workers.do_worker_user_data)
]