Add Vagrant and salt automation for gvamysql
This commit is contained in:
		
							parent
							
								
									b90230997c
								
							
						
					
					
						commit
						f08deff9b5
					
				
					 7 changed files with 205 additions and 0 deletions
				
			
		|  | @ -17,6 +17,7 @@ gnuviechadmin-packages: | |||
|     - pkgs: | ||||
|       - libyaml-dev | ||||
|       - python-virtualenv | ||||
|       - virtualenv | ||||
|       - python-dev | ||||
|       - python-pip | ||||
|       - gettext | ||||
|  |  | |||
							
								
								
									
										28
									
								
								states/gnuviechadmin/gvamysql.sls
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								states/gnuviechadmin/gvamysql.sls
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,28 @@ | |||
| include: | ||||
|   - gnuviechadmin.base | ||||
|   - gnuviechadmin.celery | ||||
| 
 | ||||
| gvamysql-mysql-user: | ||||
|   mysql_user.present: | ||||
|     - name: {{ salt['pillar.get']('gnuviechadmin:mysql_admin_user', 'gvamysql') }} | ||||
|     - host: '%' | ||||
|     - password: {{ salt['grains.get_or_set_hash']('gnuviechadmin.db_admin_password', 16) }} | ||||
| 
 | ||||
| gvamysql-grants-all-dbs: | ||||
|   mysql_grants.present: | ||||
|     - grant: ALL PRIVILEGES | ||||
|     - database: '*.*' | ||||
|     - grant_option: True | ||||
|     - user: {{ salt['pillar.get']('gnuviechadmin:mysql_admin_user', 'gvamysql') }} | ||||
|     - password: {{ salt['grains.get_or_set_hash']('gnuviechadmin.db_admin_password', 16) }} | ||||
|     - host: '%' | ||||
|     - require: | ||||
|       - mysql_user: gvamysql-mysql-user | ||||
| 
 | ||||
| gvamysql-packages: | ||||
|   pkg.installed: | ||||
|     - pkgs: | ||||
|       - libmariadbd-dev | ||||
|       - libmysqlclient-dev | ||||
|     - require_in: | ||||
|       - pkg: gnuviechadmin-packages | ||||
							
								
								
									
										12
									
								
								states/gnuviechadmin/gvamysql/run_celery.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								states/gnuviechadmin/gvamysql/run_celery.sh
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| set -ex | ||||
| 
 | ||||
| . {{ home }}/gvasettings.sh | ||||
| 
 | ||||
| unset LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \ | ||||
|     LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \ | ||||
|     LC_IDENTIFICATION LC_ALL | ||||
| 
 | ||||
| cd {{ appdir }} | ||||
| {{ virtualenv }}/bin/celery worker -A gvamysql -Q mysql --loglevel=INFO | ||||
							
								
								
									
										8
									
								
								states/gnuviechadmin/gvamysql/settings.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								states/gnuviechadmin/gvamysql/settings.sh
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| export GVAMYSQL_BROKER_URL='{{ broker_url }}' | ||||
| export GVAMYSQL_RESULTS_REDIS_URL="redis://:{{ salt['pillar.get']('gnuviechadmin:redis_password') }}@{{ salt['pillar.get']('gnuviechadmin:redis_host') }}/0" | ||||
| export GVAMYSQL_DBADMIN_HOST="{{ salt['pillar.get']('gnuviechadmin:mysql_admin_host', 'localhost') }}" | ||||
| export GVAMYSQL_DBADMIN_PORT="{{ salt['pillar.get']('gnuviechadmin:mysql_admin_port', 3306) }}" | ||||
| export GVAMYSQL_DBADMIN_USER="{{ salt['pillar.get']('gnuviechadmin:mysql_admin_user', 'gvamysql') }}" | ||||
| export GVAMYSQL_DBADMIN_PASSWORD="{{ salt['grains.get_or_set_hash']('gnuviechadmin.db_admin_password', 16) }}" | ||||
							
								
								
									
										17
									
								
								states/mariadb-server/init.sls
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								states/mariadb-server/init.sls
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | |||
| mariadb-server: | ||||
|   pkg.installed | ||||
| 
 | ||||
| mysql: | ||||
|   service.running: | ||||
|     - enable: true | ||||
|     - require: | ||||
|       - pkg: mariadb-server | ||||
| 
 | ||||
| /etc/mysql/my.cnf: | ||||
|   file.managed: | ||||
|     - owner: root | ||||
|     - group: root | ||||
|     - mode: 0644 | ||||
|     - source: salt://mariadb-server/my.cnf | ||||
|     - watch_in: | ||||
|       - service: mysql | ||||
							
								
								
									
										129
									
								
								states/mariadb-server/my.cnf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								states/mariadb-server/my.cnf
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,129 @@ | |||
| # | ||||
| # The MySQL database server configuration file. | ||||
| # | ||||
| # You can copy this to one of: | ||||
| # - "/etc/mysql/my.cnf" to set global options, | ||||
| # - "~/.my.cnf" to set user-specific options. | ||||
| #  | ||||
| # One can use all long options that the program supports. | ||||
| # Run program with --help to get a list of available options and with | ||||
| # --print-defaults to see which it would actually understand and use. | ||||
| # | ||||
| # For explanations see | ||||
| # http://dev.mysql.com/doc/mysql/en/server-system-variables.html | ||||
| 
 | ||||
