Skip to content

Commit 83713ea

Browse files
authored
Merge pull request #285 from finos/feat/provider-extension-points
feat(providers): extension points, orthogonal filter flags, and provider-agnostic resilience
2 parents e372ac0 + fc16c95 commit 83713ea

117 files changed

Lines changed: 4622 additions & 1082 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/root/api/multi-provider-api.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -754,24 +754,24 @@ Fields by Source:
754754
#### Validate Templates
755755
```bash
756756
# Validate template against provider
757-
orb templates validate web-server --provider aws-us-east-1
757+
orb templates validate web-server --provider-name aws-us-east-1
758758

759759
# Validate with strict mode
760-
orb templates validate web-server --provider aws-us-east-1 --strict
760+
orb templates validate web-server --provider-name aws-us-east-1 --strict
761761

762762
# Validate against multiple providers
763763
orb templates validate web-server --providers aws-us-east-1,aws-us-west-2
764764

765765
# Validate all templates
766-
orb templates validate --all --provider aws-us-east-1
766+
orb templates validate --all --provider-name aws-us-east-1
767767
```
768768

769769
### Request Management
770770

771771
#### Create Requests with Provider Selection
772772
```bash
773773
# Create request with explicit provider
774-
orb requests create --template web-server --count 5 --provider aws-us-east-1
774+
orb requests create --template web-server --count 5 --provider-name aws-us-east-1
775775

776776
# Create request with provider type (load balanced)
777777
orb requests create --template web-server --count 5 --provider-type aws

docs/root/architecture/multi-provider-design.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ orb templates list --provider-name aws-us-east-1
347347
orb templates show web-server --source-info
348348

349349
# Validate template against provider
350-
orb templates validate web-server --provider aws-us-east-1
350+
orb templates validate web-server --provider-name aws-us-east-1
351351
```
352352

353353
## Error Handling and Validation
@@ -429,7 +429,7 @@ orb templates validate web-server --provider aws-us-east-1
429429
orb templates migrate --from templates.json --to-provider aws-us-east-1
430430

431431
# Validate migrated templates
432-
orb templates validate --all --provider aws-us-east-1
432+
orb templates validate --all --provider-name aws-us-east-1
433433
```
434434

435435
## Best Practices

docs/root/cli/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Complete documentation for the Open Resource Broker command-line interface.
55
## Quick Reference
66

77
- **[CLI Reference](cli-reference.md)** - Complete command and flag reference
8-
- **[Provider Override](provider-override.md)** - Using `--provider` flag functionality
8+
- **[Provider Override](provider-override.md)** - Using `--provider-name` flag functionality
99
- **[Multi-Provider Templates](multi-provider-templates.md)** - Multi-provider template generation
1010

1111
## Detailed Guides
@@ -17,7 +17,7 @@ Complete documentation for the Open Resource Broker command-line interface.
1717

1818
### Global Overrides
1919
- **`--scheduler`** - Override scheduler strategy for any command
20-
- **`--provider`** - Override provider instance for any command
20+
- **`--provider-name`** - Override provider instance for any command
2121
- **`--format`** - Control output format (json, yaml, table, list)
2222

2323
### Argument Patterns
@@ -27,14 +27,14 @@ Complete documentation for the Open Resource Broker command-line interface.
2727

2828
### Multi-Provider Support
2929
- **Default Generation** - `orb templates generate` (all active providers)
30-
- **Specific Provider** - `orb templates generate --provider aws-prod`
30+
- **Specific Provider** - `orb templates generate --provider-name aws-prod`
3131
- **Specific API** - `orb templates generate --provider-api EC2Fleet`
3232

3333
## Common Commands
3434

3535
### Setup and Configuration
3636
```bash
37-
orb init --scheduler hostfactory --provider aws --region us-east-1
37+
orb init --scheduler hostfactory --provider-type aws --region us-east-1
3838
orb config show --format yaml
3939
orb system health --detailed
4040
```
@@ -56,8 +56,8 @@ orb requests status req-123
5656
### Provider Operations
5757
```bash
5858
orb providers list --detailed --format table
59-
orb --provider aws-prod providers health
60-
orb --provider aws-dev templates generate
59+
orb --provider-name aws-prod providers health
60+
orb --provider-name aws-dev templates generate
6161
```
6262

6363
## Getting Started
@@ -92,12 +92,12 @@ orb --provider aws-dev templates generate
9292
### Environment-Specific Operations
9393
```bash
9494
# Development
95-
orb --provider aws-dev templates generate --provider-api SpotFleet
96-
orb --provider aws-dev machines request spot-template 5
95+
orb --provider-name aws-dev templates generate --provider-api SpotFleet
96+
orb --provider-name aws-dev machines request spot-template 5
9797

