Configure/deploy RSKj #326
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -1,4 +1,6 @@
 | 
				
			|||||||
/.chef/encrypted_data_bag_secret
 | 
					/.chef/encrypted_data_bag_secret
 | 
				
			||||||
 | 
					.chef/chef_guid
 | 
				
			||||||
/.bundle/
 | 
					/.bundle/
 | 
				
			||||||
/.vagrant/
 | 
					/.vagrant/
 | 
				
			||||||
 | 
					/.kitchen
 | 
				
			||||||
/nodes/vagrant-node.json
 | 
					/nodes/vagrant-node.json
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								clients/rsk-testnet-1.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								clients/rsk-testnet-1.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "rsk-testnet-1",
 | 
				
			||||||
 | 
					  "public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0JU46rCyLGOi5OdeeE2M\nobUUxO+Jqd9t9bP75Pyj0uH8WaxNv1PIdWZJiR+fcE+draBV86/YLxHzOFvsnMi+\nE/qgeXLKErGtTSb12mWq0gYv/wz9uqRbtcsv40gpu2BtNv9ycdXYACB/s0ipnuUO\nX/os4YHDvWV1cshwzgsQ87ad7OdT/Nldggtp4go60TkBi49VaftiJzYqVm1ey3xz\nd7+EsQWqhQHAac6POEuPjwNuM2valf/8+nI4Uday/CiFrDDV1SffRG30sd4rJF15\nh1S1Kxyetr72EmQwIGbJuDJL7eUU7blXjg6UtTxDDsl6rYUO5s/j7wZLoFhmC854\npQIDAQAB\n-----END PUBLIC KEY-----\n"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										53
									
								
								nodes/rsk-testnet-1.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								nodes/rsk-testnet-1.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "rsk-testnet-1",
 | 
				
			||||||
 | 
					  "normal": {
 | 
				
			||||||
 | 
					    "knife_zero": {
 | 
				
			||||||
 | 
					      "host": "10.1.1.136"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "automatic": {
 | 
				
			||||||
 | 
					    "fqdn": "rsk-testnet-1",
 | 
				
			||||||
 | 
					    "os": "linux",
 | 
				
			||||||
 | 
					    "os_version": "5.4.0-1026-kvm",
 | 
				
			||||||
 | 
					    "hostname": "rsk-testnet-1",
 | 
				
			||||||
 | 
					    "ipaddress": "192.168.122.196",
 | 
				
			||||||
 | 
					    "roles": [
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "recipes": [
 | 
				
			||||||
 | 
					      "kosmos-base",
 | 
				
			||||||
 | 
					      "kosmos-base::default",
 | 
				
			||||||
 | 
					      "apt::default",
 | 
				
			||||||
 | 
					      "timezone_iii::default",
 | 
				
			||||||
 | 
					      "timezone_iii::debian",
 | 
				
			||||||
 | 
					      "ntp::default",
 | 
				
			||||||
 | 
					      "ntp::apparmor",
 | 
				
			||||||
 | 
					      "kosmos-base::systemd_emails",
 | 
				
			||||||
 | 
					      "apt::unattended-upgrades",
 | 
				
			||||||
 | 
					      "kosmos-base::firewall",
 | 
				
			||||||
 | 
					      "kosmos-postfix::default",
 | 
				
			||||||
 | 
					      "postfix::default",
 | 
				
			||||||
 | 
					      "postfix::_common",
 | 
				
			||||||
 | 
					      "postfix::_attributes",
 | 
				
			||||||
 | 
					      "postfix::sasl_auth",
 | 
				
			||||||
 | 
					      "hostname::default"
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "platform": "ubuntu",
 | 
				
			||||||
 | 
					    "platform_version": "20.04",
 | 
				
			||||||
 | 
					    "cloud": null,
 | 
				
			||||||
 | 
					    "chef_packages": {
 | 
				
			||||||
 | 
					      "ohai": {
 | 
				
			||||||
 | 
					        "version": "16.13.0",
 | 
				
			||||||
 | 
					        "ohai_root": "/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/ohai-16.13.0/lib/ohai"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "chef": {
 | 
				
			||||||
 | 
					        "version": "16.13.16",
 | 
				
			||||||
 | 
					        "chef_root": "/opt/chef/embedded/lib/ruby/gems/2.7.0/gems/chef-16.13.16/lib",
 | 
				
			||||||
 | 
					        "chef_effortless": null
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "run_list": [
 | 
				
			||||||
 | 
					    "recipe[kosmos-base]"
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										32
									
								
								site-cookbooks/kosmos_rsk/.delivery/project.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								site-cookbooks/kosmos_rsk/.delivery/project.toml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					# Delivery for Local Phases Execution
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This file allows you to execute test phases locally on a workstation or
 | 
				
			||||||
 | 
					# in a CI pipeline. The delivery-cli will read this file and execute the
 | 
				
			||||||
 | 
					# command(s) that are configured for each phase. You can customize them
 | 
				
			||||||
 | 
					# by just modifying the phase key on this file.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# By default these phases are configured for Cookbook Workflow only
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[local_phases]
 | 
				
			||||||
 | 
					unit = "echo skipping unit phase."
 | 
				
			||||||
 | 
					lint = "chef exec cookstyle"
 | 
				
			||||||
 | 
					# foodcritic has been deprecated in favor of cookstyle so we skip the syntax
 | 
				
			||||||
 | 
					# phase now.
 | 
				
			||||||
 | 
					syntax = "echo skipping syntax phase. Use lint phase instead."
 | 
				
			||||||
 | 
					provision = "chef exec kitchen create"
 | 
				
			||||||
 | 
					deploy = "chef exec kitchen converge"
 | 
				
			||||||
 | 
					smoke = "chef exec kitchen verify"
 | 
				
			||||||
 | 
					# The functional phase is optional, you can define it by uncommenting
 | 
				
			||||||
 | 
					# the line below and running the command: `delivery local functional`
 | 
				
			||||||
 | 
					# functional = ""
 | 
				
			||||||
 | 
					cleanup = "chef exec kitchen destroy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Remote project.toml file
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Instead of the local phases above, you may specify a remote URI location for
 | 
				
			||||||
 | 
					# the `project.toml` file. This is useful for teams that wish to centrally
 | 
				
			||||||
 | 
					# manage the behavior of the `delivery local` command across many different
 | 
				
			||||||
 | 
					# projects.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# remote_file = "https://url/project.toml"
 | 
				
			||||||
							
								
								
									
										25
									
								
								site-cookbooks/kosmos_rsk/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								site-cookbooks/kosmos_rsk/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					.vagrant
 | 
				
			||||||
 | 
					*~
 | 
				
			||||||
 | 
					*#
 | 
				
			||||||
 | 
					.#*
 | 
				
			||||||
 | 
					\#*#
 | 
				
			||||||
 | 
					.*.sw[a-z]
 | 
				
			||||||
 | 
					*.un~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bundler
 | 
				
			||||||
 | 
					Gemfile.lock
 | 
				
			||||||
 | 
					gems.locked
 | 
				
			||||||
 | 
					bin/*
 | 
				
			||||||
 | 
					.bundle/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# test kitchen
 | 
				
			||||||
 | 
					.kitchen/
 | 
				
			||||||
 | 
					kitchen.local.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Chef Infra
 | 
				
			||||||
 | 
					Berksfile.lock
 | 
				
			||||||
 | 
					.zero-knife.rb
 | 
				
			||||||
 | 
					Policyfile.lock.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.idea/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										3
									
								
								site-cookbooks/kosmos_rsk/Berksfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								site-cookbooks/kosmos_rsk/Berksfile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					source 'https://supermarket.chef.io'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					metadata
 | 
				
			||||||
							
								
								
									
										7
									
								
								site-cookbooks/kosmos_rsk/CHANGELOG.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								site-cookbooks/kosmos_rsk/CHANGELOG.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					# kosmos_rsk CHANGELOG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This file is used to list changes made in each version of the kosmos_rsk cookbook.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 0.1.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Initial release.
 | 
				
			||||||
							
								
								
									
										3
									
								
								site-cookbooks/kosmos_rsk/LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								site-cookbooks/kosmos_rsk/LICENSE
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					Copyright 2021 The Authors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All rights reserved, do not redistribute.
 | 
				
			||||||
							
								
								
									
										3
									
								
								site-cookbooks/kosmos_rsk/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								site-cookbooks/kosmos_rsk/README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					# kosmos_rsk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Configures/deploys RSK-related software.
 | 
				
			||||||
							
								
								
									
										2
									
								
								site-cookbooks/kosmos_rsk/attributes/default.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								site-cookbooks/kosmos_rsk/attributes/default.rb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					node.default['rskj']['version'] = '2.2.0~focal'
 | 
				
			||||||
 | 
					node.default['rskj']['network'] = 'testnet'
 | 
				
			||||||
							
								
								
									
										115
									
								
								site-cookbooks/kosmos_rsk/chefignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								site-cookbooks/kosmos_rsk/chefignore
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,115 @@
 | 
				
			|||||||
 | 
					# Put files/directories that should be ignored in this file when uploading
 | 
				
			||||||
 | 
					# to a Chef Infra Server or Supermarket.
 | 
				
			||||||
 | 
					# Lines that start with '# ' are comments.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OS generated files #
 | 
				
			||||||
 | 
					######################
 | 
				
			||||||
 | 
					.DS_Store
 | 
				
			||||||
 | 
					ehthumbs.db
 | 
				
			||||||
 | 
					Icon?
 | 
				
			||||||
 | 
					nohup.out
 | 
				
			||||||
 | 
					Thumbs.db
 | 
				
			||||||
 | 
					.envrc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# EDITORS #
 | 
				
			||||||
 | 
					###########
 | 
				
			||||||
 | 
					.#*
 | 
				
			||||||
 | 
					.project
 | 
				
			||||||
 | 
					.settings
 | 
				
			||||||
 | 
					*_flymake
 | 
				
			||||||
 | 
					*_flymake.*
 | 
				
			||||||
 | 
					*.bak
 | 
				
			||||||
 | 
					*.sw[a-z]
 | 
				
			||||||
 | 
					*.tmproj
 | 
				
			||||||
 | 
					*~
 | 
				
			||||||
 | 
					\#*
 | 
				
			||||||
 | 
					REVISION
 | 
				
			||||||
 | 
					TAGS*
 | 
				
			||||||
 | 
					tmtags
 | 
				
			||||||
 | 
					.vscode
 | 
				
			||||||
 | 
					.editorconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## COMPILED ##
 | 
				
			||||||
 | 
					##############
 | 
				
			||||||
 | 
					*.class
 | 
				
			||||||
 | 
					*.com
 | 
				
			||||||
 | 
					*.dll
 | 
				
			||||||
 | 
					*.exe
 | 
				
			||||||
 | 
					*.o
 | 
				
			||||||
 | 
					*.pyc
 | 
				
			||||||
 | 
					*.so
 | 
				
			||||||
 | 
					*/rdoc/
 | 
				
			||||||
 | 
					a.out
 | 
				
			||||||
 | 
					mkmf.log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Testing #
 | 
				
			||||||
 | 
					###########
 | 
				
			||||||
 | 
					.circleci/*
 | 
				
			||||||
 | 
					.codeclimate.yml
 | 
				
			||||||
 | 
					.delivery/*
 | 
				
			||||||
 | 
					.foodcritic
 | 
				
			||||||
 | 
					.kitchen*
 | 
				
			||||||
 | 
					.mdlrc
 | 
				
			||||||
 | 
					.overcommit.yml
 | 
				
			||||||
 | 
					.rspec
 | 
				
			||||||
 | 
					.rubocop.yml
 | 
				
			||||||
 | 
					.travis.yml
 | 
				
			||||||
 | 
					.watchr
 | 
				
			||||||
 | 
					.yamllint
 | 
				
			||||||
 | 
					azure-pipelines.yml
 | 
				
			||||||
 | 
					Dangerfile
 | 
				
			||||||
 | 
					examples/*
 | 
				
			||||||
 | 
					features/*
 | 
				
			||||||
 | 
					Guardfile
 | 
				
			||||||
 | 
					kitchen.yml*
 | 
				
			||||||
 | 
					mlc_config.json
 | 
				
			||||||
 | 
					Procfile
 | 
				
			||||||
 | 
					Rakefile
 | 
				
			||||||
 | 
					spec/*
 | 
				
			||||||
 | 
					test/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# SCM #
 | 
				
			||||||
 | 
					#######
 | 
				
			||||||
 | 
					.git
 | 
				
			||||||
 | 
					.gitattributes
 | 
				
			||||||
 | 
					.gitconfig
 | 
				
			||||||
 | 
					.github/*
 | 
				
			||||||
 | 
					.gitignore
 | 
				
			||||||
 | 
					.gitkeep
 | 
				
			||||||
 | 
					.gitmodules
 | 
				
			||||||
 | 
					.svn
 | 
				
			||||||
 | 
					*/.bzr/*
 | 
				
			||||||
 | 
					*/.git
 | 
				
			||||||
 | 
					*/.hg/*
 | 
				
			||||||
 | 
					*/.svn/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Berkshelf #
 | 
				
			||||||
 | 
					#############
 | 
				
			||||||
 | 
					Berksfile
 | 
				
			||||||
 | 
					Berksfile.lock
 | 
				
			||||||
 | 
					cookbooks/*
 | 
				
			||||||
 | 
					tmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bundler #
 | 
				
			||||||
 | 
					###########
 | 
				
			||||||
 | 
					vendor/*
 | 
				
			||||||
 | 
					Gemfile
 | 
				
			||||||
 | 
					Gemfile.lock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Policyfile #
 | 
				
			||||||
 | 
					##############
 | 
				
			||||||
 | 
					Policyfile.rb
 | 
				
			||||||
 | 
					Policyfile.lock.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Documentation #
 | 
				
			||||||
 | 
					#############
 | 
				
			||||||
 | 
					CODE_OF_CONDUCT*
 | 
				
			||||||
 | 
					CONTRIBUTING*
 | 
				
			||||||
 | 
					documentation/*
 | 
				
			||||||
 | 
					TESTING*
 | 
				
			||||||
 | 
					UPGRADING*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Vagrant #
 | 
				
			||||||
 | 
					###########
 | 
				
			||||||
 | 
					.vagrant
 | 
				
			||||||
 | 
					Vagrantfile
 | 
				
			||||||
							
								
								
									
										52
									
								
								site-cookbooks/kosmos_rsk/kitchen.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								site-cookbooks/kosmos_rsk/kitchen.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					driver:
 | 
				
			||||||
 | 
					  name: dokken
 | 
				
			||||||
 | 
					  pull_platform_image: false
 | 
				
			||||||
 | 
					  pull_chef_image: false
 | 
				
			||||||
 | 
					  memory_limit: 2147483648 # 2GB
 | 
				
			||||||
 | 
					  volumes:
 | 
				
			||||||
 | 
					    # saves the apt archieves outside of the container
 | 
				
			||||||
 | 
					    - /var/cache/apt/archives/:/var/cache/apt/archives/
 | 
				
			||||||
 | 
					  ## The forwarded_port port feature lets you connect to ports on the VM guest via
 | 
				
			||||||
 | 
					  ## localhost on the host.
 | 
				
			||||||
 | 
					  ## see also: https://www.vagrantup.com/docs/networking/forwarded_ports
 | 
				
			||||||
 | 
					  # network:
 | 
				
			||||||
 | 
					  #  - ["forwarded_port", { guest: 4444, host: 4444 }]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					transport:
 | 
				
			||||||
 | 
					  name: dokken
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					provisioner:
 | 
				
			||||||
 | 
					  name: dokken
 | 
				
			||||||
 | 
					  clean_dokken_sandbox: false
 | 
				
			||||||
 | 
					  # You may wish to disable always updating cookbooks in CI or other testing environments.
 | 
				
			||||||
 | 
					  # For example:
 | 
				
			||||||
 | 
					  #   always_update_cookbooks: <%= !ENV['CI'] %>
 | 
				
			||||||
 | 
					  # always_update_cookbooks: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ## product_name and product_version specifies a specific Chef product and version to install.
 | 
				
			||||||
 | 
					  ## see the Chef documentation for more details: https://docs.chef.io/workstation/config_yml_kitchen/
 | 
				
			||||||
 | 
					  #  product_name: chef
 | 
				
			||||||
 | 
					  #  product_version: 16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					verifier:
 | 
				
			||||||
 | 
					  name: inspec
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					platforms:
 | 
				
			||||||
 | 
					  - name: ubuntu-20.04
 | 
				
			||||||
 | 
					    driver:
 | 
				
			||||||
 | 
					      image: dokken/ubuntu-20.04
 | 
				
			||||||
 | 
					      privileged: true
 | 
				
			||||||
 | 
					      pid_one_command: /usr/lib/systemd/systemd
 | 
				
			||||||
 | 
					      intermediate_instructions:
 | 
				
			||||||
 | 
					        # prevent APT from deleting the APT folder
 | 
				
			||||||
 | 
					        - RUN rm /etc/apt/apt.conf.d/docker-clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					suites:
 | 
				
			||||||
 | 
					  - name: rskj
 | 
				
			||||||
 | 
					    run_list:
 | 
				
			||||||
 | 
					      - recipe[kosmos_rsk::rskj]
 | 
				
			||||||
 | 
					    verifier:
 | 
				
			||||||
 | 
					      inspec_tests:
 | 
				
			||||||
 | 
					        - test/integration/rskj
 | 
				
			||||||
 | 
					    attributes:
 | 
				
			||||||
							
								
								
									
										11
									
								
								site-cookbooks/kosmos_rsk/metadata.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								site-cookbooks/kosmos_rsk/metadata.rb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					name 'kosmos_rsk'
 | 
				
			||||||
 | 
					maintainer 'Kosmos Developers'
 | 
				
			||||||
 | 
					maintainer_email 'ops@kosmos.org'
 | 
				
			||||||
 | 
					license 'MIT'
 | 
				
			||||||
 | 
					description 'Installs/configures RSK and related software'
 | 
				
			||||||
 | 
					version '0.1.0'
 | 
				
			||||||
 | 
					chef_version '>= 15.0'
 | 
				
			||||||
 | 
					issues_url 'https://gitea.kosmos.org/kosmos/chef/issues'
 | 
				
			||||||
 | 
					source_url 'https://gitea.kosmos.org/kosmos/chef'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					depends 'firewall'
 | 
				
			||||||
							
								
								
									
										39
									
								
								site-cookbooks/kosmos_rsk/recipes/rskj.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								site-cookbooks/kosmos_rsk/recipes/rskj.rb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Cookbook:: kosmos_rsk
 | 
				
			||||||
 | 
					# Recipe:: rskj
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					group 'rsk' do
 | 
				
			||||||
 | 
					  gid 888
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					user 'rsk' do
 | 
				
			||||||
 | 
					  uid 888
 | 
				
			||||||
 | 
					  gid 888
 | 
				
			||||||
 | 
					  home '/var/lib/rsk'
 | 
				
			||||||
 | 
					  shell '/sbin/nologin'
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					apt_repository 'rskj' do
 | 
				
			||||||
 | 
					  uri 'ppa:rsksmart/rskj'
 | 
				
			||||||
 | 
					  key '5EED9995C84A49BC02D4F507DF10691F518C7BEA'
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					apt_package 'rskj' do
 | 
				
			||||||
 | 
					  response_file 'rskj-preseed.cfg.erb'
 | 
				
			||||||
 | 
					  response_file_variables network: node['rskj']['network']
 | 
				
			||||||
 | 
					  options '--assume-yes'
 | 
				
			||||||
 | 
					  version node['rskj']['version']
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					service "rsk" do
 | 
				
			||||||
 | 
					  action [:enable, :start]
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include_recipe 'firewall'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					firewall_rule 'rskj' do
 | 
				
			||||||
 | 
					  port     [4444,50505]
 | 
				
			||||||
 | 
					  protocol :tcp
 | 
				
			||||||
 | 
					  command  :allow
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
							
								
								
									
										6
									
								
								site-cookbooks/kosmos_rsk/templates/rskj-preseed.cfg.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								site-cookbooks/kosmos_rsk/templates/rskj-preseed.cfg.erb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					#_preseed_V1
 | 
				
			||||||
 | 
					# Do you agree to the terms of the applicable licenses?
 | 
				
			||||||
 | 
					rskj shared/accepted-rsk-license-v1-1 boolean true
 | 
				
			||||||
 | 
					# Choose a configuration environment to run your node.
 | 
				
			||||||
 | 
					# Choices: mainnet, testnet, regtest
 | 
				
			||||||
 | 
					rskj shared/config select <%= @network %>
 | 
				
			||||||
							
								
								
									
										23
									
								
								site-cookbooks/kosmos_rsk/test/integration/rskj/rskj_test.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								site-cookbooks/kosmos_rsk/test/integration/rskj/rskj_test.rb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					# InSpec test for recipe kosmos_rsk::rskj
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The Chef InSpec reference, with examples and extensive documentation, can be
 | 
				
			||||||
 | 
					# found at https://docs.chef.io/inspec/resources/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe user('rsk') do
 | 
				
			||||||
 | 
					  it { should exist }
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe package('rskj') do
 | 
				
			||||||
 | 
					  it { should be_installed }
 | 
				
			||||||
 | 
					  its('version') { should eq '2.2.0~focal' }
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe service('rsk') do
 | 
				
			||||||
 | 
					  it { should be_enabled }
 | 
				
			||||||
 | 
					  it { should be_installed }
 | 
				
			||||||
 | 
					  it { should be_running }
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe port(4444) do
 | 
				
			||||||
 | 
					  it { should be_listening }
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user