Skip to content

Commit 446e8ac

Browse files
author
Sanjay Prabhakar
committed
Merge branch 'stable' into backuprestore-dev
2 parents 76e17d0 + 2741731 commit 446e8ac

Some content is hidden

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

47 files changed

+3729
-214
lines changed

.github/workflows/docs.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Build Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- '**'
7+
tags-ignore:
8+
- '**'
9+
release:
10+
types: [ published ]
11+
12+
# Ensure only one build at a time for any branch, cancelling any in-progress builds
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
deploy-docs:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout repository
22+
uses: actions/checkout@v4
23+
24+
- name: Set up Python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: '3.12'
28+
29+
- name: Cache pip packages
30+
uses: actions/cache@v4
31+
with:
32+
path: ~/.cache/pip
33+
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py', '**/pyproject.toml') }}
34+
restore-keys: |
35+
${{ runner.os }}-pip-
36+
37+
- name: Install package and doc build dependencies
38+
run: |
39+
python -m pip install --upgrade pip
40+
pip install -e ".[docs]"
41+
42+
- name: Build documentation
43+
run: |
44+
mkdocs build
45+
46+
- name: Deploy
47+
uses: JamesIves/github-pages-deploy-action@4.1.7
48+
if: ${{ github.event_name == 'release' || contains(github.event.head_commit.message, '[doc]') }}
49+
with:
50+
branch: gh-pages
51+
folder: site
52+
53+
# Made with Bob

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ venv/
1919
# Other
2020
kubectl.exe
2121
/build
22+
/.vscode
23+
/site