9898
# Production
99-
orb --provider aws-prod templates generate --provider-api EC2Fleet
100-
orb --provider aws-prod machines request prod-template 10
99+
orb --provider-name aws-prod templates generate --provider-api EC2Fleet
100+
orb --provider-name aws-prod machines request prod-template 10
101101
```
102102

103103
### Scheduler Comparison

docs/root/cli/cli-reference.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Available for all commands:
2424
| `--region` | AWS region override | `--region us-west-2` |
2525
| `--profile` | AWS profile override | `--profile production` |
2626
| `--scheduler` | Override scheduler strategy (`default`, `hostfactory`, `hf`) | `--scheduler hostfactory` |
27-
| `--provider` | Override provider instance | `--provider aws_prod_us-east-1` |
27+
| `--provider-name` | Override provider instance by name | `--provider-name aws_prod_us-east-1` |
2828
| `--completion` | Generate shell completion script (`bash`, `zsh`) | `--completion bash` |
2929
| `--version` | Show version and exit | `--version` |
3030

@@ -226,7 +226,7 @@ orb templates generate [OPTIONS]
226226
**Options:**
227227
| Flag | Description | Example |
228228
|------|-------------|---------|
229-
| `--provider` | Generate for specific provider instance | `--provider aws_prod_us-east-1` |
229+
| `--provider-name` | Generate for specific provider instance | `--provider-name aws_prod_us-east-1` |
230230
| `--all-providers` | Explicitly generate for all active providers | `--all-providers` |
231231
| `--provider-api` | Specific provider API | `--provider-api EC2Fleet` |
232232

@@ -236,7 +236,7 @@ orb templates generate [OPTIONS]
236236
orb templates generate
237237

238238
# Generate for specific provider
239-
orb templates generate --provider aws_prod_us-east-1
239+
orb templates generate --provider-name aws_prod_us-east-1
240240

241241
# Generate for specific API
242242
orb templates generate --provider-api SpotFleet
@@ -768,7 +768,7 @@ orb providers show [OPTIONS]
768768
| Flag | Description | Example |
769769
|------|-------------|---------|
770770
| `--format` | Output format | `--format yaml` |
771-
| `--provider` | Show specific provider details | `--provider aws_prod_us-east-1` |
771+
| `--provider-name` | Show specific provider details | `--provider-name aws_prod_us-east-1` |
772772

773773
#### `providers health`
774774

@@ -783,7 +783,7 @@ orb providers health [OPTIONS]
783783
| Flag | Description | Example |
784784
|------|-------------|---------|
785785
| `--format` | Output format | `--format table` |
786-
| `--provider` | Check specific provider health | `--provider aws_prod_us-east-1` |
786+
| `--provider-name` | Check specific provider health | `--provider-name aws_prod_us-east-1` |
787787

788788
#### `providers add`
789789

@@ -923,7 +923,7 @@ orb providers exec OPERATION [OPTIONS]
923923
**Options:**
924924
| Flag | Description | Example |
925925
|------|-------------|---------|
926-
| `--provider` | Provider to execute operation on | `--provider aws_prod_us-east-1` |
926+
| `--provider-name` | Provider to execute operation on | `--provider-name aws_prod_us-east-1` |
927927
| `--params` | Operation parameters (JSON format) | `--params '{"count":5}'` |
928928
929929
#### `providers metrics`
@@ -939,7 +939,7 @@ orb providers metrics [OPTIONS]
939939
| Flag | Description | Example |
940940
|------|-------------|---------|
941941
| `--format` | Output format | `--format table` |
942-
| `--provider` | Show metrics for specific provider | `--provider aws_prod_us-east-1` |
942+
| `--provider-name` | Show metrics for specific provider | `--provider-name aws_prod_us-east-1` |
943943
944944
### Storage
945945
@@ -1235,7 +1235,7 @@ orb init [OPTIONS]
12351235
| `--non-interactive` | Non-interactive mode | `--non-interactive` |
12361236
| `--force` | Force overwrite existing config | `--force` |
12371237
| `--scheduler` | Scheduler type | `--scheduler hostfactory` |
1238-
| `--provider` | Provider type | `--provider aws` |
1238+
| `--provider-type` | Provider type | `--provider-type aws` |
12391239
| `--region` | AWS region | `--region us-west-2` |
12401240
| `--profile` | AWS profile | `--profile production` |
12411241
| `--config-dir` | Custom configuration directory | `--config-dir /custom/config` |
@@ -1250,7 +1250,7 @@ orb init [OPTIONS]
12501250
**Examples:**
12511251
```bash
12521252
# Interactive init (discovers infrastructure from AWS)
1253-
orb init --scheduler hostfactory --provider aws --region us-east-1
1253+
orb init --scheduler hostfactory --provider-type aws --region us-east-1
12541254
12551255
# Non-interactive init with pre-known infrastructure values
12561256
orb init --non-interactive --region us-east-1 \
@@ -1323,17 +1323,17 @@ orb --scheduler hf requests status req-123
13231323
13241324
### Provider Override
13251325
1326-
Use `--provider` to override the selected provider instance for any command:
1326+
Use `--provider-name` to override the selected provider instance for any command:
13271327
13281328
```bash
13291329
# Use specific provider instance
1330-
orb --provider aws_prod_us-east-1 templates list
1330+
orb --provider-name aws_prod_us-east-1 templates list
13311331
13321332
# Override for machine requests
1333-
orb --provider aws_dev_us-east-1 machines request template-id 3
1333+
orb --provider-name aws_dev_us-east-1 machines request template-id 3
13341334
13351335
# Combined with scheduler override
1336-
orb --scheduler hostfactory --provider aws_prod_us-east-1 requests status req-123
1336+
orb --scheduler hostfactory --provider-name aws_prod_us-east-1 requests status req-123
13371337
```
13381338
13391339
**Provider Instance Names:**
@@ -1358,7 +1358,7 @@ orb templates generate
13581358
### Provider-Specific Generation
13591359
```bash
13601360
# Generate for specific provider instance
1361-
orb templates generate --provider aws_prod_us-east-1
1361+
orb templates generate --provider-name aws_prod_us-east-1
13621362
13631363
# Generate for specific provider API
13641364
orb templates generate --provider-api EC2Fleet
@@ -1450,7 +1450,7 @@ orb --completion zsh > ~/.zsh/completions/_orb
14501450
### Basic Workflow
14511451
```bash
14521452
# Initialize configuration
1453-
orb init --scheduler hostfactory --provider aws --region us-east-1
1453+
orb init --scheduler hostfactory --provider-type aws --region us-east-1
14541454
14551455
# Generate example templates
14561456
orb templates generate
@@ -1474,10 +1474,10 @@ orb system health --detailed
14741474
orb templates generate --all-providers
14751475
14761476
# Use specific provider
1477-
orb --provider aws_prod_us-east-1 machines request template-id 5
1477+
orb --provider-name aws_prod_us-east-1 machines request template-id 5
14781478
14791479
# Check provider health
1480-
orb providers health --provider aws_prod_us-east-1
1480+
orb providers health --provider-name aws_prod_us-east-1
14811481
```
14821482
14831483
### Development Workflow

docs/root/cli/infrastructure-commands.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ orb infra discover [OPTIONS]
3535
| `--show` | Display specific resource types without updating config: `vpcs`, `subnets`, `security-groups` (or `sg`), or `all` | `--show subnets` |
3636
| `--summary` | Show only counts per resource type, no details | `--summary` |
3737
| `--all-providers` | Run discovery across all configured providers | `--all-providers` |
38-
| `--provider` | Run discovery for a specific provider instance | `--provider aws-prod` |
38+
| `--provider-name` | Run discovery for a specific provider instance | `--provider-name aws-prod` |
3939
| `--region` | AWS region override | `--region eu-west-1` |
4040
| `--profile` | AWS profile override | `--profile production` |
4141

@@ -57,7 +57,7 @@ orb infrastructure discover --show security-groups
5757
orb infrastructure discover --summary
5858

5959
# Discover for a specific provider
60-
orb infrastructure discover --provider aws-prod
60+
orb infrastructure discover --provider-name aws-prod
6161

6262
# Discover across all providers
6363
orb infrastructure discover --all-providers
@@ -103,7 +103,7 @@ orb infra show [OPTIONS]
103103
| Flag | Description | Example |
104104
|------|-------------|---------|
105105
| `--all-providers` | Show configuration for all providers | `--all-providers` |
106-
| `--provider` | Show configuration for a specific provider | `--provider aws-prod` |
106+
| `--provider-name` | Show configuration for a specific provider | `--provider-name aws-prod` |
107107
| `--format` | Output format (`json`, `yaml`, `table`) | `--format table` |
108108

109109
**Examples:**
@@ -145,7 +145,7 @@ orb infra validate [OPTIONS]
145145
**Options:**
146146
| Flag | Description | Example |
147147
|------|-------------|---------|
148-
| `--provider` | Validate for a specific provider | `--provider aws-prod` |
148+
| `--provider-name` | Validate for a specific provider | `--provider-name aws-prod` |
149149
| `--region` | AWS region override | `--region us-east-1` |
150150
| `--profile` | AWS profile override | `--profile production` |
151151
| `--format` | Output format | `--format table` |
@@ -156,7 +156,7 @@ orb infra validate [OPTIONS]
156156
orb infrastructure validate
157157

158158
# Validate for a specific provider
159-
orb infrastructure validate --provider aws-prod
159+
orb infrastructure validate --provider-name aws-prod
160160
```
161161

162162
Validation checks that each configured resource ID resolves in AWS. Resources that no longer exist (deleted subnets, removed security groups) are reported so you can re-run discovery and update your config.

0 commit comments

Comments
 (0)