From 798888c66b3529735658198b5146360449e54a48 Mon Sep 17 00:00:00 2001 From: Daniel Fancsali Date: Mon, 22 Feb 2021 10:12:36 +0000 Subject: [PATCH] New __mysql type and __mysql_* dependencies --- cdist/conf/type/__mysql/gencode-remote | 20 ++++++++ cdist/conf/type/__mysql/man.rst | 54 +++++++++++++++++++++ cdist/conf/type/__mysql/manifest | 26 ++++++++++ cdist/conf/type/__mysql/parameter/boolean | 1 + cdist/conf/type/__mysql_database/manifest | 4 ++ cdist/conf/type/__mysql_privileges/manifest | 23 +++++++++ cdist/conf/type/__mysql_user/manifest | 23 +++++++++ 7 files changed, 151 insertions(+) create mode 100755 cdist/conf/type/__mysql/gencode-remote create mode 100644 cdist/conf/type/__mysql/man.rst create mode 100755 cdist/conf/type/__mysql/manifest create mode 100644 cdist/conf/type/__mysql/parameter/boolean create mode 100755 cdist/conf/type/__mysql_privileges/manifest create mode 100755 cdist/conf/type/__mysql_user/manifest diff --git a/cdist/conf/type/__mysql/gencode-remote b/cdist/conf/type/__mysql/gencode-remote new file mode 100755 index 00000000..5464795f --- /dev/null +++ b/cdist/conf/type/__mysql/gencode-remote @@ -0,0 +1,20 @@ +#!/bin/sh -e +# +# 2021 Daniel Fancsali (fancsali@gmail.com) +# +# This file is part of cdist. +# +# cdist is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# cdist is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# + diff --git a/cdist/conf/type/__mysql/man.rst b/cdist/conf/type/__mysql/man.rst new file mode 100644 index 00000000..bb9db22e --- /dev/null +++ b/cdist/conf/type/__mysql/man.rst @@ -0,0 +1,54 @@ +cdist-type__mysql(7) +==================== + +NAME +---- +cdist-type__mysql - Install MySQL or MariaDB server. + + +DESCRIPTION +----------- +This type will install the MySQL server package(s) -- or the compatible MariaDB software. + +REQUIRED PARAMETERS +------------------- +None. + + +OPTIONAL PARAMETERS +------------------- +None. + + +BOOLEAN PARAMETERS +------------------ +mariadb + Install MariaDB to provide the equivalent functionality instead. + +EXAMPLES +-------- + +.. code-block:: sh + + # Install MariaDB and create a user and a database + __mysql --mariadb + __mysql_database testdb + __mysql_user testuser --password topsecret + + +SEE ALSO +-------- +:strong:`cdist-type__mysql_database`\ (7), :strong:`cdist-type__mysql_user`\ (7), :strong:`cdist-type__mysql_privileges`\ (7) + + +AUTHORS +------- +Daniel Fancsali + + +COPYING +------- +Copyright \(C) 2021 Daniel Fancsali. You can redistribute it +and/or modify it under the terms of the GNU General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. diff --git a/cdist/conf/type/__mysql/manifest b/cdist/conf/type/__mysql/manifest new file mode 100755 index 00000000..37c76053 --- /dev/null +++ b/cdist/conf/type/__mysql/manifest @@ -0,0 +1,26 @@ +#!/bin/sh -e +# +# 2021 Daniel Fancsali (fancsali@gmail.com) +# +# This file is part of cdist. +# +# cdist is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# cdist is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# + + +if [ -f "$__object/parameter/mariadb" ]; then + __package mariadb-server +else + __package mysql-server +fi diff --git a/cdist/conf/type/__mysql/parameter/boolean b/cdist/conf/type/__mysql/parameter/boolean new file mode 100644 index 00000000..0c31eacf --- /dev/null +++ b/cdist/conf/type/__mysql/parameter/boolean @@ -0,0 +1 @@ +mariadb diff --git a/cdist/conf/type/__mysql_database/manifest b/cdist/conf/type/__mysql_database/manifest index a3c9ed5d..a8982801 100755 --- a/cdist/conf/type/__mysql_database/manifest +++ b/cdist/conf/type/__mysql_database/manifest @@ -18,6 +18,10 @@ # along with cdist. If not, see . # + +# Whatever the details, we'll need MySQL/MariaDB +require="__mysql" __nop + if [ -f "$__object/parameter/user" ] then user="$( cat "$__object/parameter/user" )" diff --git a/cdist/conf/type/__mysql_privileges/manifest b/cdist/conf/type/__mysql_privileges/manifest new file mode 100755 index 00000000..fb4add45 --- /dev/null +++ b/cdist/conf/type/__mysql_privileges/manifest @@ -0,0 +1,23 @@ +#!/bin/sh -e +# +# 2021 Daniel Fancsali (fancsali@gmail.com) +# +# This file is part of cdist. +# +# cdist is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# cdist is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# + + +# We'll need MySQL/MariaDB +require="__mysql" __nop $__object_id diff --git a/cdist/conf/type/__mysql_user/manifest b/cdist/conf/type/__mysql_user/manifest new file mode 100755 index 00000000..09b3e2d8 --- /dev/null +++ b/cdist/conf/type/__mysql_user/manifest @@ -0,0 +1,23 @@ +#!/bin/sh -e +# +# 2021 Daniel Fancsali (fancsali@gmail.com) +# +# This file is part of cdist. +# +# cdist is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# cdist is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# + + +# We'll need MySQl/MariaDb to be installed +require="__mysql" __nop $__object_id