Skip to content

Commit bda80c4

Browse files
authored
Merge pull request #100 from abolfazl8131/jcasc
add Jcasc
2 parents 20a9453 + da7aa07 commit bda80c4

22 files changed

Lines changed: 634 additions & 4 deletions

File tree

Lines changed: 160 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,160 @@
1-
Hello! How can I assist you today?
1+
import os
2+
3+
project_name = "app/media/MyAnsible"
4+
roles_dir = os.path.join(project_name, "roles")
5+
nginx_dir = os.path.join(roles_dir, "nginx")
6+
tasks_dir = os.path.join(nginx_dir, "tasks")
7+
handlers_dir = os.path.join(nginx_dir, "handlers")
8+
var_dir = os.path.join(nginx_dir, "var")
9+
meta_dir = os.path.join(nginx_dir, "meta")
10+
11+
# Create project directories
12+
os.makedirs(nginx_dir, exist_ok=True)
13+
os.makedirs(tasks_dir, exist_ok=True)
14+
os.makedirs(handlers_dir, exist_ok=True)
15+
os.makedirs(var_dir, exist_ok=True)
16+
os.makedirs(meta_dir, exist_ok=True)
17+
18+
# Create install_nginx.yaml
19+
with open(os.path.join(project_name, "install_nginx.yaml"), "w") as main_file:
20+
main_file.write('''---
21+
- name: install nginx service
22+
hosts:
23+
- dest
24+
roles:
25+
- nginx
26+
''')
27+
28+
# Create handlers/main.yaml
29+
with open(os.path.join(handlers_dir, "main.yaml"), "w") as handlers_file:
30+
handlers_file.write('''---
31+
- name: restart nginx
32+
service:
33+
name: "{ service }"
34+
state: restarted
35+
36+
- name: restart firewall
37+
service:
38+
name: firewalld
39+
state: restarted
40+
''')
41+
42+
# Create tasks/main.yaml
43+
with open(os.path.join(tasks_dir, "main.yaml"), "w") as tasks_file:
44+
tasks_file.write('''---
45+
# tasks file for nginx
46+
- name: download page
47+
include: download_webpage.yml
48+
49+
- name: unzip
50+
include: unzip.yml
51+
52+
- name: install service
53+
include: install_service.yml
54+
55+
- name: open website port https
56+
firewalld:
57+
service: https
58+
permanent: yes
59+
state: enabled
60+
notify:
61+
- restart firewall
62+
63+
- name: open website port http
64+
firewalld:
65+
zone: public
66+
service: http
67+
permanent: yes
68+
state: enabled
69+
notify:
70+
- restart firewall
71+
72+
- name: webpage
73+
include: copy_files.yml
74+
''')
75+
76+
# Create tasks/unzip.yaml
77+
with open(os.path.join(tasks_dir, "unzip.yaml"), "w") as unzip_file:
78+
unzip_file.write('''---
79+
- name: unarchive zip file
80+
ansible.builtin.unarchive:
81+
src: /home/ansible/ninom.zip
82+
dest: /home/ansible
83+
remote_src: yes
84+
register: unzip
85+
86+
- debug:
87+
var: unzip
88+
''')
89+
90+
# Create tasks/download_webpage.yaml
91+
with open(os.path.join(tasks_dir, "download_webpage.yaml"), "w") as download_file:
92+
download_file.write('''---
93+
- name: download webpage
94+
ansible.builtin.get_url:
95+
url: "{ url_path }"
96+
dest: /home/ansible
97+
timeout: 20
98+
validate_certs: no
99+
register: download
100+
ignore_errors: True
101+
102+
- debug:
103+
var: download
104+
''')
105+
106+
# Create tasks/install_service.yaml
107+
with open(os.path.join(tasks_dir, "install_service.yaml"), "w") as install_file:
108+
install_file.write('''---
109+
- name: install { service }
110+
register: install
111+
ansible.builtin.package:
112+
name: "{ item }"
113+
state: latest
114+
loop:
115+
- "{ service }"
116+
117+
- debug:
118+
var: install
119+
''')
120+
121+
# Create tasks/copy_files.yaml
122+
with open(os.path.join(tasks_dir, "copy_files.yaml"), "w") as copy_file:
123+
copy_file.write('''---
124+
- name: delete before context
125+
shell: "rm -rf /usr/share/nginx/html/*"
126+
register: delete
127+
128+
- debug:
129+
var: delete
130+
131+
- name: copy html file on the html main dir
132+
register: copy_file
133+
copy:
134+
src: /home/ansible/ninom-html/
135+
dest: /usr/share/nginx/html/
136+
remote_src: yes
137+
directory_mode: yes
138+
notify:
139+
- restart nginx
140+
141+
- debug:
142+
var: copy_file
143+
''')
144+
145+
# Create var/main.yaml
146+
with open(os.path.join(var_dir, "main.yaml"), "w") as var_file:
147+
var_file.write('''---
148+
# vars file for nginx
149+
#url_path : https://www.free-css.com/assets/files/free-css-templates/download/page261/avalon.zip
150+
url_path : https://www.free-css.com/assets/files/free-css-templates/download/page283/ninom.zip
151+
service: nginx
152+
''')
153+
154+
# Create meta/main.yaml
155+
with open(os.path.join(meta_dir, "main.yaml"), "w") as meta_file:
156+
meta_file.write('''---
157+
allow_duplicates: yes
158+
dependencies:
159+
- { role: pre-install }
160+
''')

