Skip to content

Commit 446e8ac

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

47 files changed

Lines changed: 3729 additions & 214 deletions

Some content is hidden

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

‎.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
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎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)