├── ch_docker
├── docker_file_2
│ ├── .gitignore
│ ├── README.MD
│ └── Dockerfile
├── docker_file_1
│ ├── Dockerfile
│ └── index.html
├── docker_multi_stage
│ ├── vue-example
│ │ ├── babel.config.js
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ └── index.html
│ │ ├── src
│ │ │ ├── assets
│ │ │ │ └── logo.png
│ │ │ ├── main.js
│ │ │ ├── App.vue
│ │ │ └── components
│ │ │ │ └── HelloWorld.vue
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.json
│ ├── docker-compose.yml
│ └── Dockerfile
└── nginx
│ └── index.html
├── ch_docker-compose
├── 3_dockerfile
│ ├── dockerfile
│ ├── new
│ │ └── dockerfile.production
│ ├── docker-compose.yml
│ └── web
│ │ └── index.html
├── 1_wordpress
│ └── docker-compose.yml
└── 2_wordpress
│ └── docker-compose.yml
├── logstash
├── input.txt
├── output.txt
├── filter.txt
├── haproxy.cfg
├── docker-compose.yml
└── rancher-compose.yml
├── ch_database
├── README.MD
├── mysql_secure_installation.sql
├── setup_other.sh
├── setup_first.sh
└── galera.cnf
├── ch_kong
├── rancher-compose.yml
└── docker-compose.yml
├── setup.sh
├── ssh
├── id_rsa.pub
├── key.ppk
└── id_rsa
├── bonus_docker-registry
├── docker-compose.yml
└── ssl
│ ├── gitlab.local.crt
│ ├── registry.local.crt
│ ├── gitlab.local.key
│ └── registry.local.key
└── ch_setup_rancher
└── docker-compose.yml
/ch_docker/docker_file_2/.gitignore:
--------------------------------------------------------------------------------
1 | thisisapp/
2 |
--------------------------------------------------------------------------------
/ch_docker-compose/3_dockerfile/dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx
2 |
3 | EXPOSE 80
4 |
--------------------------------------------------------------------------------
/ch_docker-compose/3_dockerfile/new/dockerfile.production:
--------------------------------------------------------------------------------
1 | FROM nginx
2 |
3 | EXPOSE 80
4 |
--------------------------------------------------------------------------------
/logstash/input.txt:
--------------------------------------------------------------------------------
1 | udp {
2 | port => 5000
3 | codec => "plain"
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/ch_docker/docker_file_1/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx
2 |
3 | COPY index.html /usr/share/nginx/html
4 |
5 | EXPOSE 80
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ch_docker/docker_file_2/README.MD:
--------------------------------------------------------------------------------
1 | docker build -t ima8/demo1 -f Dockerfile.staging .
2 |
3 | docker run -p 3000:3000 ima8/demo1
4 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/app'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 |
3 | services:
4 | webserver:
5 | build: .
6 | ports:
7 | - 8080:80
8 |
--------------------------------------------------------------------------------
/ch_docker-compose/3_dockerfile/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 |
3 | services:
4 | webserver:
5 | build: .
6 | ports:
7 | - 8080:80
8 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ima8/Jump_into_DevOps_world/HEAD/ch_docker/docker_multi_stage/vue-example/public/favicon.ico
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ima8/Jump_into_DevOps_world/HEAD/ch_docker/docker_multi_stage/vue-example/src/assets/logo.png
--------------------------------------------------------------------------------
/ch_database/README.MD:
--------------------------------------------------------------------------------
1 | # For install MariaDB Galera Cluster
2 | ## Tested on ubuntu 16.04 with 4GB memory.
3 |
4 | ```
5 | chmod +x setup.sh
6 | ./setup.sh
7 | # skip every input
8 | ```
9 |
--------------------------------------------------------------------------------
/logstash/output.txt:
--------------------------------------------------------------------------------
1 | elasticsearch {
2 | hosts => ["elasticsearch.rancher.internal:9200"]
3 | }
4 | stdout {
5 | codec => rubydebug
6 | }
7 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 |
4 | Vue.config.productionTip = false
5 |
6 | new Vue({
7 | render: h => h(App),
8 | }).$mount('#app')
9 |
--------------------------------------------------------------------------------
/ch_docker/docker_file_2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:8.11-alpine
2 |
3 | RUN mkdir -p /app
4 |
5 | COPY thisisapp/ /app
6 |
7 | WORKDIR /app
8 |
9 | RUN npm install
10 |
11 | CMD ["node","/app/bin/www"]
12 |
13 | EXPOSE 3000
14 |
--------------------------------------------------------------------------------
/ch_docker-compose/3_dockerfile/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 | test
11 |
12 |
13 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw*
22 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/README.md:
--------------------------------------------------------------------------------
1 | # vue-example
2 |
3 | ## Project setup
4 | ```
5 | npm install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | npm run serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | npm run build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | npm run lint
21 | ```
22 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:8.11-alpine as myBuilder
2 |
3 | RUN mkdir -p /app
4 |
5 | COPY vue-example/ /app
6 |
7 | WORKDIR /app
8 |
9 | RUN npm install -g @vue/cli-service-global
10 |
11 | RUN npm install
12 |
13 | RUN npm run build
14 |
15 | FROM nginx:alpine
16 |
17 | COPY --from=myBuilder /app/dist /usr/share/nginx/html
18 |
19 | EXPOSE 80
20 |
21 |
22 |
--------------------------------------------------------------------------------
/ch_database/mysql_secure_installation.sql:
--------------------------------------------------------------------------------
1 | UPDATE mysql.user SET Password=PASSWORD('root!!root') WHERE User='root';
2 | DELETE FROM mysql.user WHERE User='';
3 | ## DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
4 | CREATE USER 'root'@'%' IDENTIFIED BY 'root!!root';
5 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
6 | DROP DATABASE IF EXISTS test;
7 | DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
8 | FLUSH PRIVILEGES;
9 |
--------------------------------------------------------------------------------
/ch_kong/rancher-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 | services:
3 | konga:
4 | scale: 1
5 | start_on_create: false
6 | kong-migration:
7 | scale: 1
8 | start_on_create: false
9 | kong-database:
10 | scale: 1
11 | start_on_create: true
12 | health_check:
13 | healthy_threshold: 2
14 | response_timeout: 2000
15 | port: 9042
16 | unhealthy_threshold: 3
17 | initializing_timeout: 60000
18 | interval: 2000
19 | strategy: none
20 | reinitializing_timeout: 60000
21 | kong:
22 | scale: 1
23 | start_on_create: false
24 |
--------------------------------------------------------------------------------
/ch_docker/nginx/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Hello
9 |
10 |
11 |
12 |
19 | Hello world
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/ch_docker/docker_file_1/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Hello
9 |
10 |
11 |
12 |
19 | Hello world from docker file
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/logstash/filter.txt:
--------------------------------------------------------------------------------
1 | grok {
2 | match => { "message" => "%{NOTSPACE:time} %{INT:timestamp} %{INT:status_code} %{WORD:method} %{NOTSPACE:host} %{NOTSPACE:client_port} %{IP:client_ip} %{NOTSPACE:Via} %{NOTSPACE:yguid} %{NOTSPACE:query} %{NOTSPACE:byte} %{NOTSPACE:bknd} %{NOTSPACE:bkndq} %{NOTSPACE:srvq} %{NOTSPACE:actconn} %{NOTSPACE:feconn} %{NOTSPACE:beconn} %{NOTSPACE:srvconn} %{NOTSPACE:retr} %{NOTSPACE:Tq} %{NOTSPACE:Tw} %{NOTSPACE:Tc} %{NOTSPACE:Tr} %{NOTSPACE:Tt} %{NOTSPACE:Authorization} %{GREEDYDATA:data}" }
3 | }
4 | date {
5 | match => [ "time", "dd/MMM/yyyy:HH:mm:ss.SSS" ]
6 | }
7 |
8 | if "_grokparsefailure" in [tags] { drop {} }
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | vue-example
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |
5 |
6 |
7 |
8 |
18 |
19 |
29 |
--------------------------------------------------------------------------------
/setup.sh:
--------------------------------------------------------------------------------
1 | sudo true
2 | #curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3 | #sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
4 | #sudo apt-get install apt-transport-https
5 | sudo apt-get update
6 | #apt-cache policy docker-ce
7 | curl https://releases.rancher.com/install-docker/19.03.sh | sh
8 | #sudo apt-get install -y docker-ce=18.03.1~ce-0~ubuntu
9 | sudo usermod -aG docker ${USER}
10 | sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
11 | sudo chmod +x /usr/local/bin/docker-compose
12 | newgrp docker
13 |
14 |
--------------------------------------------------------------------------------
/ch_docker-compose/1_wordpress/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 |
3 | services:
4 |
5 | wordpress:
6 | image: wordpress:latest
7 | ports:
8 | - 8080:80
9 | links:
10 | - mysql
11 | environment:
12 | WORDPRESS_DB_HOST: mysql
13 | WORDPRESS_DB_NAME: wordpress
14 | WORDPRESS_DB_USER: root
15 | WORDPRESS_DB_PASSWORD: thisispassword
16 |
17 | mysql:
18 | image: mysql:5.7
19 | ports:
20 | - 3306:3306 # change ip if required
21 | command: [
22 | '--character-set-server=utf8mb4',
23 | '--collation-server=utf8mb4_unicode_ci'
24 | ]
25 | environment:
26 | MYSQL_DATABASE: wordpress
27 | MYSQL_ROOT_PASSWORD: thisispassword
28 |
--------------------------------------------------------------------------------
/ssh/id_rsa.pub:
--------------------------------------------------------------------------------
1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+cAwM5j95YRfZ24eA8cofdbLKPIUx7C2GWpmoIsumy3LWo6BpiB0mxDTaQm6w9e9peciGf38Uw8M3AXN71qUabkohPkp8M/ze0HOXfh1GYxWIk1mlEKdXlvn3rduGTRsaqqBT8jvBKWb8IMXZarLav7SVbxJESeHCsMTtGvwhTSVFxbyFE7y7bFtf9MQX6S/yVUXAr0PpgfBy9g1P7OeSBE5TJ5XIJ/vQGVTQcsh4+GU8btVLP4dcCZU2Nu2kYuLY8Hi1wjIEI0O6aFafb1jRsu0MA1Bur4A0r8YrozCJRLh7Ez8X+meoWFrqXfeHm551ovDls2Emxn9JVBWpIoLCQ7ZjGzLqhYghdp8n4+ypM5adQcMQSMQxKbMv/C+GKKj3muBe3n57t8pocdjomu69IAvmU628QkPtMRKFfFMd9kFyiPbiTFYf9blyK0s0PGhAN9+e5FFMFdhoW7JutAZbznNwsEsahsoCY5eM4DeGMHFC7pXhu+LJJAb9QmFx1PEp1SRwlI4hyI8hS1vFkIxj39L/kR9Gpv1ubMSujX23E702L3/kz+k0PiflXQ6cvd5trCtGFqMEOVrNyb7goNlhrzk4nT0Df/VyFkkWhsbLfWtmCooMU6g7y2w+kgJYEYDrjRdY+z+q3DGQrOzDPPqZJRhYaBYcosTOYE5XWvzPTQ== imac.monochrome@gmail.com
2 |
--------------------------------------------------------------------------------
/ch_database/setup_other.sh:
--------------------------------------------------------------------------------
1 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv BC19DDBA
2 | sudo add-apt-repository 'deb http://releases.galeracluster.com/mysql-wsrep-5.6/ubuntu xenial main'
3 | sudo add-apt-repository 'deb http://releases.galeracluster.com/galera-3/ubuntu xenial main'
4 | sudo echo "Package: *" >> /etc/apt/preferences.d/galera.pref
5 | sudo echo "Pin: origin releases.galeracluster.com" >> /etc/apt/preferences.d/galera.pref
6 | sudo echo "Pin-Priority: 1001" >> /etc/apt/preferences.d/galera.pref
7 | sudo apt-get update
8 | sudo apt-get install galera-3 galera-arbitrator-3 mysql-wsrep-5.6 -y
9 | sudo apt-get install rsync -y
10 | mysql -furoot < "mysql_secure_installation.sql"
11 | sudo systemctl stop mysql
12 | sudo cp galera.cnf /etc/mysql/conf.d/galera.cnf
13 | sudo systemctl start mysql
14 |
--------------------------------------------------------------------------------
/ch_docker-compose/2_wordpress/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 |
3 | services:
4 |
5 | wordpress:
6 | image: wordpress:latest
7 | volumes:
8 | - ./wp_app:/var/www/html
9 | ports:
10 | - 8080:80
11 | links:
12 | - mysql
13 | environment:
14 | WORDPRESS_DB_HOST: mysql
15 | WORDPRESS_DB_NAME: wordpress
16 | WORDPRESS_DB_USER: root
17 | WORDPRESS_DB_PASSWORD: thisispassword
18 |
19 | mysql:
20 | image: mysql:5.7
21 | ports:
22 | - 3306:3306 # change ip if required
23 | command: [
24 | '--character-set-server=utf8mb4',
25 | '--collation-server=utf8mb4_unicode_ci'
26 | ]
27 | volumes:
28 | - ./wp_data:/var/lib/mysql
29 | environment:
30 | MYSQL_DATABASE: wordpress
31 | MYSQL_ROOT_PASSWORD: thisispassword
32 |
--------------------------------------------------------------------------------
/ch_database/setup_first.sh:
--------------------------------------------------------------------------------
1 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv BC19DDBA
2 | sudo add-apt-repository 'deb http://releases.galeracluster.com/mysql-wsrep-5.6/ubuntu xenial main'
3 | sudo add-apt-repository 'deb http://releases.galeracluster.com/galera-3/ubuntu xenial main'
4 | sudo echo "Package: *" >> /etc/apt/preferences.d/galera.pref
5 | sudo echo "Pin: origin releases.galeracluster.com" >> /etc/apt/preferences.d/galera.pref
6 | sudo echo "Pin-Priority: 1001" >> /etc/apt/preferences.d/galera.pref
7 | sudo apt-get update
8 | sudo apt-get install galera-3 galera-arbitrator-3 mysql-wsrep-5.6 -y
9 | sudo apt-get install rsync -y
10 | mysql -furoot < "mysql_secure_installation.sql"
11 | sudo systemctl stop mysql
12 | sudo cp galera.cnf /etc/mysql/conf.d/galera.cnf
13 | sudo /etc/init.d/mysql start --wsrep-new-cluster
14 |
15 | ## sudo
16 |
17 |
18 |
--------------------------------------------------------------------------------
/bonus_docker-registry/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3.3"
2 |
3 | services:
4 | gitlab:
5 | restart: always
6 | image: gitlab/gitlab-ce:latest
7 | hostname: 'gitlab'
8 | environment:
9 | GITLAB_OMNIBUS_CONFIG: |
10 | external_url "https://gitlab.local"
11 | nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.local.crt"
12 | nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.local.key"
13 | registry_external_url "https://registry.local"
14 | gitlab_rails['registry_host'] = "registry"
15 | registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/registry.local.crt"
16 | registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/registry.local.key"
17 | ports:
18 | - "8022:22"
19 | - "80:80"
20 | - "443:443"
21 | volumes:
22 | - gitlab_data:/var/opt/gitlab
23 | - gitlab_logs:/var/log/gitlab
24 | - gitlab_config:/etc/gitlab
25 | - ./ssl:/etc/gitlab/ssl
26 | volumes:
27 | gitlab_data:
28 | gitlab_logs:
29 | gitlab_config:
30 |
--------------------------------------------------------------------------------
/ch_setup_rancher/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "2.1"
2 | services:
3 | rancher:
4 | image: rancher/server:stable
5 | restart: always
6 | ports:
7 | - "8080:8080"
8 | links:
9 | - mysql
10 | depends_on:
11 | mysql:
12 | condition: service_healthy
13 | environment:
14 | - CATTLE_DB_CATTLE_MYSQL_HOST=mysql ## Your public ip
15 | - CATTLE_DB_CATTLE_MYSQL_PORT=3306
16 | - CATTLE_DB_CATTLE_MYSQL_NAME=rancher
17 | - CATTLE_DB_CATTLE_USERNAME=rancher
18 | - CATTLE_DB_CATTLE_PASSWORD=your_password!
19 | mysql:
20 | image: mysql:5.7
21 | restart: always
22 | volumes:
23 | - ./var/lib/mysql:/var/lib/mysql
24 | ports:
25 | - "3306:3306"
26 | environment:
27 | - MYSQL_ROOT_PASSWORD=your_root_password!
28 | - MYSQL_DATABASE=rancher
29 | - MYSQL_USER=rancher
30 | - MYSQL_PASSWORD=your_password!
31 | healthcheck:
32 | test: "/usr/bin/mysql --user=rancher --password=your_password! --execute \"SHOW DATABASES;\""
33 | interval: 5s
34 | timeout: 60s
35 | retries: 10
36 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-example",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "vue": "^2.5.21"
12 | },
13 | "devDependencies": {
14 | "@vue/cli-plugin-babel": "^3.0.0",
15 | "@vue/cli-plugin-eslint": "^3.0.0",
16 | "@vue/cli-service": "^3.0.0",
17 | "babel-eslint": "^10.0.1",
18 | "eslint": "^5.8.0",
19 | "eslint-plugin-vue": "^5.0.0",
20 | "vue-template-compiler": "^2.5.21"
21 | },
22 | "eslintConfig": {
23 | "root": true,
24 | "env": {
25 | "node": true
26 | },
27 | "extends": [
28 | "plugin:vue/essential",
29 | "eslint:recommended"
30 | ],
31 | "rules": {},
32 | "parserOptions": {
33 | "parser": "babel-eslint"
34 | }
35 | },
36 | "postcss": {
37 | "plugins": {
38 | "autoprefixer": {}
39 | }
40 | },
41 | "browserslist": [
42 | "> 1%",
43 | "last 2 versions",
44 | "not ie <= 8"
45 | ]
46 | }
47 |
--------------------------------------------------------------------------------
/bonus_docker-registry/ssl/gitlab.local.crt:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIDQDCCAigCCQCwSoEVsgWq7DANBgkqhkiG9w0BAQsFADBiMQswCQYDVQQGEwJU
3 | SDEQMA4GA1UECAwHQmFuZ2tvazEOMAwGA1UEBwwFRHVzaXQxDTALBgNVBAoMBFRl
4 | c3QxCzAJBgNVBAsMAklUMRUwEwYDVQQDDAxnaXRsYWIubG9jYWwwHhcNMTkwMjAx
5 | MDgxNTA0WhcNMjkwMTI5MDgxNTA0WjBiMQswCQYDVQQGEwJUSDEQMA4GA1UECAwH
6 | QmFuZ2tvazEOMAwGA1UEBwwFRHVzaXQxDTALBgNVBAoMBFRlc3QxCzAJBgNVBAsM
7 | AklUMRUwEwYDVQQDDAxnaXRsYWIubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IB
8 | DwAwggEKAoIBAQDL2IuBZHyh80s9bufmq9+vwES71THGGO6D6bRt1YKf4B5WPlG9
9 | VisPT0wtWXuihvS08ZX+/N30/M0beUX9ZV8BfzzGeii6gHOugels47ga61no8s+e
10 | WbpUDIaDQfF/OR4hdNxkvcjhGEDX9hlxmED2gp8zgfxThh7RcZy476+HFMmgEnAJ
11 | 9m4XcYMrhaYQfuvCOVMREiRRHvwrJLYL+vivyitLLmtl3NurtyQQe4YqAaoNp4LL
12 | yIL6TzegFWIHOhqJ1e1SVhrMM/K2+UbGNEYcn/N/deCEpNcl/zZf5gamalGkPJyu
13 | LLxuwDjhjMVo6Cc93EDKcVNrWguKUTKp5JH5AgMBAAEwDQYJKoZIhvcNAQELBQAD
14 | ggEBAJ70RX5JCLifHihHqAcaZ4SyvDIu2Iv1vlNTpRKfxDBtWNsPhWBDjDIqdNad
15 | CQagc0S+yP/7mXBvFyw/kZ3c+IxK/DPQJV7I/4wkYee/NtbxHy0keCPdKcuakC3E
16 | RynF6TsIAn28PB5ObCvwrtqQMbItu03YnNszfGLnoYveCz/w0iJpdRTyPhXsW166
17 | OJbEY/UeRxpnX3oHg3rSvs+uqag69gttrv/kEbVPn5TGdwni92XBADgHZVyy6sjr
18 | NXNM4fT2euiJcMzS4vV6z0phQxK3fPEjti2tL9dhD+uZSYmTiK75EIEqrh4vec+9
19 | g9ZnV1z87x9r0hXXVl/bErtLd8o=
20 | -----END CERTIFICATE-----
21 |
--------------------------------------------------------------------------------
/bonus_docker-registry/ssl/registry.local.crt:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIDRDCCAiwCCQC9Sn7M0SPo6jANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJU
3 | SDEQMA4GA1UECAwHQmFuZ2tvazEOMAwGA1UEBwwFRHVzaXQxDTALBgNVBAoMBFRl
4 | c3QxCzAJBgNVBAsMAklUMRcwFQYDVQQDDA5yZWdpc3RyeS5sb2NhbDAeFw0xOTAy
5 | MDEwODE0MzBaFw0yOTAxMjkwODE0MzBaMGQxCzAJBgNVBAYTAlRIMRAwDgYDVQQI
6 | DAdCYW5na29rMQ4wDAYDVQQHDAVEdXNpdDENMAsGA1UECgwEVGVzdDELMAkGA1UE
7 | CwwCSVQxFzAVBgNVBAMMDnJlZ2lzdHJ5LmxvY2FsMIIBIjANBgkqhkiG9w0BAQEF
8 | AAOCAQ8AMIIBCgKCAQEAyInsgumvEA9cEKuyWYB8YzyCFbWYOgC2tHmkA53sbLmM
9 | jiiUvcYXOeEToZB8wRzdaJl0O8ER+gVLbL1PWv+XZswnkdl+XaX0iu/aKP99lGax
10 | yYX5R37mlmgzjSdNG/kWJKaFGOCMH+VCboKGlPU7UZjqAMt0wTlC1mGZMR8lxxZ0
11 | Gw8tb8X7Pzw1bZTGCX6peC5CqEYfxTEPDnhsdjN9m4Jdar4NXtRdR3PoylTn8IAj
12 | RCTupX5Q3qTWNDGJVdKYzdXituF/9jCsp5J7F7UpFiyDRxGk+WAB5Bo7xO1j1m5L
13 | pabS5pjn0LHoBiZF6TDBw6GGg1IK91bS5swCYMUPywIDAQABMA0GCSqGSIb3DQEB
14 | CwUAA4IBAQBkL5rRbJpiE9fdks3iv5H+Fr5PHh+oH3g8H+7O0SbgDEgQYFKtXqPO
15 | QoEtX3WMw0xhhJ1/ATPLrib8T9H3dBH1X5LQk7H5Gk2a1oL3ATDchA5qu4OYtRKX
16 | NQvdYgyidP+b3pg63a3/Bj4hk4zS5EqfwzUyM2ETJRDuCnPwNeVeX/4zoMag6HUd
17 | 5rwTphU+pktwb+7k1IPqHdSip15HuatgDpWPxVF5xVlIQ64xGThg2AXidUDhzuxx
18 | CylsJUN92kehXV5/Sy9pozfkV4/XWrg3eGILu6+h+q09PosWDlsI/8uKboPsiOG1
19 | o8CZy1l9DCSbBXpZndKt06XIq0eZftVB
20 | -----END CERTIFICATE-----
21 |
--------------------------------------------------------------------------------
/logstash/haproxy.cfg:
--------------------------------------------------------------------------------
1 | global
2 | maxconn 2048
3 |
4 | defaults
5 | log 127.0.0.1:8514 local0 # Log to Rancher
6 | log 10.42.141.227:5000 local0 # Change ip here
7 | log global
8 | option redispatch
9 |
10 | frontend 80
11 | option httplog
12 | option http-buffer-request
13 | declare capture request len 4000
14 | capture request header Host len 100
15 | capture request header Via len 100
16 | capture request header yguid len 52
17 | capture request header X-Forwarded-For len 50
18 | capture request header X-Access-Token len 300
19 | http-request capture req.body id 0
20 | #http-request capture req.payload(0,1000) len 1000
21 | http-request add-header X_FORWARDED_FOR %[req.hdr(CF-Connecting-IP)]
22 | #log-format {"%t|Z=%Ts|code=%ST|m=%HM|H=%[capture.req.hdr(1)]|AB=%cp|A=%[capture.req.hdr(4)]|v=%[capture.req.hdr(2)]|yguid=%[capture.req.hdr(3)]|Q=%HU|o=%B|bknd=%b/%s bkndq=%bq|srvq=%sq|actconn=%ac|feconn=%fc|beconn=%bc|srvconn=%sc|retr=%rc|Tq=%Tq|Tw=%Tw|Tc=%Tc|Tr=%Tr|Tt=%Tt|data=%[capture.req.hdr(0)]"}
23 | ## For cloudflare
24 | #log-format "%t %Ts %ST %HM %[capture.req.hdr(1)] %cp %[capture.req.hdr(4)] %[capture.req.hdr(2)] %[capture.req.hdr(3)] %HU %B %b/%s %bq %sq %ac %fc %bc %sc %rc %Tq %Tw %Tc %Tr %Tt %[capture.req.hdr(5)] %[capture.req.hdr(0)]"
25 | ## For non-cloudflare
26 | log-format "%t %Ts %ST %HM %[capture.req.hdr(1)] %cp %Ci %[capture.req.hdr(2)] %[capture.req.hdr(3)] %HU %B %b/%s %bq %sq %ac %fc %bc %sc %rc %Tq %Tw %Tc %Tr %Tt %[capture.req.hdr(5)] %[capture.req.hdr(0)]"
27 |
28 |
29 |
--------------------------------------------------------------------------------
/ch_kong/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 | services:
3 | mysql:
4 | image: mysql:5.7
5 | restart: always
6 | environment:
7 | MYSQL_ROOT_PASSWORD: thisispassword
8 | MYSQL_ROOT_HOST: "%"
9 | konga:
10 | image: pantsel/konga:latest
11 | environment:
12 | DB_ADAPTER: mysql
13 | DB_DATABASE: konga_database2
14 | DB_HOST: mysql
15 | DB_PASSWORD: thisispassword
16 | DB_USER: root
17 | stdin_open: true
18 | tty: true
19 | links:
20 | - mysql
21 | ports:
22 | - 1337:1337/tcp
23 | labels:
24 | io.rancher.container.pull_image: always
25 | kong-migration:
26 | image: kong:latest
27 | environment:
28 | KONG_ADMIN_LISTEN: 0.0.0.0:8001
29 | KONG_CASSANDRA_CONTACT_POINTS: kong-database
30 | KONG_DATABASE: cassandra
31 | KONG_NGINX_HTTP_RESOLVER: 8.8.8.8
32 | stdin_open: true
33 | tty: true
34 | links:
35 | - kong-database:kong-database
36 | command:
37 | - kong
38 | - migrations
39 | - bootstrap
40 | - --vv
41 | labels:
42 | io.rancher.container.pull_image: always
43 | io.rancher.container.start_once: 'true'
44 | kong-database:
45 | image: cassandra:3.0
46 | kong:
47 | image: kong:latest
48 | environment:
49 | KONG_ADMIN_LISTEN: 0.0.0.0:8001
50 | KONG_CASSANDRA_CONTACT_POINTS: kong-database
51 | KONG_DATABASE: cassandra
52 | KONG_NGINX_HTTP_RESOLVER: 8.8.8.8
53 | stdin_open: true
54 | tty: true
55 | links:
56 | - kong-database:kong-database
57 | labels:
58 | io.rancher.container.pull_image: always
59 | io.rancher.sidekicks: kong-migration
60 |
--------------------------------------------------------------------------------
/ch_database/galera.cnf:
--------------------------------------------------------------------------------
1 | [mysqld]
2 | default-storage-engine=innodb
3 | innodb_autoinc_lock_mode=2
4 | bind-address=0.0.0.0
5 |
6 | max_connections=1024
7 | key_buffer_size= 20M
8 | table_open_cache = 256
9 | max_allowed_packet = 32M
10 | sort_buffer_size = 20M
11 | read_buffer_size = 20M
12 | thread_concurrency = 4
13 |
14 | ## Binlog
15 | log_bin = /var/log/mysql/binlog
16 | log_bin_index = /var/log/mysql/binlog.index
17 | log_warnings = 2
18 | binlog_format = ROW
19 | expire_logs_days = 10
20 | max_binlog_size = 100M
21 | innodb_flush_log_at_trx_commit = 2
22 | sync_binlog=0
23 |
24 | # INNODB #
25 | innodb-flush-method = O_DIRECT
26 | innodb-log-files-in-group = 2
27 | innodb-log-file-size = 128M
28 | innodb-file-per-table = 1
29 | innodb-buffer-pool-size = 2G
30 |
31 |
32 | # Galera Provider Configuration
33 | wsrep_on=ON
34 | wsrep_provider=/usr/lib/galera/libgalera_smm.so
35 |
36 | # Galera Cluster Configuration
37 | wsrep_cluster_name="production" # Change_here
38 | wsrep_cluster_address="gcomm://10.130.104.42,10.130.104.44,10.130.104.45" # Change_here
39 |
40 | # Galera Synchronization Configuration
41 | wsrep_sst_method=rsync
42 |
43 | # Galera Node Configuration
44 | wsrep_node_address="10.130.104.42" # Change_here
45 | wsrep_node_name="Database01" # Change_here
46 |
47 | wsrep_slave_threads=4
48 |
49 | # change auto_increment_increment and auto_increment_offset automatically
50 | wsrep_auto_increment_control=1
51 |
52 | # enable "strictly synchronous" semantics for read operations
53 | wsrep_causal_reads=0
54 |
55 | # retry autoinc insert, which failed for duplicate key error
56 | wsrep_drupal_282555_workaround=1
57 |
58 | wsrep_retry_autocommit=3
59 |
--------------------------------------------------------------------------------
/bonus_docker-registry/ssl/gitlab.local.key:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDL2IuBZHyh80s9
3 | bufmq9+vwES71THGGO6D6bRt1YKf4B5WPlG9VisPT0wtWXuihvS08ZX+/N30/M0b
4 | eUX9ZV8BfzzGeii6gHOugels47ga61no8s+eWbpUDIaDQfF/OR4hdNxkvcjhGEDX
5 | 9hlxmED2gp8zgfxThh7RcZy476+HFMmgEnAJ9m4XcYMrhaYQfuvCOVMREiRRHvwr
6 | JLYL+vivyitLLmtl3NurtyQQe4YqAaoNp4LLyIL6TzegFWIHOhqJ1e1SVhrMM/K2
7 | +UbGNEYcn/N/deCEpNcl/zZf5gamalGkPJyuLLxuwDjhjMVo6Cc93EDKcVNrWguK
8 | UTKp5JH5AgMBAAECggEBAKvnvh4sg/5/kmAIe4DISSeJ2W0d6Y/JzrtoB0To3fO9
9 | qVfJzl0BoeaTVQaZg+4YKZ2+bmRPE09bMg2NRDzhlDFLABHRSy+cy/HKlPPDRqtM
10 | 9tHAkt5ThRMETRu8LNDBdmt4hbRfaFyLe4OkguiNIZvBpEhnwkcdwDeYvDYpy7j5
11 | iTp6OrYs9RGTX2603SliALSp/33xmMuhXszBbQqMWTUT8XJbfAWI82KbbU3bpAM6
12 | ivkdoqlCVoOcO0HAM199Mp3riUyacVnu/24SMF4iY66K9k7NjfTdBWeKmZbs+Zta
13 | 5E6bY0mv6WQv7xGWevQKgec622RyEWLtNnt5G4zWQAECgYEA7lxpG0f6foyCKHMw
14 | HndjmlvxKKircHHrysxrK3TRZkD9Mk7R70KnEjg1GkP2vb4eDwRVxxPYP0PHrfIg
15 | l8Z6UOEISYh9fsRoBy+aBerJbU30Zm5gT7NXOXjl4fAmtvwkYlr6D211MOuqw54u
16 | om6MO3MvOc1+GtLg38KjrGW99gECgYEA2u5E1Ir1Me9aqc5YCBQixmjOxScySwRN
17 | I6GJC6fsd9azJstsvcuyxZl1ZxS3sFvjPk5LuzRw/1YF/vhw3b7nKxVK7dgFa1/b
18 | qZVCsMhboIikFJJV5Bua1GesxQYD5iWvamWqJqiphgu9TkX903tJt7hipOeUpWyD
19 | WtZyS5kOS/kCgYAzG5VdyB0prS7rRWd34Nl2a2hV83Ru874/CX2hH7cWWbDwbH4O
20 | 8xenjG22aAQrwuvnBGLwAI1JY1sZLOVYJbJsTRPd0Go4GBzGDarUwfbWfPR+UgRM
21 | koONSyLfQwLKEV4ryJ39WNbb2mwO7YfKRDHFPXlOx4TWc4jL8YvulxIYAQKBgEd3
22 | 1LxViGl+q2gXViF9AUUn3af6fa6DfvMMvoIxlT4htmYJrjvfDUL4L50w5C4MMQib
23 | 4pkAK4sO9/IeBCo/MZOc5dLy3AILTtfzQ8wV++NR985HXwaSBF8mYP4IUqmEz9i5
24 | y2vHT1/U4T12F8A71PrGlF0kxB+kZtT2gGUxV7txAoGBAL7WMA+oJm1jrKL81ojs
25 | STcROXAiWOLXaNXPjvHwgx9/kw2ku2L5CM6PxCPfOvMmkSFSVqIel+Wr/rLuLz0R
26 | ZLNtyNErhAI2O/VDwFjhEOacLiXCGPDQIlHBGQZF6hoykgV1KRrSxui99O3daPNF
27 | FlJqIk4qblU321K94fEmk3i2
28 | -----END PRIVATE KEY-----
29 |
--------------------------------------------------------------------------------
/bonus_docker-registry/ssl/registry.local.key:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIieyC6a8QD1wQ
3 | q7JZgHxjPIIVtZg6ALa0eaQDnexsuYyOKJS9xhc54ROhkHzBHN1omXQ7wRH6BUts
4 | vU9a/5dmzCeR2X5dpfSK79oo/32UZrHJhflHfuaWaDONJ00b+RYkpoUY4Iwf5UJu
5 | goaU9TtRmOoAy3TBOULWYZkxHyXHFnQbDy1vxfs/PDVtlMYJfql4LkKoRh/FMQ8O
6 | eGx2M32bgl1qvg1e1F1Hc+jKVOfwgCNEJO6lflDepNY0MYlV0pjN1eK24X/2MKyn
7 | knsXtSkWLINHEaT5YAHkGjvE7WPWbkulptLmmOfQsegGJkXpMMHDoYaDUgr3VtLm
8 | zAJgxQ/LAgMBAAECggEBAKOXD98DbpH1Va8rwUQN8mqps5yuFM5MQr8a89cXfwR6
9 | oNRe+meNLulCWNdVnM+UEnH/rLgKGfYRV6QPEqszEXkEVcs+1zzh4olsfFUxhmoH
10 | FEVHC0FtngFYY6VkSBznp06ioLTYiLaEORsZU1w0aP15dnrLfiUZ5xInb+aIeDLd
11 | BcGNyZI6A8Oz+oTIrScILRfRwE/dHwjj85QzVz5ff9EhVjDC6W5+0jfMN6eyOJeS
12 | Ai98AkEsr9QAyNVgmxyPnRXSRBUMBAsX5FyBbvKrrBz7ur7GoBXnX19Na/XNxtuZ
13 | vg5cWH3L2CX7Jp5igmtB/LN4SCZg0e/RnVIOD+K6AYECgYEA8iReRz4aIu/y6xov
14 | GLUY8y5F4yaGsEovhaycYsBf5CL1tnDK2znKdDF1kKKre8cciVk6Wl2d8QczAUEg
15 | uKqyPn8M5099ATbvBUyoRQtTC2sOqIKUC1902Yf1H/TqdJs0gi9Vjgx6nvLFLGrF
16 | 2fN6d1/3OD6oKtq9Akb6M9yskKECgYEA1AQGNG14rPdN+O2WzBoFD7ozzNHBgmUR
17 | 9+YfIuYcFgtM3SIcNnntVtWMa5PJGfu7rl3i0rxRQxQwHuk7nxo5dw9v4Qq+xXKw
18 | gkf0IDZpzWkwpU6QUZcMUPtd2vOyPIUW5mS7e3MAk86TilOSwQhRatakCOFk99mL
19 | qhakn4mczOsCgYAhBRaaLnzP8Nq2dr6fZuq9Fr1PCYzqc2NhnjVBPiyVZrMNKvpu
20 | xMW37Jq0m4o4+eEJVdKgSg3ktW+eJyx4IkbmQNsYm/1W8g/MMDTuHWo4r2OzVQMt
21 | PdooY+LodbSXLCcP7baEBW2fSUncEb9jRlGX/80trVWval7F9bne4qPhoQKBgEpy
22 | w08Dpd1u1eV0YIB5Ho/gPbJNcZr9LKsVFpfln7Up8KqyAKAsfmgAgtd/xJ0oJUZc
23 | V3rSf+KDI0andbUvu0AQnqOyZzzkQhDtfU8WbF6h8mAJz2mnFb8WFWX+LvdLcLgk
24 | ZSU7Q9ejMXHgWOcJqbVPe7hWlWLm9EEcxF/1LadTAoGAeP6sQNj8RfvMFkWeyzmp
25 | aUe6oH4IUCRzq6Nt5I+5RBrkJSm9Oh/ugzBG9EJcP1ZE+wDJqbSr2PaH4rWRLChD
26 | TecwO6qCnKuVxXurey5UwLtf5ddEKWMNmC3vZ3kaSoZMMXXxN//oyP/atYoO3JjT
27 | CVXrwHhNX7/XvncCIskksDM=
28 | -----END PRIVATE KEY-----
29 |
--------------------------------------------------------------------------------
/logstash/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 | services:
3 | logstash-collector-config:
4 | image: rancher/logstash-config:v0.2.0
5 | external_links:
6 | - es-cluster/es-client:elasticsearch
7 | links:
8 | - redis:redis
9 | labels:
10 | io.rancher.container.hostname_override: container_name
11 | logstash-collector:
12 | image: docker.elastic.co/logstash/logstash:6.2.3
13 | stdin_open: true
14 | external_links:
15 | - es-cluster/es-client:elasticsearch
16 | tty: true
17 | links:
18 | - redis:redis
19 | volumes_from:
20 | - logstash-collector-config
21 | command:
22 | - logstash
23 | - -f
24 | - /etc/logstash
25 | labels:
26 | io.rancher.scheduler.affinity:host_label: message_broker=true
27 | io.rancher.sidekicks: logstash-collector-config
28 | io.rancher.container.hostname_override: container_name
29 | logstash-indexer:
30 | image: docker.elastic.co/logstash/logstash:6.2.3
31 | stdin_open: true
32 | external_links:
33 | - es-cluster/es-client:elasticsearch
34 | tty: true
35 | links:
36 | - redis:redis
37 | volumes_from:
38 | - logstash-indexer-config
39 | command:
40 | - logstash
41 | - -f
42 | - /etc/logstash
43 | labels:
44 | io.rancher.scheduler.affinity:host_label: name=After5-LB2
45 | io.rancher.sidekicks: logstash-indexer-config
46 | io.rancher.container.hostname_override: container_name
47 | redis:
48 | image: redis:3.2.6-alpine
49 | stdin_open: true
50 | tty: true
51 | labels:
52 | io.rancher.container.hostname_override: container_name
53 | logstash-indexer-config:
54 | image: rancher/logstash-config:v0.2.0
55 | external_links:
56 | - es-cluster/es-client:elasticsearch
57 | links:
58 | - redis:redis
59 | labels:
60 | io.rancher.container.hostname_override: container_name
61 |
--------------------------------------------------------------------------------
/logstash/rancher-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 | services:
3 | logstash-collector-config:
4 | metadata:
5 | logstash: &id001
6 | inputs: |-
7 | udp {
8 | port => 5000
9 | codec => "plain"
10 | }
11 | outputs: |-
12 | redis {
13 | host => "redis.rancher.internal"
14 | port => "6379"
15 | data_type => "list"
16 | key => "logstash"
17 | }
18 | retain_ip: true
19 | scale: 1
20 | start_on_create: true
21 | logstash-collector:
22 | metadata:
23 | logstash: *id001
24 | retain_ip: true
25 | scale: 1
26 | start_on_create: true
27 | logstash-indexer:
28 | metadata:
29 | logstash: &id002
30 | filters: |-
31 | grok {
32 | match => { "message" => "%{NOTSPACE:time} %{INT:timestamp} %{INT:status_code} %{WORD:method} %{NOTSPACE:host} %{NOTSPACE:client_port} %{IP:client_ip} %{NOTSPACE:Via} %{NOTSPACE:yguid} %{NOTSPACE:query} %{NOTSPACE:byte} %{NOTSPACE:bknd} %{NOTSPACE:bkndq} %{NOTSPACE:srvq} %{NOTSPACE:actconn} %{NOTSPACE:feconn} %{NOTSPACE:beconn} %{NOTSPACE:srvconn} %{NOTSPACE:retr} %{NOTSPACE:Tq} %{NOTSPACE:Tw} %{NOTSPACE:Tc} %{NOTSPACE:Tr} %{NOTSPACE:Tt} %{NOTSPACE:Authorization} %{GREEDYDATA:data}" }
33 | }
34 | date {
35 | match => [ "time", "dd/MMM/yyyy:HH:mm:ss.SSS" ]
36 | }
37 | inputs: |-
38 | redis {
39 | host => "redis.rancher.internal"
40 | port => "6379"
41 | data_type => "list"
42 | key => "logstash"
43 | }
44 | outputs: |-
45 | elasticsearch {
46 | hosts => ["elasticsearch.rancher.internal:9200"]
47 | }
48 | stdout {
49 | codec => rubydebug
50 | }
51 | scale: 1
52 | start_on_create: true
53 | redis:
54 | scale: 1
55 | start_on_create: true
56 | logstash-indexer-config:
57 | metadata:
58 | logstash: *id002
59 | scale: 1
60 | start_on_create: true
61 |
--------------------------------------------------------------------------------
/ch_docker/docker_multi_stage/vue-example/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ msg }}
4 |
5 | For a guide and recipes on how to configure / customize this project,
6 | check out the
7 | vue-cli documentation.
8 |
9 |
Installed CLI Plugins
10 |
14 |
Essential Links
15 |
22 |
Ecosystem
23 |
30 |
31 |
32 |
33 |
41 |
42 |
43 |
59 |
--------------------------------------------------------------------------------
/ssh/key.ppk:
--------------------------------------------------------------------------------
1 | PuTTY-User-Key-File-2: ssh-rsa
2 | Encryption: none
3 | Comment: imported-openssh-key
4 | Public-Lines: 12
5 | AAAAB3NzaC1yc2EAAAADAQABAAACAQC+cAwM5j95YRfZ24eA8cofdbLKPIUx7C2G
6 | WpmoIsumy3LWo6BpiB0mxDTaQm6w9e9peciGf38Uw8M3AXN71qUabkohPkp8M/ze
7 | 0HOXfh1GYxWIk1mlEKdXlvn3rduGTRsaqqBT8jvBKWb8IMXZarLav7SVbxJESeHC
8 | sMTtGvwhTSVFxbyFE7y7bFtf9MQX6S/yVUXAr0PpgfBy9g1P7OeSBE5TJ5XIJ/vQ
9 | GVTQcsh4+GU8btVLP4dcCZU2Nu2kYuLY8Hi1wjIEI0O6aFafb1jRsu0MA1Bur4A0
10 | r8YrozCJRLh7Ez8X+meoWFrqXfeHm551ovDls2Emxn9JVBWpIoLCQ7ZjGzLqhYgh
11 | dp8n4+ypM5adQcMQSMQxKbMv/C+GKKj3muBe3n57t8pocdjomu69IAvmU628QkPt
12 | MRKFfFMd9kFyiPbiTFYf9blyK0s0PGhAN9+e5FFMFdhoW7JutAZbznNwsEsahsoC
13 | Y5eM4DeGMHFC7pXhu+LJJAb9QmFx1PEp1SRwlI4hyI8hS1vFkIxj39L/kR9Gpv1u
14 | bMSujX23E702L3/kz+k0PiflXQ6cvd5trCtGFqMEOVrNyb7goNlhrzk4nT0Df/Vy
15 | FkkWhsbLfWtmCooMU6g7y2w+kgJYEYDrjRdY+z+q3DGQrOzDPPqZJRhYaBYcosTO
16 | YE5XWvzPTQ==
17 | Private-Lines: 28
18 | AAACABOvFS/IJMtxA7wa+tiTJWc3DTHmK4ZLeTEn8DX20sH8yXPyGcSOsySspyHg
19 | N/zGjuaCFf4A86u7yFPJLJyiRRKET9k7zQslfH+zYB9Kg9AgsbsaL+vl2sYs7s1x
20 | BP3Ovnx1InlK0m5WzzREVu7wHmiJ5CqF/odcc59iEhjH70Op665Yj/HZZmqg+pji
21 | fdpS2gfcVIdkFkruiWH4mMuoGw92rnnd35d+uoJ5+9BH7PzEAALNGfLbMCyNOQUP
22 | jGSva+8se+2dkvnmgzujSUDVi4KxUdsqBIhMT54ihQNBrOSjW8Ys6RqbYVd/OnZ7
23 | G/jCVxCltOypK+OMJN/5dvuye31XSDODKOH/D7KIHdI18OOKZjyJrFpCvtX0rylD
24 | x6a+WxTeINhCw5T4nor+r+J/apFluCLIHcbps5YTMs5CsWrM33aXq7pmZj671neE
25 | Mktts2r3khpwvVsKuAzvrpcwSJxYouuZy0r6FhtIKkObMLwChFKeSi28eaiPLEUm
26 | 2dquuRDjFvg/LIrjOgySNCnq9okjUEUR1wJ6pQdwk+/LCBQvs9wx5RC98+lbhRAa
27 | 5LaU4nwSU7HBAJ+qS9MyujbGbrGwz7GctYcVMwHhffgrKVDGD8CGhoXWPdb6Kj5x
28 | 9ROaEiPlurUS3SXpvADHE6/t1ycWPvydIGoUstANsFIsW6QBAAABAQDf3kykEtRA
29 | S06tAQs5I0y6LejVjoCetvV0bQ0dRzJSzEe59KM+NpwSJvFT2a5sUhBShBdK41PS
30 | xnf8b7+eKo0Q1trC/hMuXAjbCN1W7MK2N+Qi/g0OCOmVQDchIWpVUlyXztYXzkgg
31 | xSHkYcUON1kojSYrm0n1gxZJnlvoCtxspM6/Ruf5mQafXE97Y0i3MMF+reSEGhfL
32 | oaGmEp4aPWeLDa6EjL+shUiL70dokmCExF7B+T8Ji97JmmBz+i8SmiBQE/JG/7Dg
33 | EP2xoaGYQxnm0DdZT/NLdslQNUjYKpD3x8pAL12K0weN29tfEcKHhdZjlzY3nSQE
34 | lshvWBEmlUTNAAABAQDZxWOCOJuZ5vnyV/VfdtgUXODedA2yBaX/ADlIicDTczPN
35 | Daev21il4ja/3N4l9Iwj3TLevs4J9ozot5QnLxXV/MpyXWhRuhqnTfhFmXzv+Sil
36 | zyCBj9GuqK609BLZTncKh7jgorxGr8tSyMxgPDgYIP1LwRK5UiFTAg0+QkT3FZKi
37 | E9POGO4fQwCDYI+gbT3It1gxhh2jEVjsDqO5n7njO4OFHFBVU3g6BzMoYUWcTVfS
38 | ZUUUGvnKUcri1CGe+JSbe/PcR+mJXX98KofcPijhyqBb2p9jz+Yfj9KSe26Mnoap
39 | jFhY1YSV/aJxcAO//zGotduqgBseCFq5/7oy+bSBAAABAC49xflPePJkfQKacjIp
40 | CM229fcj1Uv2E7Itr+GINIBkeXVb0pvw9n2ysv380JiwXP1dGrUfLleTsTEd5KWj
41 | wU6HGKtfHxS6WZSRqUTVj/RZ7mWfrmhL9VqCjw+u8qhKtAHE1eJLbYts5nmLY+eN
42 | l9Io4J/irQxcfBMpOCPR8JiM7l5AC4mCPrRFznUDhcFYFuA/WgKxIzXcQXLhYg/w
43 | OiPb+nIfTrWqkZSPZOymHX1phQ7Ivqt0fZJNmWR2ZFH3AysT77vsNhEv8Nvhl+TJ
44 | Qm9RxOo1YCRy9F6Maf5yzk+T49tjgWpm1wMIl+yGcTSQhiilfAJKuwlB9lZsZT9Q
45 | GuA=
46 | Private-MAC: 8412727add9c1d3b2cd9434f69b2c38dbf3b1270
47 |
--------------------------------------------------------------------------------
/ssh/id_rsa:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | 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
51 | -----END RSA PRIVATE KEY-----
52 |
--------------------------------------------------------------------------------