.secrets.baseline

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2025-12-15T15:57:18Z",
6+
"generated_at": "2025-12-25T19:13:06Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"
@@ -95,6 +95,44 @@
9595
"verified_result": null
9696
}
9797
],
98+
"docs/cli/create-initial-users.md": [
99+
{
100+
"hashed_secret": "33f220dd67f717cc949db63e21c90e130a6137da",
101+
"is_secret": false,
102+
"is_verified": false,
103+
"line_number": 126,
104+
"type": "Secret Keyword",
105+
"verified_result": null
106+
}
107+
],
108+
"docs/cli/index.md": [
109+
{
110+
"hashed_secret": "33f220dd67f717cc949db63e21c90e130a6137da",
111+
"is_secret": false,
112+
"is_verified": false,
113+
"line_number": 56,
114+
"type": "Secret Keyword",
115+
"verified_result": null
116+
}
117+
],
118+
"docs/cli/notify-slack.md": [
119+
{
120+
"hashed_secret": "1572c8dd915cf3bdecae817b1cb65847b4e94037",
121+
"is_secret": false,
122+
"is_verified": false,
123+
"line_number": 61,
124+
"type": "Secret Keyword",
125+
"verified_result": null
126+
},
127+
{
128+
"hashed_secret": "2d8b1074eb78b85690ced3d2cc0aed0466f6f652",
129+
"is_secret": false,
130+
"is_verified": false,
131+
"line_number": 207,
132+
"type": "Secret Keyword",
133+
"verified_result": null
134+
}
135+
],
98136
"src/mas/devops/templates/ibm-entitlement-dockerconfig.json.j2": [
99137
{
100138
"hashed_secret": "d2e2ab0f407e4ee3cf2ab87d61c31b25a74085e5",

bin/mas-devops-notify-slack

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def _getToolchainLink() -> str:
3333
return ""
3434

3535

36-
def notifyProvisionFyre(channels: list[str], rc: int, additionalMsg: str = None) -> bool:
36+
def notifyProvisionFyre(channels: list[str], rc: int, additionalMsg: str | None = None) -> bool:
3737
"""Send Slack notification about Fyre OCP cluster provisioning status."""
3838
name = _getClusterName()
3939
toolchainLink = _getToolchainLink()
@@ -67,7 +67,7 @@ def notifyProvisionFyre(channels: list[str], rc: int, additionalMsg: str = None)
6767
return response.data.get("ok", False)
6868

6969

70-
def notifyProvisionRoks(channels: list[str], rc: int, additionalMsg: str = None) -> bool:
70+
def notifyProvisionRoks(channels: list[str], rc: int, additionalMsg: str | None = None) -> bool:
7171
"""Send Slack notification about ROKS cluster provisioning status."""
7272
name = _getClusterName()
7373
toolchainLink = _getToolchainLink()

docs/api/aiservice.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# AI Service Module
2+
3+
The `aiservice` module provides functions for AI/ML service management and configuration.
4+
5+
::: mas.devops.aiservice

docs/api/db2.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# DB2 Module
2+
3+
The `db2` module provides functions for DB2 database configuration and validation.
4+
5+
::: mas.devops.db2

docs/api/index.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# API Reference
2+
3+
Welcome to the MAS DevOps API reference documentation. This section provides detailed documentation for all modules, classes, and functions in the `mas-devops` package.
4+
5+
## Core Modules
6+
7+
These modules provide fundamental operations for working with OpenShift/Kubernetes and related technologies:
8+
9+
- **[OCP](ocp.md)**: OpenShift/Kubernetes cluster operations including namespace management, resource creation, and cluster interactions
10+
- **[Tekton](tekton.md)**: Pipeline management, installation, and execution of Tekton pipelines for MAS automation
11+
- **[OLM](olm.md)**: Operator Lifecycle Manager operations for installing and managing operators
12+
- **[Utils](utils.md)**: Common utility functions and helper methods used throughout the library
13+
14+
## MAS Modules
15+
16+
Modules specifically designed for managing Maximo Application Suite:
17+
18+
- **[Suite](mas/suite.md)**: Core MAS suite management including installation, configuration, and lifecycle operations
19+
- **[Apps](mas/apps.md)**: MAS application management for deploying and configuring MAS applications like Manage, Monitor, etc.
20+
21+
## Service Integration Modules
22+
23+
Modules for integrating with various services and dependencies:
24+
25+
- **[DB2](db2.md)**: Database operations including DB2 configuration validation and management
26+
- **[SLS](sls.md)**: Suite License Service integration for license management
27+
- **[AI Service](aiservice.md)**: AI/ML service management and configuration
28+
- **[Slack](slack.md)**: Slack notification and alerting integration
29+
30+
## SaaS Modules
31+
32+
Modules for SaaS-specific operations:
33+
34+
- **[Job Cleaner](saas/job_cleaner.md)**: Utilities for cleaning up completed jobs in SaaS environments
35+
36+
## User Management
37+
38+
- **[Users](users.md)**: User creation and management for MAS deployments
39+
40+
## Module Overview
41+
42+
### Core Operations
43+
44+
The core modules provide the foundation for all MAS DevOps operations:
45+
46+
```python
47+
from mas.devops.ocp import createNamespace, getResource
48+
from mas.devops.tekton import installOpenShiftPipelines
49+
from mas.devops.olm import installOperator
50+
from mas.devops.utils import waitForResource
51+
```
52+
53+
### MAS Management
54+
55+
Work with MAS suite and applications:
56+
57+
```python
58+
from mas.devops.mas.suite import installMAS, configureMAS
59+
from mas.devops.mas.apps import installApp, configureApp
60+
```
61+
62+
### Service Integration
63+
64+
Integrate with external services:
65+
66+
```python
67+
from mas.devops.db2 import validateDB2Config
68+
from mas.devops.sls import configureSLS
69+
from mas.devops.slack import sendSlackNotification
70+
```
71+
72+
## Navigation
73+
74+
Use the navigation menu on the left to browse through the API documentation for each module. Each module page includes:
75+
76+
- Module overview and purpose
77+
- Class and function documentation with parameters and return types
78+
- Usage examples
79+
- Related modules and cross-references
80+
81+
## Conventions
82+
83+
Throughout the API documentation:
84+
85+
- **Required parameters** are clearly marked
86+
- **Optional parameters** include default values
87+
- **Return types** are specified for all functions
88+
- **Exceptions** that may be raised are documented
89+
- **Examples** demonstrate common usage patterns
90+
91+
## Getting Help
92+
93+
If you need help using the API:
94+
95+
1. Check the [Quick Start Guide](../getting-started/quickstart.md) for common usage patterns
96+
2. Review the specific module documentation for detailed information
97+
3. Look at the [CLI Tools](../cli/index.md) for command-line usage examples
98+
4. Visit the [GitHub repository](https://github.com/ibm-mas/python-devops) to report issues or ask questions

docs/api/mas/apps.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# MAS Apps Module
2+
3+
The `mas.apps` module provides functions for MAS application management.
4+
5+
::: mas.devops.mas.apps

docs/api/mas/suite.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# MAS Suite Module
2+
3+
The `mas.suite` module provides functions for MAS core suite management.
4+
5+
::: mas.devops.mas.suite

docs/api/ocp.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# OCP Module
2+
3+
The `ocp` module provides functions for interacting with OpenShift/Kubernetes clusters.
4+
5+
::: mas.devops.ocp

0 commit comments

Comments
 (0)