nitor 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -1
- package/README.md +86 -0
- package/docs/AUTOCOMPLETE.md +136 -0
- package/docs/BACKUP.md +343 -0
- package/docs/BUILD.md +120 -0
- package/docs/BUILD_DEPLOY.md +320 -0
- package/docs/CLEANUP.md +285 -0
- package/docs/CREATE_BRANCH.md +173 -0
- package/docs/DEPLOY.md +130 -0
- package/docs/MERGE.md +253 -0
- package/docs/README.md +277 -0
- package/docs/REFACTOR.md +375 -0
- package/docs/REVIEW.md +185 -0
- package/docs/TIME_ENTRY.md +422 -0
- package/index.js +14 -0
- package/package.json +27 -9
- package/services/autocomplete.js +251 -0
- package/services/enums/actions.enum.js +12 -0
- package/services/process-commands.js +196 -27
- package/services/review.js +2 -2
- package/services/time-entry/add-task.js +50 -0
- package/services/time-entry/enums/actions.enum.js +16 -0
- package/services/time-entry/get-gitlab-activities.js +137 -0
- package/services/time-entry/get-report.js +142 -0
- package/services/time-entry/get-zoho-tasks.js +81 -0
- package/services/time-entry/log-task-hours-and-sync.js +81 -0
- package/services/time-entry/update-delete-task.js +85 -0
- package/services/time-entry/utils.js +301 -0
- package/services/utils.js +32 -15
package/CHANGELOG.md
CHANGED
|
@@ -23,4 +23,10 @@ For a complete list of changes and discussion, see [Issue #1](https://github.com
|
|
|
23
23
|
|
|
24
24
|
- Added cleanup command to delete all local branches except master/main.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
## [1.2.1] - 2025-11-19
|
|
27
|
+
|
|
28
|
+
### New Features
|
|
29
|
+
|
|
30
|
+
- Added time entry commands.
|
|
31
|
+
|
|
32
|
+
- [Issue #5](https://github.com/codebynithin/nitor/issues/5)
|
package/README.md
CHANGED
|
@@ -24,6 +24,8 @@ A CLI utility toolkit for automating and managing build, deploy, and status oper
|
|
|
24
24
|
- Backup and restore MongoDB
|
|
25
25
|
- Merge git branches
|
|
26
26
|
- Cleanup local git branches
|
|
27
|
+
- Time entry management with Zoho integration
|
|
28
|
+
- GitLab activity tracking
|
|
27
29
|
|
|
28
30
|
## Requirements
|
|
29
31
|
|
|
@@ -40,6 +42,34 @@ A CLI utility toolkit for automating and managing build, deploy, and status oper
|
|
|
40
42
|
- `AI_MODEL` - AI model
|
|
41
43
|
- `BACKUP_CONFIG` - Backup configuration
|
|
42
44
|
- `RESTORE_CONFIG` - Restore configuration
|
|
45
|
+
- `ZOHO_COOKIE` - Zoho cookie for authentication
|
|
46
|
+
- `ZOHO_CUSTOMVIEW_ID` - Zoho custom view ID
|
|
47
|
+
- `ZOHO_DEFAULt_PROJECT_ID` - Default Zoho project ID
|
|
48
|
+
- `ZOHO_PORTAL_ID` - Zoho portal ID
|
|
49
|
+
- `ZOHO_PROJECTS` - Zoho projects configuration
|
|
50
|
+
- `ZOHO_SESSION_ID` - Zoho session ID
|
|
51
|
+
- `ZOHO_SOURCE` - Zoho source
|
|
52
|
+
- `ZOHO_TEAM` - Zoho team ID
|
|
53
|
+
- `ZOHO_TOKEN` - Zoho CSRF token
|
|
54
|
+
- `ZOHO_URI` - Zoho API URL
|
|
55
|
+
- `ZOHO_USERID` - Zoho user ID
|
|
56
|
+
- `GITLAB_API_URL` - GitLab API URL
|
|
57
|
+
- `GITLAB_PROJECT_ID` - GitLab project ID
|
|
58
|
+
|
|
59
|
+
## Installation
|
|
60
|
+
|
|
61
|
+
After installing the package globally, you can enable autocomplete:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
nitor completion
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This will add autocomplete support to your shell. Restart your terminal or run:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
source ~/.bashrc # for bash
|
|
71
|
+
source ~/.zshrc # for zsh
|
|
72
|
+
```
|
|
43
73
|
|
|
44
74
|
## Usage
|
|
45
75
|
|
|
@@ -49,6 +79,14 @@ You can use the CLI via the `nitor` command:
|
|
|
49
79
|
nitor <command> [options]
|
|
50
80
|
```
|
|
51
81
|
|
|
82
|
+
### Autocomplete
|
|
83
|
+
|
|
84
|
+
Once enabled, you can use Tab to autocomplete:
|
|
85
|
+
|
|
86
|
+
- Commands (build, deploy, cleanup, etc.)
|
|
87
|
+
- Options (-project, -components, etc.)
|
|
88
|
+
- Values (portal, gateway, dev, qa, etc.)
|
|
89
|
+
|
|
52
90
|
### Example Commands
|
|
53
91
|
|
|
54
92
|
- **Build:**
|
|
@@ -91,6 +129,34 @@ nitor <command> [options]
|
|
|
91
129
|
```bash
|
|
92
130
|
nitor cleanup
|
|
93
131
|
```
|
|
132
|
+
- **Time Entry - Initialize:**
|
|
133
|
+
```bash
|
|
134
|
+
nitor time-init
|
|
135
|
+
```
|
|
136
|
+
- **Time Entry - Add:**
|
|
137
|
+
```bash
|
|
138
|
+
nitor time-add -project <project name> -sprint <sprint name> -task <task id> -date <YYYY-MM-DD> -work <work description> -duration <minutes> -remarks <remarks>
|
|
139
|
+
```
|
|
140
|
+
- **Time Entry - Update:**
|
|
141
|
+
```bash
|
|
142
|
+
nitor time-update -id <entry id> -task <task id> -work <work description> -duration <minutes> -remarks <remarks> -date <YYYY-MM-DD>
|
|
143
|
+
```
|
|
144
|
+
- **Time Entry - Delete:**
|
|
145
|
+
```bash
|
|
146
|
+
nitor time-delete -id <entry id> -date <YYYY-MM-DD>
|
|
147
|
+
```
|
|
148
|
+
- **Time Entry - View Entries:**
|
|
149
|
+
```bash
|
|
150
|
+
nitor time-entries -from <YYYY-MM-DD> -to <YYYY-MM-DD>
|
|
151
|
+
```
|
|
152
|
+
- **Time Entry - View Stats:**
|
|
153
|
+
```bash
|
|
154
|
+
nitor time-stats -from <YYYY-MM-DD> -to <YYYY-MM-DD>
|
|
155
|
+
```
|
|
156
|
+
- **Time Entry - Sync to Zoho:**
|
|
157
|
+
```bash
|
|
158
|
+
nitor time-zoho
|
|
159
|
+
```
|
|
94
160
|
|
|
95
161
|
### Command Reference
|
|
96
162
|
|
|
@@ -107,6 +173,13 @@ nitor <command> [options]
|
|
|
107
173
|
- `restore` : Restore specified projects
|
|
108
174
|
- `merge` : Merge source branch into target branch
|
|
109
175
|
- `cleanup` : Cleanup local git branches (checkout to master and delete all other branches)
|
|
176
|
+
- `time-init` : Initialize time entry configuration
|
|
177
|
+
- `time-add` : Add time entry with support for multiple tags
|
|
178
|
+
- `time-update` : Update existing time entry
|
|
179
|
+
- `time-delete` : Delete time entry
|
|
180
|
+
- `time-entries` : View time entries by date range
|
|
181
|
+
- `time-stats` : View daily statistics of time entries
|
|
182
|
+
- `time-zoho` : Sync time entries to Zoho
|
|
110
183
|
|
|
111
184
|
### Options
|
|
112
185
|
|
|
@@ -122,6 +195,19 @@ nitor <command> [options]
|
|
|
122
195
|
- `-source` or `-so` : Source branch name
|
|
123
196
|
- `-target` or `-ta` : Target branch name
|
|
124
197
|
|
|
198
|
+
#### Time Entry Options
|
|
199
|
+
|
|
200
|
+
- `-project` or `-p` : Project name
|
|
201
|
+
- `-sprint` or `-s` : Sprint name (e.g., "sprint 1")
|
|
202
|
+
- `-task` or `-t` : Task ID
|
|
203
|
+
- `-date` or `-dt` : Date in YYYY-MM-DD format
|
|
204
|
+
- `-work` or `-w` : Work description (supports multiple tags)
|
|
205
|
+
- `-duration` or `-du` : Duration in minutes
|
|
206
|
+
- `-remarks` or `-r` : Additional remarks
|
|
207
|
+
- `-id` or `-i` : Entry ID (for update/delete operations)
|
|
208
|
+
- `-from` or `-f` : Start date for filtering
|
|
209
|
+
- `-to` or `-t` : End date for filtering
|
|
210
|
+
|
|
125
211
|
## License
|
|
126
212
|
|
|
127
213
|
ISC
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Autocomplete Setup Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Nitor supports shell autocomplete for commands, options, and values using the `omelette` library.
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
### 1. Install Autocomplete
|
|
10
|
+
|
|
11
|
+
After installing nitor globally, run:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
nitor completion
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 2. Activate Autocomplete
|
|
18
|
+
|
|
19
|
+
Restart your terminal or source your shell configuration:
|
|
20
|
+
|
|
21
|
+
**For Bash:**
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
source ~/.bashrc
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**For Zsh:**
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
source ~/.zshrc
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**For Fish:**
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
source ~/.config/fish/config.fish
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Usage
|
|
40
|
+
|
|
41
|
+
Once autocomplete is enabled, press `Tab` to see suggestions:
|
|
42
|
+
|
|
43
|
+
### Command Completion
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
nitor <Tab>
|
|
47
|
+
# Shows: build, deploy, build-deploy, create-branch, review, refactor, backup, merge, cleanup,
|
|
48
|
+
# time-init, time-switch, time-add, time-update, time-delete, time-stats, time-entries,
|
|
49
|
+
# time-zoho, time-gitlab, time-merge, version, help
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Option Completion
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
nitor build -<Tab>
|
|
56
|
+
# Shows: -project, -p, -components, -c, -instance, -i, -help, --h
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Value Completion
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
nitor build -project <Tab>
|
|
63
|
+
# Shows: portal, gateway, phr, configService, healthRecords, centralAuth, mpi, phrAdminBackend, phrAdminClient, terminologyService
|
|
64
|
+
|
|
65
|
+
nitor build -instance <Tab>
|
|
66
|
+
# Shows: dev, qa, pilot
|
|
67
|
+
|
|
68
|
+
nitor create-branch -type <Tab>
|
|
69
|
+
# Shows: feat, fix
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Supported Completions
|
|
73
|
+
|
|
74
|
+
### Commands
|
|
75
|
+
|
|
76
|
+
- `build`, `deploy`, `build-deploy`
|
|
77
|
+
- `create-branch`, `review`, `refactor`
|
|
78
|
+
- `backup`, `merge`, `cleanup`
|
|
79
|
+
- `time-init`, `time-switch`, `time-add`, `time-update`, `time-delete`
|
|
80
|
+
- `time-stats`, `time-entries`, `time-zoho`, `time-gitlab`, `time-merge`
|
|
81
|
+
- `version`, `help`, `completion`
|
|
82
|
+
|
|
83
|
+
### Options
|
|
84
|
+
|
|
85
|
+
- Project names: `portal`, `gateway`, `phr`, etc.
|
|
86
|
+
- Components: `client`, `administration`, `provider`, `rest-api`
|
|
87
|
+
- Instances: `dev`, `qa`, `pilot`
|
|
88
|
+
- Branch types: `feat`, `fix`
|
|
89
|
+
- Repository names: `portalClient`, `portalBackend`, etc.
|
|
90
|
+
|
|
91
|
+
## Troubleshooting
|
|
92
|
+
|
|
93
|
+
### Autocomplete Not Working
|
|
94
|
+
|
|
95
|
+
1. **Verify installation:**
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
nitor completion
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
2. **Check shell configuration:**
|
|
102
|
+
|
|
103
|
+
- Bash: `~/.bashrc`
|
|
104
|
+
- Zsh: `~/.zshrc`
|
|
105
|
+
- Fish: `~/.config/fish/config.fish`
|
|
106
|
+
|
|
107
|
+
3. **Reload shell:**
|
|
108
|
+
```bash
|
|
109
|
+
exec $SHELL
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Manual Setup
|
|
113
|
+
|
|
114
|
+
If automatic setup doesn't work, add this to your shell configuration:
|
|
115
|
+
|
|
116
|
+
**Bash (~/.bashrc):**
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# nitor autocomplete
|
|
120
|
+
if type nitor > /dev/null 2>&1; then
|
|
121
|
+
eval "$(nitor --completion)"
|
|
122
|
+
fi
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Zsh (~/.zshrc):**
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# nitor autocomplete
|
|
129
|
+
if type nitor > /dev/null 2>&1; then
|
|
130
|
+
eval "$(nitor --completion)"
|
|
131
|
+
fi
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Uninstall Autocomplete
|
|
135
|
+
|
|
136
|
+
To remove autocomplete, edit your shell configuration file and remove the nitor completion lines, then reload your shell.
|
package/docs/BACKUP.md
ADDED
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
# Backup Command Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The `backup` command creates MongoDB database backups for specified projects and components, ensuring data safety and recovery options.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
### Basic Syntax
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
nitor backup -project <project name> -components <component name>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Short Form
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
nitor backup -p <project name> -c <component name>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Options
|
|
22
|
+
|
|
23
|
+
| Option | Short | Description | Required |
|
|
24
|
+
| -------------- | ------- | -------------- | -------- |
|
|
25
|
+
| `--project` | `-p` | Project name | Yes |
|
|
26
|
+
| `--components` | `-c` | Component name | Optional |
|
|
27
|
+
| `--help` | `-help` | Show help | - |
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### Backup Config Service
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
nitor backup -p configService
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Backup Medica Central Auth
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
nitor backup -project medicaCentralAuth
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Backup Medica Portal
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
nitor backup -p medicaPortal
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Backup PHR System
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
nitor backup -project phr
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Supported Projects
|
|
56
|
+
|
|
57
|
+
- **configService** - Configuration service database
|
|
58
|
+
- **medicaCentralAuth** - Medica central authentication database
|
|
59
|
+
- **medicaPortal** - Medica portal database
|
|
60
|
+
- **phr** - Personal Health Records database
|
|
61
|
+
|
|
62
|
+
## Backup Process
|
|
63
|
+
|
|
64
|
+
The backup command will:
|
|
65
|
+
|
|
66
|
+
1. **Connect to MongoDB**
|
|
67
|
+
|
|
68
|
+
- Establishes connection to database server
|
|
69
|
+
- Authenticates with credentials
|
|
70
|
+
|
|
71
|
+
2. **Identify Databases**
|
|
72
|
+
|
|
73
|
+
- Determines which databases to backup
|
|
74
|
+
- Based on project and component parameters
|
|
75
|
+
|
|
76
|
+
3. **Create Backup**
|
|
77
|
+
|
|
78
|
+
- Exports database collections
|
|
79
|
+
- Preserves data structure and relationships
|
|
80
|
+
|
|
81
|
+
4. **Store Backup**
|
|
82
|
+
|
|
83
|
+
- Saves backup to designated location
|
|
84
|
+
- Includes timestamp in filename
|
|
85
|
+
|
|
86
|
+
5. **Verify Backup**
|
|
87
|
+
- Confirms backup completion
|
|
88
|
+
- Reports backup status
|
|
89
|
+
|
|
90
|
+
## Backup Location
|
|
91
|
+
|
|
92
|
+
Backups are typically stored in:
|
|
93
|
+
|
|
94
|
+
- Project-specific backup directory
|
|
95
|
+
- Timestamped folders for version control
|
|
96
|
+
- Compressed format for space efficiency
|
|
97
|
+
|
|
98
|
+
## Backup Naming Convention
|
|
99
|
+
|
|
100
|
+
Backups follow this pattern:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
<project>_<component>_<timestamp>.backup
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Examples:**
|
|
107
|
+
|
|
108
|
+
- `configService_20241115_171030.backup`
|
|
109
|
+
- `medicaPortal_20241115_171030.backup`
|
|
110
|
+
- `phr_20241115_171030.backup`
|
|
111
|
+
|
|
112
|
+
## When to Backup
|
|
113
|
+
|
|
114
|
+
### Regular Backups
|
|
115
|
+
|
|
116
|
+
- **Daily** - For production databases
|
|
117
|
+
- **Before Deployments** - Prior to major changes
|
|
118
|
+
- **Before Migrations** - Before schema updates
|
|
119
|
+
- **Weekly** - For development databases
|
|
120
|
+
|
|
121
|
+
### Critical Moments
|
|
122
|
+
|
|
123
|
+
- Before major feature releases
|
|
124
|
+
- Before data migrations
|
|
125
|
+
- Before system upgrades
|
|
126
|
+
- After significant data changes
|
|
127
|
+
|
|
128
|
+
## Best Practices
|
|
129
|
+
|
|
130
|
+
### Backup Strategy
|
|
131
|
+
|
|
132
|
+
1. **Schedule Regular Backups**
|
|
133
|
+
|
|
134
|
+
- Automate daily backups
|
|
135
|
+
- Use cron jobs or schedulers
|
|
136
|
+
|
|
137
|
+
2. **Test Backups**
|
|
138
|
+
|
|
139
|
+
- Regularly verify backup integrity
|
|
140
|
+
- Practice restoration procedures
|
|
141
|
+
|
|
142
|
+
3. **Multiple Locations**
|
|
143
|
+
|
|
144
|
+
- Store backups in multiple locations
|
|
145
|
+
- Use cloud storage for redundancy
|
|
146
|
+
|
|
147
|
+
4. **Retention Policy**
|
|
148
|
+
- Keep daily backups for 7 days
|
|
149
|
+
- Keep weekly backups for 1 month
|
|
150
|
+
- Keep monthly backups for 1 year
|
|
151
|
+
|
|
152
|
+
### Security
|
|
153
|
+
|
|
154
|
+
1. **Encrypt Backups**
|
|
155
|
+
|
|
156
|
+
- Use encryption for sensitive data
|
|
157
|
+
- Secure backup storage locations
|
|
158
|
+
|
|
159
|
+
2. **Access Control**
|
|
160
|
+
|
|
161
|
+
- Limit backup access to authorized users
|
|
162
|
+
- Use strong authentication
|
|
163
|
+
|
|
164
|
+
3. **Audit Trail**
|
|
165
|
+
- Log backup operations
|
|
166
|
+
- Track who created backups
|
|
167
|
+
|
|
168
|
+
## Restoration
|
|
169
|
+
|
|
170
|
+
To restore from a backup:
|
|
171
|
+
|
|
172
|
+
1. **Locate Backup File**
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
ls -la /path/to/backups/
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
2. **Verify Backup Integrity**
|
|
179
|
+
|
|
180
|
+
- Check file size
|
|
181
|
+
- Verify timestamp
|
|
182
|
+
|
|
183
|
+
3. **Restore Database**
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
mongorestore --archive=<backup-file>
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
4. **Verify Restoration**
|
|
190
|
+
- Check data integrity
|
|
191
|
+
- Test application functionality
|
|
192
|
+
|
|
193
|
+
## Troubleshooting
|
|
194
|
+
|
|
195
|
+
### Backup Fails to Start
|
|
196
|
+
|
|
197
|
+
1. **Check MongoDB Connection:**
|
|
198
|
+
|
|
199
|
+
- Verify MongoDB is running
|
|
200
|
+
- Test connection credentials
|
|
201
|
+
- Check network connectivity
|
|
202
|
+
|
|
203
|
+
2. **Verify Permissions:**
|
|
204
|
+
|
|
205
|
+
- Ensure user has backup privileges
|
|
206
|
+
- Check file system permissions
|
|
207
|
+
|
|
208
|
+
3. **Check Disk Space:**
|
|
209
|
+
```bash
|
|
210
|
+
df -h
|
|
211
|
+
```
|
|
212
|
+
- Ensure sufficient space for backup
|
|
213
|
+
|
|
214
|
+
### Incomplete Backup
|
|
215
|
+
|
|
216
|
+
If backup completes but seems incomplete:
|
|
217
|
+
|
|
218
|
+
1. **Check Logs:**
|
|
219
|
+
|
|
220
|
+
- Review backup logs for errors
|
|
221
|
+
- Look for timeout issues
|
|
222
|
+
|
|
223
|
+
2. **Verify Collections:**
|
|
224
|
+
|
|
225
|
+
- List all collections
|
|
226
|
+
- Compare with backup contents
|
|
227
|
+
|
|
228
|
+
3. **Retry Backup:**
|
|
229
|
+
- Run backup again
|
|
230
|
+
- Use verbose mode for details
|
|
231
|
+
|
|
232
|
+
### Connection Errors
|
|
233
|
+
|
|
234
|
+
If you encounter connection errors:
|
|
235
|
+
|
|
236
|
+
1. **Verify MongoDB Status:**
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
systemctl status mongod
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
2. **Check Credentials:**
|
|
243
|
+
|
|
244
|
+
- Verify username and password
|
|
245
|
+
- Ensure user has proper roles
|
|
246
|
+
|
|
247
|
+
3. **Test Connection:**
|
|
248
|
+
```bash
|
|
249
|
+
mongo --host <host> --port <port>
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Configuration
|
|
253
|
+
|
|
254
|
+
The backup command requires:
|
|
255
|
+
|
|
256
|
+
1. **MongoDB Connection Details:**
|
|
257
|
+
|
|
258
|
+
- Host and port
|
|
259
|
+
- Database name
|
|
260
|
+
- Authentication credentials
|
|
261
|
+
|
|
262
|
+
2. **Backup Storage:**
|
|
263
|
+
|
|
264
|
+
- Backup directory path
|
|
265
|
+
- Sufficient disk space
|
|
266
|
+
- Write permissions
|
|
267
|
+
|
|
268
|
+
3. **Environment Variables:**
|
|
269
|
+
- MongoDB connection string
|
|
270
|
+
- Backup configuration
|
|
271
|
+
|
|
272
|
+
## Automation
|
|
273
|
+
|
|
274
|
+
### Cron Job Example
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# Daily backup at 2 AM
|
|
278
|
+
0 2 * * * nitor backup -p configService
|
|
279
|
+
|
|
280
|
+
# Weekly backup on Sunday at 3 AM
|
|
281
|
+
0 3 * * 0 nitor backup -p medicaPortal
|
|
282
|
+
|
|
283
|
+
# Monthly backup on 1st at 4 AM
|
|
284
|
+
0 4 1 * * nitor backup -p phr
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Backup Script
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
#!/bin/bash
|
|
291
|
+
# Backup all projects
|
|
292
|
+
|
|
293
|
+
projects=("configService" "medicaCentralAuth" "medicaPortal" "phr")
|
|
294
|
+
|
|
295
|
+
for project in "${projects[@]}"; do
|
|
296
|
+
echo "Backing up $project..."
|
|
297
|
+
nitor backup -p "$project"
|
|
298
|
+
done
|
|
299
|
+
|
|
300
|
+
echo "All backups completed!"
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Monitoring
|
|
304
|
+
|
|
305
|
+
### Backup Verification
|
|
306
|
+
|
|
307
|
+
1. **Check Backup Size:**
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
ls -lh /path/to/backups/
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
2. **Verify Timestamp:**
|
|
314
|
+
|
|
315
|
+
- Ensure backup is recent
|
|
316
|
+
- Check for stale backups
|
|
317
|
+
|
|
318
|
+
3. **Test Restoration:**
|
|
319
|
+
- Periodically test restore process
|
|
320
|
+
- Verify data integrity
|
|
321
|
+
|
|
322
|
+
### Alerts
|
|
323
|
+
|
|
324
|
+
Set up alerts for:
|
|
325
|
+
|
|
326
|
+
- Backup failures
|
|
327
|
+
- Disk space issues
|
|
328
|
+
- Connection problems
|
|
329
|
+
- Unusual backup sizes
|
|
330
|
+
|
|
331
|
+
## Getting Help
|
|
332
|
+
|
|
333
|
+
To see all available options:
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
nitor backup -help
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
## Related Commands
|
|
340
|
+
|
|
341
|
+
- `nitor build` - Build before backing up
|
|
342
|
+
- `nitor deploy` - Deploy after backup verification
|
|
343
|
+
- MongoDB tools for manual backup/restore
|