| # This will be passed to all mysql clients | ||||
| # It has been reported that passwords should be enclosed with ticks/quotes | ||||
| # escpecially if they contain "#" chars... | ||||
| # Remember to edit /etc/mysql/debian.cnf when changing the socket location. | ||||
| [client] | ||||
| port		= 3306 | ||||
| socket		= /var/run/mysqld/mysqld.sock | ||||
| 
 | ||||
| # Here is entries for some specific programs | ||||
| # The following values assume you have at least 32M ram | ||||
| 
 | ||||
| # This was formally known as [safe_mysqld]. Both versions are currently parsed. | ||||
| [mysqld_safe] | ||||
| socket		= /var/run/mysqld/mysqld.sock | ||||
| nice		= 0 | ||||
| 
 | ||||
| [mysqld] | ||||
| # | ||||
| # * Basic Settings | ||||
| # | ||||
| user		= mysql | ||||
| pid-file	= /var/run/mysqld/mysqld.pid | ||||
| socket		= /var/run/mysqld/mysqld.sock | ||||
| port		= 3306 | ||||
| basedir		= /usr | ||||
| datadir		= /var/lib/mysql | ||||
| tmpdir		= /tmp | ||||
| lc-messages-dir	= /usr/share/mysql | ||||
| skip-external-locking | ||||
| # | ||||
| # Instead of skip-networking the default is now to listen only on | ||||
| # localhost which is more compatible and is not less secure. | ||||
| bind-address		= 0.0.0.0 | ||||
| # | ||||
| # * Fine Tuning | ||||
| # | ||||
| key_buffer		= 16M | ||||
| max_allowed_packet	= 16M | ||||
| thread_stack		= 192K | ||||
| thread_cache_size       = 8 | ||||
| # This replaces the startup script and checks MyISAM tables if needed | ||||
| # the first time they are touched | ||||
| myisam-recover         = BACKUP | ||||
| #max_connections        = 100 | ||||
| #table_cache            = 64 | ||||
| #thread_concurrency     = 10 | ||||
| # | ||||
| # * Query Cache Configuration | ||||
| # | ||||
| query_cache_limit	= 1M | ||||
| query_cache_size        = 16M | ||||
| # | ||||
| # * Logging and Replication | ||||
| # | ||||
| # Both location gets rotated by the cronjob. | ||||
| # Be aware that this log type is a performance killer. | ||||
| # As of 5.1 you can enable the log at runtime! | ||||
| #general_log_file        = /var/log/mysql/mysql.log | ||||
| #general_log             = 1 | ||||
| # | ||||
| # Error log - should be very few entries. | ||||
| # | ||||
| #log_error = /var/log/mysql/error.log | ||||
| # | ||||
| # Here you can see queries with especially long duration | ||||
| log_output = FILE | ||||
| slow_query_log = 1 | ||||
| slow_query_log_file = /var/log/mysql/mysql-slow.log | ||||
| long_query_time = 2 | ||||
| #log_queries_not_using_indexes | ||||
| 
 | ||||
| # The following can be used as easy to replay backup logs or for replication. | ||||
| # note: if you are setting up a replication slave, see README.Debian about | ||||
| #       other settings you may need to change. | ||||
| #server-id		= 1 | ||||
| #log_bin			= /var/log/mysql/mysql-bin.log | ||||
| expire_logs_days	= 10 | ||||
| max_binlog_size         = 100M | ||||
| #binlog_do_db		= include_database_name | ||||
| #binlog_ignore_db	= include_database_name | ||||
| # | ||||
| # * InnoDB | ||||
| # | ||||
| # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. | ||||
| # Read the manual for more InnoDB related options. There are many! | ||||
| # | ||||
| # * Security Features | ||||
| # | ||||
| # Read the manual, too, if you want chroot! | ||||
| # chroot = /var/lib/mysql/ | ||||
| # | ||||
| # For generating SSL certificates I recommend the OpenSSL GUI "tinyca". | ||||
| # | ||||
| # ssl-ca=/etc/mysql/cacert.pem | ||||
| # ssl-cert=/etc/mysql/server-cert.pem | ||||
| # ssl-key=/etc/mysql/server-key.pem | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| [mysqldump] | ||||
| quick | ||||
| quote-names | ||||
| max_allowed_packet	= 16M | ||||
| 
 | ||||
| [mysql] | ||||
| #no-auto-rehash	# faster start of mysql but no tab completition | ||||
| 
 | ||||
| [isamchk] | ||||
| key_buffer		= 16M | ||||
| 
 | ||||
| # | ||||
| # * IMPORTANT: Additional settings that can override those from this file! | ||||
| #   The files must end with '.cnf', otherwise they'll be ignored. | ||||
| # | ||||
| !includedir /etc/mysql/conf.d/ | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue