From 1b42b9592f41af6063e80a586e4ebd9a459872e2 Mon Sep 17 00:00:00 2001
From: Vassiliy Yegorov
Date: Thu, 20 May 2021 14:20:41 +0700
Subject: [PATCH] add app, add nfs operator
---
.gitignore | 3 +
App/docker/.env.axample | 3 +
App/docker/db/Dockerfile | 2 +
App/docker/db/build.sh | 3 +
App/docker/db/users.sql | 72 +++++++++++++++
App/docker/docker-compose.yaml | 36 ++++++--
App/docker/php/Dockerfile | 7 +-
App/docker/php/myapp/config.php | 12 +++
App/docker/php/myapp/func.php | 47 ++++++++++
App/docker/php/myapp/index.php | 91 +++++++++++++++++--
App/docker/php/myapp/modal.php | 49 ++++++++++
App/kubernetes/deploy.yaml | 59 ++++++++++++
App/kubernetes/secrets.yaml | 10 ++
App/kubernetes/service.yaml | 13 +++
App/kubernetes/volume.yaml | 13 +++
Cluster/3-init-certmanager.sh | 1 +
Cluster/{1-cluster.yml => cluster.yml} | 14 +--
Cluster/nfs/nfs-install.sh | 10 ++
Cluster/nfs/nfs-provisioner/Chart.yaml | 13 +++
Cluster/nfs/nfs-provisioner/README.md | 79 ++++++++++++++++
.../nfs/nfs-provisioner/ci/test-values.yaml | 5 +
.../nfs-provisioner/templates/_helpers.tpl | 62 +++++++++++++
.../templates/clusterrole.yaml | 30 ++++++
.../templates/clusterrolebinding.yaml | 19 ++++
.../nfs-provisioner/templates/deployment.yaml | 81 +++++++++++++++++
.../templates/persistentvolume.yaml | 25 +++++
.../templates/persistentvolumeclaim.yaml | 17 ++++
.../templates/podsecuritypolicy.yaml | 31 +++++++
.../nfs/nfs-provisioner/templates/role.yaml | 21 +++++
.../templates/rolebinding.yaml | 19 ++++
.../templates/serviceaccount.yaml | 11 +++
.../templates/storageclass.yaml | 32 +++++++
Cluster/nfs/nfs-provisioner/values.yaml | 87 ++++++++++++++++++
Cluster/nfs/nfs-server.sh | 19 ++++
README.MD | 11 +++
35 files changed, 983 insertions(+), 24 deletions(-)
create mode 100644 .gitignore
create mode 100644 App/docker/.env.axample
create mode 100644 App/docker/db/Dockerfile
create mode 100755 App/docker/db/build.sh
create mode 100644 App/docker/db/users.sql
create mode 100644 App/docker/php/myapp/config.php
create mode 100644 App/docker/php/myapp/func.php
create mode 100644 App/docker/php/myapp/modal.php
create mode 100644 App/kubernetes/secrets.yaml
create mode 100644 App/kubernetes/volume.yaml
rename Cluster/{1-cluster.yml => cluster.yml} (84%)
create mode 100644 Cluster/nfs/nfs-install.sh
create mode 100644 Cluster/nfs/nfs-provisioner/Chart.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/README.md
create mode 100644 Cluster/nfs/nfs-provisioner/ci/test-values.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/_helpers.tpl
create mode 100644 Cluster/nfs/nfs-provisioner/templates/clusterrole.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/clusterrolebinding.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/deployment.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/persistentvolume.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/persistentvolumeclaim.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/podsecuritypolicy.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/role.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/rolebinding.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/serviceaccount.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/templates/storageclass.yaml
create mode 100644 Cluster/nfs/nfs-provisioner/values.yaml
create mode 100644 Cluster/nfs/nfs-server.sh
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0cfe994
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.env
+.idea
+.DS_Store
diff --git a/App/docker/.env.axample b/App/docker/.env.axample
new file mode 100644
index 0000000..5152ef9
--- /dev/null
+++ b/App/docker/.env.axample
@@ -0,0 +1,3 @@
+MARIADB_USER=restuser
+MARIADB_PASSWORD=
+MARIADB_DATABASE=restdb
diff --git a/App/docker/db/Dockerfile b/App/docker/db/Dockerfile
new file mode 100644
index 0000000..688db0d
--- /dev/null
+++ b/App/docker/db/Dockerfile
@@ -0,0 +1,2 @@
+FROM mariadb:10.6.0-focal
+COPY users.sql /docker-entrypoint-initdb.d/
diff --git a/App/docker/db/build.sh b/App/docker/db/build.sh
new file mode 100755
index 0000000..c1bc410
--- /dev/null
+++ b/App/docker/db/build.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+docker build -t vasyakrg/php-db . && docker push vasyakrg/php-db
diff --git a/App/docker/db/users.sql b/App/docker/db/users.sql
new file mode 100644
index 0000000..9863574
--- /dev/null
+++ b/App/docker/db/users.sql
@@ -0,0 +1,72 @@
+-- phpMyAdmin SQL Dump
+-- version 4.8.5
+-- https://www.phpmyadmin.net/
+--
+-- Хост: 127.0.0.1:3306
+-- Время создания: Дек 09 2019 г., 21:42
+-- Версия сервера: 10.3.13-MariaDB
+-- Версия PHP: 7.1.22
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+
+--
+-- База данных: `test`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Структура таблицы `users`
+--
+
+CREATE TABLE `users` (
+ `id` int(11) NOT NULL,
+ `name` varchar(50) NOT NULL,
+ `last_name` varchar(50) NOT NULL,
+ `pos` varchar(50) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Дамп данных таблицы `users`
+--
+
+INSERT INTO `users` (`id`, `name`, `last_name`, `pos`) VALUES
+(1, 'Иван', 'Иванов', 'Менеджер'),
+(2, 'Петр', 'Петров', 'Сисадмин'),
+(3, 'Сара', 'Конор', 'Бухгалтер'),
+(4, 'Федор', 'Федоров', 'Архитектор'),
+(5, 'Алексей', 'Алексеев', 'Оператор'),
+(6, 'Марина', 'Маринина', 'Менеджер'),
+(7, 'Михаил', 'Михайлов', 'Директор'),
+(8, 'Владислав', 'Валдаев', 'Водитель'),
+(9, 'Валентина', 'Иванова', 'Художник'),
+(10, 'Владислав', 'Валдаев', 'Водитель');
+
+--
+-- Индексы сохранённых таблиц
+--
+
+--
+-- Индексы таблицы `users`
+--
+ALTER TABLE `users`
+ ADD PRIMARY KEY (`id`);
+
+--
+-- AUTO_INCREMENT для сохранённых таблиц
+--
+
+--
+-- AUTO_INCREMENT для таблицы `users`
+--
+ALTER TABLE `users`
+ MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;
+COMMIT;
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/App/docker/docker-compose.yaml b/App/docker/docker-compose.yaml
index 0713113..badf7dc 100644
--- a/App/docker/docker-compose.yaml
+++ b/App/docker/docker-compose.yaml
@@ -1,12 +1,34 @@
version: '3.7'
services:
- app:
- build: ./php
- container_name: myapp
- ports:
- - 80:80
- networks:
- app_net:
+ app:
+ image: vasyakrg/php-app
+ container_name: myapp
+ environment:
+ MARIADB_HOST: db
+ MARIADB_USER: ${MARIADB_USER}
+ MARIADB_PASSWORD: ${MARIADB_PASSWORD}
+ MARIADB_DATABASE: ${MARIADB_DATABASE}
+ ports:
+ - 80:80
+ networks:
+ app_net:
+ db:
+ image: vasyakrg/php-db
+ container_name: db
+ environment:
+ MARIADB_ROOT_PASSWORD: ${MARIADB_PASSWORD}
+ MARIADB_USER: ${MARIADB_USER}
+ MARIADB_PASSWORD: ${MARIADB_PASSWORD}
+ MARIADB_DATABASE: ${MARIADB_DATABASE}
+ volumes:
+ - db_volume:/var/lib/mysql
+ ports:
+ - 3306:3306
+ networks:
+ app_net:
+
+volumes:
+ db_volume:
networks:
app_net:
diff --git a/App/docker/php/Dockerfile b/App/docker/php/Dockerfile
index cc18e89..7d8fc15 100644
--- a/App/docker/php/Dockerfile
+++ b/App/docker/php/Dockerfile
@@ -1,12 +1,15 @@
FROM php:7.4-apache-buster
MAINTAINER vasyakrg
-RUN apt-get update && apt-get install -y \
+RUN apt-get update && apt-get install -y --no-install-recommends \
apt-transport-https \
curl \
wget \
git \
- && apt-get update && rm -rf /var/lib/apt/lists/*
+ libpq-dev \
+ && docker-php-ext-install mysqli pdo_pgsql pdo_mysql \
+ && apt-get update \
+ && rm -rf /var/lib/apt/lists/*
RUN rm /etc/apache2/sites-enabled/*
COPY myapp.conf /etc/apache2/sites-available/myapp.conf
diff --git a/App/docker/php/myapp/config.php b/App/docker/php/myapp/config.php
new file mode 100644
index 0000000..b14cc13
--- /dev/null
+++ b/App/docker/php/myapp/config.php
@@ -0,0 +1,12 @@
+getMessage());
+}
diff --git a/App/docker/php/myapp/func.php b/App/docker/php/myapp/func.php
new file mode 100644
index 0000000..db69f2b
--- /dev/null
+++ b/App/docker/php/myapp/func.php
@@ -0,0 +1,47 @@
+prepare($sql);
+ $query->execute([$name, $last_name, $pos]);
+ $success = '
+ Данные успешно отправлены! Вы можете закрыть это сообщение.
+
+
';
+
+}
+
+// Read
+
+$sql = $pdo->prepare("SELECT * FROM `users`");
+$sql->execute();
+$result = $sql->fetchAll();
+
+// Update
+$edit_name = $_POST['edit_name'];
+$edit_last_name = $_POST['edit_last_name'];
+$edit_pos = $_POST['edit_pos'];
+$get_id = $_GET['id'];
+if (isset($_POST['edit-submit'])) {
+ $sqll = "UPDATE users SET name=?, last_name=?, pos=? WHERE id=?";
+ $querys = $pdo->prepare($sqll);
+ $querys->execute([$edit_name, $edit_last_name, $edit_pos, $get_id]);
+ header('Location: '. $_SERVER['HTTP_REFERER']);
+}
+
+// DELETE
+if (isset($_POST['delete_submit'])) {
+ $sql = "DELETE FROM users WHERE id=?";
+ $query = $pdo->prepare($sql);
+ $query->execute([$get_id]);
+ header('Location: '. $_SERVER['HTTP_REFERER']);
+}
diff --git a/App/docker/php/myapp/index.php b/App/docker/php/myapp/index.php
index fade311..a1b1110 100644
--- a/App/docker/php/myapp/index.php
+++ b/App/docker/php/myapp/index.php
@@ -1,8 +1,83 @@
-
-
- Тестируем PHP
-
-
- Привет, мир!
'; ?>
-
-
+
+
+
+
+
+ CRUD приложение на PHP
+
+
+
+
+
+
+
+
+ =$success ?>
+
+
+
+
+ № |
+ Имя |
+ Фамилия |
+ Должность |
+ Действие |
+
+
+
+ =$value['id'] ?> |
+ =$value['name'] ?> |
+ =$value['last_name'] ?> |
+ =$value['pos'] ?> |
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+