app/main.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from app.routes.utils import *
22
from app.routes.terraform import *
33
from app.routes.helm import *
4-
from app.routes.ansible import *
4+
from app.routes.ansible import *
5+
from app.routes.jcasc import *
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
- name: install nginx service
3+
hosts:
4+
- dest
5+
roles:
6+
- nginx
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
- name: restart nginx
3+
service:
4+
name: "{ service }"
5+
state: restarted
6+
7+
- name: restart firewall
8+
service:
9+
name: firewalld
10+
state: restarted
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
allow_duplicates: yes
3+
dependencies:
4+
- { role: pre-install }
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
- name: delete before context
3+
shell: "rm -rf /usr/share/nginx/html/*"
4+
register: delete
5+
6+
- debug:
7+
var: delete
8+
9+
- name: copy html file on the html main dir
10+
register: copy_file
11+
copy:
12+
src: /home/ansible/ninom-html/
13+
dest: /usr/share/nginx/html/
14+
remote_src: yes
15+
directory_mode: yes
16+
notify:
17+
- restart nginx
18+
19+
- debug:
20+
var: copy_file
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
- name: download webpage
3+
ansible.builtin.get_url:
4+
url: "{ url_path }"
5+
dest: /home/ansible
6+
timeout: 20
7+
validate_certs: no
8+
register: download
9+
ignore_errors: True
10+
11+
- debug:
12+
var: download
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
- name: install { service }
3+
register: install
4+
ansible.builtin.package:
5+
name: "{ item }"
6+
state: latest
7+
loop:
8+
- "{ service }"
9+
10+
- debug:
11+
var: install
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
# tasks file for nginx
3+
- name: download page
4+
include: download_webpage.yml
5+
6+
- name: unzip
7+
include: unzip.yml
8+
9+
- name: install service
10+
include: install_service.yml
11+
12+
- name: open website port https
13+
firewalld:
14+
service: https
15+
permanent: yes
16+
state: enabled
17+
notify:
18+
- restart firewall
19+
20+
- name: open website port http
21+
firewalld:
22+
zone: public
23+
service: http
24+
permanent: yes
25+
state: enabled
26+
notify:
27+
- restart firewall
28+
29+
- name: webpage
30+
include: copy_files.yml
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
- name: unarchive zip file
3+
ansible.builtin.unarchive:
4+
src: /home/ansible/ninom.zip
5+
dest: /home/ansible
6+
remote_src: yes
7+
register: unzip
8+
9+
- debug:
10+
var: unzip

0 commit comments

Comments
 (0)