From 75b2df5c73291e689812cc59f3f513eee9077f73 Mon Sep 17 00:00:00 2001 From: Sebastian Kippe Date: Fri, 12 May 2017 00:03:45 +0200 Subject: [PATCH] Set up Hubot for Kredits --- data_bags/credentials/hal8000_freenode.json | 24 +++++++--- .../kosmos-hubot/attributes/default.rb | 4 ++ .../kosmos-hubot/files/default/wallet.json | 1 + .../kosmos-hubot/recipes/default.rb | 48 ++++++++++--------- 4 files changed, 49 insertions(+), 28 deletions(-) create mode 100644 site-cookbooks/kosmos-hubot/attributes/default.rb create mode 100644 site-cookbooks/kosmos-hubot/files/default/wallet.json diff --git a/data_bags/credentials/hal8000_freenode.json b/data_bags/credentials/hal8000_freenode.json index edc0b9d..0945753 100644 --- a/data_bags/credentials/hal8000_freenode.json +++ b/data_bags/credentials/hal8000_freenode.json @@ -1,20 +1,32 @@ { "id": "hal8000_freenode", "nickserv_password": { - "encrypted_data": "3ttriIAvS6ay6jvgJIaIp1fDDWc+kNedBEYMRGKL/vOViAsEKs7cHncsPYh0\nIk3Kyo/6iIp2bTbffJ7a+tv8UabecIZKiBMwOXm/yKIbjWo=\n", - "iv": "LVM4d6lk5OEOM5BoEZ3/nQ==\n", + "encrypted_data": "VaHF6vdJekpJFf/D1Ss9Kut4txn3x+pn5rCXqv8WCf8yxigEHGHW7lh0ufeL\nObi9g3H8Co6RdmlC0OBXZhC8bTh4R9kg9Dk8hB5qwdIMlfs=\n", + "iv": "IpQpztTEDi0tE+hin3LrPQ==\n", "version": 1, "cipher": "aes-256-cbc" }, "rs_logger_token": { - "encrypted_data": "JV3agXQC/aPdjkGOXswD8vopqXqpUKvy5i6eveqmB3n8//DcqhW42Tvy4Hxv\ncACSQ52/XRu3G0cCGkufR1IR1A==\n", - "iv": "su0/3+3sb/iHzHR00BvadQ==\n", + "encrypted_data": "/p/KOwVAh5SJ90RsCxSB5mhU5eWB2AsXdEJSTJvPiL/ZfGMVUhRKuXQRfH54\nLmDl4vdNlBZPcBXYvnKRFhOB0g==\n", + "iv": "evYwOynZfms/MyqdO0eDiw==\n", "version": 1, "cipher": "aes-256-cbc" }, "webhook_token": { - "encrypted_data": "lD/XfSO3dH9iWu1Wa+wjDg8uHrb4SZrBZbvtlw2qA7r/4j79R4KTNluDgsUG\nPfZZ\n", - "iv": "KhQjR/DH4gQaIfMnUMF3wA==\n", + "encrypted_data": "ijgaUo7WLIh1qiHARke0ZBrKNacI57Mzqp/TJSV1Td+XKArq7ZG9uw/xP0zE\nYIKv\n", + "iv": "LPdJ81jHrdgtMX72UGRCNA==\n", + "version": 1, + "cipher": "aes-256-cbc" + }, + "kredits_webhook_token": { + "encrypted_data": "7JASF00/9iZ+r+gDW3bAQQdzLgFQGz0pe1oTD2nI+anQqXAjD2ptzlvxRsDi\nSEM0\n", + "iv": "nkdJAj5DamG3psuAWR5r9w==\n", + "version": 1, + "cipher": "aes-256-cbc" + }, + "kredits_wallet_password": { + "encrypted_data": "e3aRrVHp64UHpa2ajw3GJIAb6BDHPEeXDeDE6srBCLb/Ruh3wq4IQr1Oejc7\n71by\n", + "iv": "ugYzQLlhsnIh0kso2+AnCA==\n", "version": 1, "cipher": "aes-256-cbc" } diff --git a/site-cookbooks/kosmos-hubot/attributes/default.rb b/site-cookbooks/kosmos-hubot/attributes/default.rb new file mode 100644 index 0000000..967712a --- /dev/null +++ b/site-cookbooks/kosmos-hubot/attributes/default.rb @@ -0,0 +1,4 @@ +node.default['hal8000']['kredits']['provider_url'] = 'https://parity.kosmos.org:8546' +node.default['hal8000']['kredits']['room'] = '#kosmos' +node.default['hal8000']['kredits']['wallet_path'] = 'wallet.json' +node.default['hal8000']['kredits']['contract_address'] = '0x206a58891a17ec3b594489c77d931920b33a2a81' diff --git a/site-cookbooks/kosmos-hubot/files/default/wallet.json b/site-cookbooks/kosmos-hubot/files/default/wallet.json new file mode 100644 index 0000000..5d338e9 --- /dev/null +++ b/site-cookbooks/kosmos-hubot/files/default/wallet.json @@ -0,0 +1 @@ +{"version":3,"id":"7096b0d1-9426-4130-8f38-c7dfa2a225a3","address":"c80d2513277fa04b10403e2d1d7daa86f931f4d1","crypto":{"ciphertext":"b3e50e533ebbe3ac05b52d8689e87df86a651138fe65f55a1fa9ec08f479a0d0","cipherparams":{"iv":"9b514daf0f202b111bee9ad131e433df"},"cipher":"aes-128-ctr","kdf":"scrypt","kdfparams":{"dklen":32,"salt":"10490a40bf9b1d8efc146bf2c974e4a7fb750a24a7e08a9fc599024e5a7aaabc","n":262144,"r":8,"p":1},"mac":"b3f584afe25b973a8f1eceb344201cec6de24dc14d99ea37576ce7f9f9e936ce"}} \ No newline at end of file diff --git a/site-cookbooks/kosmos-hubot/recipes/default.rb b/site-cookbooks/kosmos-hubot/recipes/default.rb index 594625b..8b001e0 100644 --- a/site-cookbooks/kosmos-hubot/recipes/default.rb +++ b/site-cookbooks/kosmos-hubot/recipes/default.rb @@ -60,6 +60,7 @@ application hal8000_path do "hubot-rss-reader", "hubot-incoming-webhook", "hubot-auth", + "hubot-kredits", ].to_json end @@ -82,33 +83,36 @@ application hal8000_path do group: "hubot", app_dir: hal8000_path, entry: "#{hal8000_path}/bin/hubot -a irc", - environment: { "HUBOT_IRC_SERVER" => "irc.freenode.net", - "HUBOT_IRC_ROOMS" => "#5apps,#kosmos,#kosmos-dev,#remotestorage,#hackerbeach,#unhosted,#sockethub", - "HUBOT_IRC_NICK" => "hal8000", - "HUBOT_IRC_NICKSERV_USERNAME" => "hal8000", - "HUBOT_IRC_NICKSERV_PASSWORD" => hal8000_freenode_data_bag_item['nickserv_password'], - "HUBOT_IRC_UNFLOOD" => "100", - "HUBOT_RSS_PRINTSUMMARY" => "false", - "HUBOT_RSS_IRCCOLORS" => "true", - # "HUBOT_LOG_LEVEL" => "error", - "EXPRESS_PORT" => "8080", - "HUBOT_RSS_HEADER" => "Update:", - "HUBOT_AUTH_ADMIN" => "bkero,derbumi,galfert,gregkare,jaaan,slvrbckt,raucao", - "OA_ASSET_FROM_ADDRESS" => "akRWZJMETdM2U5UGKadKhv1PAj2npoGja1m", - "OA_DEFAULT_QUANTITY" => "100", - "OA_ASSET_ID" => "AbDn6L2AUGnDreUuNkGFEqcxnsoUP4HCjm", - "OA_SERVER_URL" => "http://localhost:4562", - "OA_SERVER_USERNAME" => "kosmos", - "OA_SERVER_PASSWORD" => "asEjdak1yqw", - "OA_MAX_QUANTITY" => "5000", - "OA_BOT_KEYWORD" => "kredits", - "OA_PLUSPLUS_ROOMS" => "#kosmos", - "WEBHOOK_TOKEN" => hal8000_freenode_data_bag_item['webhook_token'] } + environment: { + # "HUBOT_LOG_LEVEL" => "error", + "HUBOT_IRC_SERVER" => "irc.freenode.net", + "HUBOT_IRC_ROOMS" => "#5apps,#kosmos,#kosmos-dev,#remotestorage,#hackerbeach,#unhosted,#sockethub", + "HUBOT_IRC_NICK" => "hal8000", + "HUBOT_IRC_NICKSERV_USERNAME" => "hal8000", + "HUBOT_IRC_NICKSERV_PASSWORD" => hal8000_freenode_data_bag_item['nickserv_password'], + "HUBOT_IRC_UNFLOOD" => "100", + "HUBOT_RSS_PRINTSUMMARY" => "false", + "HUBOT_RSS_IRCCOLORS" => "true", + "EXPRESS_PORT" => "8080", + "HUBOT_RSS_HEADER" => "Update:", + "HUBOT_AUTH_ADMIN" => "bkero,derbumi,galfert,gregkare,slvrbckt,raucao", + "WEBHOOK_TOKEN" => hal8000_freenode_data_bag_item['webhook_token'], + "KREDITS_WEBHOOK_TOKEN" => hal8000_freenode_data_bag_item['kredits_webhook_token'], + "KREDITS_PROVIDER_URL" => node['hal8000']['kredits']['provider_url'], + "KREDITS_ROOM" => node['hal8000']['kredits']['room'], + "KREDITS_WALLET_PATH" => node['hal8000']['kredits']['wallet_path'], + "KREDITS_WALLET_PASSWORD" => hal8000_freenode_data_bag_item['kredits_wallet_password'], + "KREDITS_CONTRACT_ADDRESS" => node['hal8000']['kredits']['contract_address'] + } ) notifies :run, "execute[systemctl daemon-reload]", :delayed notifies :restart, "service[hal8000_nodejs]", :delayed end + cookbook_file "#{name}/wallet.json" do + source "wallet.json" + end + service "hal8000_nodejs" do action [:enable, :start] end