Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 184 additions & 0 deletions templates/mysql-configmap-mysql-init-script.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-init-script
namespace: {{ .Release.Namespace }}
data:
init.sql: |
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

CREATE DATABASE /*!32312 IF NOT EXISTS*/`AnsibleForms` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `groups`;
CREATE TABLE `groups`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_AnsibleForms_groups_natural_key` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`group_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_AnsibleForms_users_natural_key` (`username`),
KEY `FK_users_group` (`group_id`),
CONSTRAINT `FK_users_group` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `tokens`;
CREATE TABLE `tokens` (
`username` varchar(250) NOT NULL,
`username_type` varchar(10) NOT NULL,
`refresh_token` text DEFAULT NULL,
`timestamp` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `credentials`;
CREATE TABLE `credentials` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(250) NOT NULL,
`user` varchar(250) NOT NULL,
`password` text NOT NULL,
`host` varchar(250) DEFAULT NULL,
`port` int(11) DEFAULT NULL,
`description` text NOT NULL,
`secure` tinyint(4) DEFAULT NULL,
`db_type` varchar(10) DEFAULT NULL,
`db_name` varchar(255) DEFAULT NULL,
`is_database` tinyint(4) DEFAULT 1,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_AnsibleForms_credentials_natural_key` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `ldap`;
CREATE TABLE `ldap` (
`server` varchar(250) DEFAULT NULL,
`port` int(11) DEFAULT NULL,
`ignore_certs` tinyint(4) DEFAULT NULL,
`enable_tls` tinyint(4) DEFAULT NULL,
`cert` text DEFAULT NULL,
`ca_bundle` text DEFAULT NULL,
`bind_user_dn` varchar(250) DEFAULT NULL,
`bind_user_pw` text DEFAULT NULL,
`search_base` varchar(250) DEFAULT NULL,
`username_attribute` varchar(250) DEFAULT NULL,
`groups_attribute` varchar(250) DEFAULT NULL,
`enable` tinyint(4) DEFAULT NULL,
`is_advanced` tinyint(4) DEFAULT NULL,
`groups_search_base` varchar(250) DEFAULT NULL,
`group_class` varchar(250) DEFAULT NULL,
`group_member_attribute` varchar(250) DEFAULT NULL,
`group_member_user_attribute` varchar(250) DEFAULT NULL,
`mail_attribute` varchar(250) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `awx`;
CREATE TABLE `awx` (
`uri` varchar(250) NOT NULL,
`username` varchar(250) NOT NULL,
`token` text NOT NULL,
`password` text NOT NULL,
`ignore_certs` tinyint(4) DEFAULT NULL,
`use_credentials` tinyint(4) DEFAULT NULL,
`ca_bundle` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `job_output`;
DROP TABLE IF EXISTS `jobs`;
CREATE TABLE `jobs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`form` varchar(250) DEFAULT NULL,
`target` varchar(250) DEFAULT NULL,
`status` varchar(20) DEFAULT NULL,
`start` datetime NOT NULL DEFAULT current_timestamp(),
`end` datetime DEFAULT NULL,
`user` varchar(250) DEFAULT NULL,
`user_type` varchar(10) DEFAULT NULL,
`job_type` varchar(20) DEFAULT NULL,
`extravars` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`credentials` mediumtext DEFAULT NULL,
`notifications` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`approval` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`step` varchar(250) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
`awx_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8;
CREATE TABLE `job_output` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`output` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`timestamp` datetime NOT NULL DEFAULT current_timestamp(),
`output_type` varchar(10) NOT NULL,
`job_id` int(11) NOT NULL,
`order` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_job_output_jobs` (`job_id`),
CONSTRAINT `FK_job_output_jobs` FOREIGN KEY (`job_id`) REFERENCES `jobs` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1650 DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `settings`;
CREATE TABLE `settings` (
`mail_server` varchar(250) DEFAULT NULL,
`mail_port` int(11) DEFAULT NULL,
`mail_secure` tinyint(4) DEFAULT NULL,
`mail_username` varchar(250) DEFAULT NULL,
`mail_password` text DEFAULT NULL,
`mail_from` varchar(250) DEFAULT NULL,
`url` varchar(250) DEFAULT NULL,
`forms_yaml` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `azuread`;
CREATE TABLE `azuread` (
`client_id` text DEFAULT NULL,
`secret_id` text DEFAULT NULL,
`enable` tinyint(4) DEFAULT NULL,
`groupfilter` varchar(250) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `repositories`;
CREATE TABLE `repositories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(250) NOT NULL,
`branch` varchar(250) DEFAULT NULL,
`user` varchar(250) DEFAULT NULL,
`password` text DEFAULT NULL,
`uri` varchar(250) DEFAULT NULL,
`description` text NOT NULL,
`use_for_forms` tinyint(4) DEFAULT NULL,
`use_for_playbooks` tinyint(4) DEFAULT NULL,
`cron` varchar(50) DEFAULT NULL,
`status` varchar(50) DEFAULT NULL,
`output` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`head` varchar(50) DEFAULT NULL,
`rebase_on_start` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_AnsibleForms_repositories_natural_key` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

USE `AnsibleForms`;
DROP TABLE IF EXISTS `oidc`;
CREATE TABLE `oidc` (
`issuer` text DEFAULT NULL,
`client_id` text DEFAULT NULL,
`secret_id` text DEFAULT NULL,
`enabled` tinyint(4) DEFAULT NULL,
`groupfilter` varchar(250) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

5 changes: 5 additions & 0 deletions templates/mysql-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ spec:
- name: mysql-my-cnf
mountPath: /etc/mysql/my.cnf
subPath: my.cnf
- name: init-script # init script
mountPath: /docker-entrypoint-initdb.d
restartPolicy: Always
volumes:
- name: mysql-persistent-storage
Expand All @@ -58,3 +60,6 @@ spec:
items:
- key: my.cnf
path: my.cnf
- name: init-script
configMap:
name: mysql-init-script
9 changes: 8 additions & 1 deletion templates/mysql-pv-claim.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,17 @@ kind: PersistentVolumeClaim
metadata:
namespace: {{ .Release.Namespace }}
name: {{ .Release.Name }}-mysql-pvc
labels:
app.kubernetes.io/name: mysql
app.kubernetes.io/instance: mysql
app.kubernetes.io/component: mysql
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: {{ .Values.storage.mysql.size }}
storageClassName: {{ .Values.storage.mysql.className }}
storageClassName: ''
volumeName: {{ .Release.Name }}-mysql-pv

3 changes: 2 additions & 1 deletion templates/server-pv-claim.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ spec:
resources:
requests:
storage: {{ .Values.storage.server.size }}
storageClassName: {{ .Values.storage.server.className }}
storageClassName: ''
volumeName: {{ .Release.Name }}-server-pv
6 changes: 3 additions & 3 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
application:
server:
env:
ENCRYPTION_SECRET: # recommended
ADMIN_USERNAME: # default admin
ADMIN_PASSWORD: # default AnsibleForms!123
ENCRYPTION_SECRET: AnsibleForms!123 # recommended
ADMIN_USERNAME: admin # default admin
ADMIN_PASSWORD: AnsibleForms!123 # default AnsibleForms!123
mysql:
user: root # required
password: AnsibleForms!123 # required
Expand Down