This commit is contained in:
Eric Meehan 2024-09-13 21:35:12 -04:00
commit 1b94ee203a
8 changed files with 142 additions and 0 deletions

37
README.md Normal file
View File

@ -0,0 +1,37 @@
Kraken Bot
=========
Scheduled algorithmic cryptocurrency tradting using the Kraken API
Requirements
------------
None.
Role Variables
--------------
kraken_bot_namespace: kraken-bot
schedule: "0 * * * * "
Dependencies
------------
None.
Example Playbook
----------------
- hosts: servers
roles:
- { role: ericomeehan.kraken-bot }
License
-------
BSD
Author Information
------------------
Eric O'Neill Meehan

5
defaults/main.yml Normal file
View File

@ -0,0 +1,5 @@
---
# defaults file for ansible-role-kraken-bot
kraken_bot_namespace: kraken-bot
schedule: "0 * * * *"

2
handlers/main.yml Normal file
View File

@ -0,0 +1,2 @@
---
# handlers file for ansible-role-kraken-bot

52
meta/main.yml Normal file
View File

@ -0,0 +1,52 @@
galaxy_info:
author: your name
description: your role description
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Choose a valid license ID from https://spdx.org - some suggested licenses:
# - BSD-3-Clause (default)
# - MIT
# - GPL-2.0-or-later
# - GPL-3.0-only
# - Apache-2.0
# - CC-BY-4.0
license: license (GPL-2.0-or-later, MIT, etc)
min_ansible_version: 2.1
# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:
#
# Provide a list of supported platforms, and for each platform a list of versions.
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
# To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

37
tasks/main.yml Normal file
View File

@ -0,0 +1,37 @@
---
# tasks file for ansible-role-kraken-bot
- name: Create kraken bot namespace
k8s:
state: present
definition:
apiVersion: v1
kind: Namespace
metadata:
name: "{{ kraken_bot_namespace }}"
- name: Create a cron job for kraken bot
k8s:
state: present
definition:
apiVersion: batch/v1
kind: CronJob
metadata:
name: kraken-bot
spec:
schedule: "{{ schedule }}"
jobTemplate:
spec:
template:
spec:
containers:
- name: bot
image: debian
command:
- apt-get install -y git
- git clone https://git.eom.dev/pykraken /usr/local/src/pykraken
- cd /usr/local/src/pykraken
- python3 -m venv venv
- source venv/bin/activate
- pip3 install -r requirements.txt
- python3 app.py
restartPolicy: OnFailure

2
tests/inventory Normal file
View File

@ -0,0 +1,2 @@
localhost

5
tests/test.yml Normal file
View File

@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- ansible-role-kraken-bot

2
vars/main.yml Normal file
View File

@ -0,0 +1,2 @@
---
# vars file for ansible-role-kraken-bot