Initial commit

This commit is contained in:
2026-07-03 12:30:35 -04:00
commit 9fb08c0ad3
8 changed files with 401 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
Role Name
=========
A brief description of the role goes here.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
License
-------
BSD
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
+3
View File
@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
---
# defaults file for ansible-role-shkeeper
+3
View File
@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
---
# handlers file for ansible-role-shkeeper
+35
View File
@@ -0,0 +1,35 @@
#SPDX-License-Identifier: MIT-0
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:
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.
+310
View File
@@ -0,0 +1,310 @@
#SPDX-License-Identifier: MIT-0
---
# tasks file for ansible-role-shkeeper
- name: add repo
kubernetes.core.helm_repository:
name: vsys-host
repo_url: https://vsys-host.github.io/helm-charts
register: repo_update
- name: add repo
kubernetes.core.helm_repository:
name: mittwald
repo_url: https://helm.mittwald.de
register: repo_update
- name: update repos
command: helm repo update
when: repo_update.changed
- name: deploy
kubernetes.core.helm:
name: kubernetes-secret-generator
chart_ref: mittwald/kubernetes-secret-generator
release_namespace: kubernetes-secret-generator
create_namespace: true
- name: deploy
kubernetes.core.helm:
name: shkeeper
chart_ref: vsys-host/shkeeper
release_namespace: shkeeper
create_namespace: true
values:
namespace: shkeeper
external_ip: 0.0.0.0
domain: "shkeeper.eom.dev"
additional_domains: []
dev:
imagePullSecrets:
storageClassName:
shkeeper:
image: vsyshost/shkeeper:2.5.28
port: 5000
enable_payout_callback: false
unified_btc_image: vsyshost/bitcoin-shkeeper:2.0.13
btc:
enabled: true
mainnet: true
regtest: false
legacy:
enabled: false
btc_fullnode:
enabled: false
image: vsyshost/bitcoind:27.0
url: http://shkeeper:shkeeper@fullnode.bitcoin.shkeeper.io:8332
nodeSelector: {}
tolerations: []
ltc:
enabled: true
mainnet: true
legacy:
enabled: false
ltc_fullnode:
enabled: false
image: vsyshost/litecoind:0.21.5.4
url: http://shkeeper:shkeeper@fullnode.litecoin.shkeeper.io:80
nodeSelector: {}
tolerations: []
doge:
enabled: true
mainnet: true
legacy:
enabled: false
doge_fullnode:
enabled: false
image: vsyshost/dogecoind:1.14.9
url: http://shkeeper:shkeeper@fullnode.dogecoin.shkeeper.io
nodeSelector: {}
tolerations: []
firo:
enabled: false
mainnet: true
tron_fullnode:
image: vsyshost/javatron:GreatVoyage-v4.8.1.1
enabled: false
url: http://java-tron:8090
solidity_url: http://java-tron:8091
mainnet: true
JAVA_TOOL_OPTIONS: ""
nodeSelector: {}
tolerations: []
tron_shkeeper:
image: vsyshost/tron-shkeeper:1.1.14
host: 'tron-shkeeper'
port: 6000
trx:
enabled: false
usdt:
enabled: false
usdc:
enabled: false
unified_evm_image: vsyshost/evm-shkeeper:1.1.1
eth_fullnode:
enabled: false
url: http://ethereum:8545
mainnet: true
nodeSelector: {}
tolerations: []
ethereum_shkeeper: {}
eth:
enabled: false
eth_usdt:
enabled: false
eth_usdc:
enabled: false
eth_pyusd:
enabled: false
eth_dai:
enabled: false
monero:
enabled: true
image: vsyshost/monero:v0.18.1.2
mainnet: true
fullnode:
enabled: true
monerod:
host: "monerod.eom.dev"
port: "1111"
user: "monerod"
password: "monerod"
nodeSelector: {}
tolerations: []
bnb_fullnode:
enabled: false
url: http://bnb:8545
mainnet: true
nodeSelector: {}
tolerations: []
bnb_shkeeper: {}
bnb:
enabled: false
bnb_usdt:
enabled: false
bnb_usdc:
enabled: false
xrp_fullnode:
enabled: false
url: http://xrp:51234
mainnet: true
nodeSelector: {}
tolerations: []
xrp_shkeeper:
image: vsyshost/xrp-shkeeper:1.0.16
xrp:
enabled: false
polygon_fullnode:
enabled: false
url: http://polygon:51234
mainnet: true
nodeSelector: {}
tolerations: []
polygon_shkeeper: {}
matic:
enabled: false
polygon_usdt:
enabled: false
polygon_usdc:
enabled: false
avalanche_fullnode:
enabled: false
url: http://avalanche:9650/ext/bc/C/rpc
mainnet: true
nodeSelector: {}
tolerations: []
avalanche_shkeeper: {}
avax:
enabled: false
avalanche_usdt:
enabled: false
avalanche_usdc:
enabled: false
btc_lightning:
enabled: false
network: mainnet
lnd:
image: vsyshost/lndinit:v0.1.33-beta-lnd-v0.20.0-beta
rest_url: https://lightning-lnd-rest:8080
# p2p_port should be uniq for for each namespace
p2p_port: 9735
BITCOIND_RPCHOST: fullnode.bitcoin.shkeeper.io
BITCOIND_ZMQPUBRAWBLOCK: tcp://fullnode.bitcoin.shkeeper.io:28334
BITCOIND_ZMQPUBRAWTX: tcp://fullnode.bitcoin.shkeeper.io:28335
BITCOIND_RPCPASS: "shkeeper"
BITCOIND_RPCUSER: "shkeeper"
rtl:
image: shahanafarooqui/rtl:v0.15.6
# web_url and web_port should be uniq for for each namespace
web_url: http://rtl:3000
web_port: 3000
logout_redirect_link: http://shkeeper:5000/wallet/BTC-LIGHTNING
lnbits:
image: ghcr.io/vsys-host/lnbits:1.4.2
web_port: 9000
solana_fullnode:
enabled: false
url: http://here-should-be-url-to-your-solana-rpc-node/
mainnet: true
nodeSelector: {}
tolerations: []
solana_shkeeper:
image: vsyshost/solana-shkeeper:1.0.5
sol:
enabled: false
solana_usdt:
enabled: false
solana_usdc:
enabled: false
solana_pyusd:
enabled: false
arb_fullnode:
enabled: false
url: http://arbitrum:8547
mainnet: true
nodeSelector: {}
tolerations: []
arbitrum_shkeeper: {}
arbeth:
enabled: false
arb_token:
enabled: false
arb_usdc:
enabled: false
arb_pyusd:
enabled: false
optimism_fullnode:
enabled: false
url: http://optimism:8545
mainnet: true
nodeSelector: {}
tolerations: []
optimism_shkeeper: {}
opeth:
enabled: false
op_token:
enabled: false
op_usdc:
enabled: false
op_usdt:
enabled: false
ton_fullnode:
enabled: false
url: http://here-should-be-url-to-your-ton-rpc-node/
mainnet: true
nodeSelector: {}
tolerations: []
ton_shkeeper:
image: vsyshost/ton-shkeeper:0.0.4
ton:
enabled: false
ton_usdt:
enabled: false
aml_shkeeper:
image: vsyshost/aml-shkeeper:0.0.2
aml:
enabled: false
- name: certificate
k8s:
state: present
definition:
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: shkeeper-cert
namespace: shkeeper
spec:
commonName: shkeeper.eom.dev
secretName: shkeeper-cert
dnsNames:
- shkeeper.eom.dev
issuerRef:
name: ca-issuer
kind: ClusterIssuer
- name: ingress
k8s:
state: present
definition:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: ca-issuer
name: shkeeper
namespace: shkeeper
spec:
ingressClassName: nginx
entryPoints:
- web
- websecure
routes:
- match: Host(`shkeeper.eom.dev`)
kind: Rule
services:
- name: shkeeper
port: 5000
namespace: shkeeper
tls:
secretName: shkeeper-cert
+3
View File
@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
localhost
+6
View File
@@ -0,0 +1,6 @@
#SPDX-License-Identifier: MIT-0
---
- hosts: localhost
remote_user: root
roles:
- ansible-role-shkeeper
+3
View File
@@ -0,0 +1,3 @@
#SPDX-License-Identifier: MIT-0
---
# vars file for ansible-role-shkeeper