-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommands.sh
More file actions
126 lines (106 loc) · 5.91 KB
/
commands.sh
File metadata and controls
126 lines (106 loc) · 5.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#!/bin/bash
# Commands executed during the lab
# ========================================================================
# Environment Setup / Install Required Tools
# ========================================================================
sudo apt update
sudo apt install -y python3 python3-pip python3-venv git
mkdir -p ~/finance-approval-lab
cd ~/finance-approval-lab
python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install pyyaml gitpython
# ========================================================================
# Task 1: Implement Approval Workflow System / Step 1: Create Project Structure
# ========================================================================
mkdir -p approval-system/{workflows,logs,config,data}
cd approval-system
git init
git config user.name "Lab User"
git config user.email "user@lab.local"
# ========================================================================
# Task 1: Implement Approval Workflow System / Step 2: Create Approval Configuration / Run:
# ========================================================================
nano config/approval_rules.yaml
# ========================================================================
# Task 1: Implement Approval Workflow System / Step 3: Implement Approval Workflow Engine / Run:
# ========================================================================
nano workflows/approval_engine.py
# ========================================================================
# Task 1: Implement Approval Workflow System / Step 3: Implement Approval Workflow Engine / Make it executable:
# ========================================================================
chmod +x workflows/approval_engine.py
# ========================================================================
# Task 1: Implement Approval Workflow System / Step 4: Create Approval CLI Tool / Run:
# ========================================================================
nano workflows/approval_cli.py
# ========================================================================
# Task 1: Implement Approval Workflow System / Step 4: Create Approval CLI Tool / Make it executable:
# ========================================================================
chmod +x workflows/approval_cli.py
# ========================================================================
# Task 2: Implement Audit Logging System / Step 1: Create Audit Logger / Run:
# ========================================================================
nano workflows/audit_logger.py
# ========================================================================
# Task 2: Implement Audit Logging System / Step 1: Create Audit Logger / Make it executable:
# ========================================================================
chmod +x workflows/audit_logger.py
# ========================================================================
# Task 2: Implement Audit Logging System / Step 2: Create Audit Query Tool / Run:
# ========================================================================
nano workflows/audit_query.py
# ========================================================================
# Task 2: Implement Audit Logging System / Step 2: Create Audit Query Tool / Make it executable:
# ========================================================================
chmod +x workflows/audit_query.py
# ========================================================================
# Task 2: Implement Audit Logging System / Step 4: Create Sample Test Data / Run:
# ========================================================================
nano test_approval_flow.sh
# ========================================================================
# Task 2: Implement Audit Logging System / Step 4: Create Sample Test Data / Make it executable:
# ========================================================================
chmod +x test_approval_flow.sh
# ========================================================================
# Task 2: Implement Audit Logging System / Step 4: Create Sample Test Data / Run the test flow:
# ========================================================================
./test_approval_flow.sh
# ========================================================================
# Verification / Verify Approval Workflow
# ========================================================================
cd ~/finance-approval-lab/approval-system
source ~/finance-approval-lab/venv/bin/activate
python3 workflows/approval_cli.py request \
--amount 2000 \
--requester test_user \
--description "Test deployment"
python3 workflows/approval_cli.py status --request-id REQ004
# ========================================================================
# Verification / Verify Audit Logging
# ========================================================================
ls -la logs/
python3 workflows/audit_query.py --days 1
for file in logs/audit_*.log; do
echo "Validating ${file}"
python3 -m json.tool "${file}"
done
python3 workflows/audit_query.py --report --days 7
# ========================================================================
# Troubleshooting Tips / Issue: YAML configuration not loading
# ========================================================================
python3 -c "import yaml; yaml.safe_load(open('config/approval_rules.yaml'))"
# ========================================================================
# Troubleshooting Tips / Issue: Audit logs not writing
# ========================================================================
df -h
# ========================================================================
# Troubleshooting Tips / Issue: Approval state not persisting
# ========================================================================
python3 -m json.tool data/approval_requests.json
# ========================================================================
# Troubleshooting Tips / Issue: Git repository issues
# ========================================================================
git init
git config --list