A basic Python plugin
Project description
🧩 devops-overseer-credentials
devops-overseer-credentials is a plugin extension for the DevOps Overseer framework.
It provides a simple and consistent command-line interface for securely managing local credentials (usernames, tokens, authentication types) used by other DevOps Overseer adapters or automation scripts.
🚀 Overview
This plugin allows you to:
- Add, update, or remove credentials for applications and services (e.g., Jira, Confluence, Artifactory).
- Store credentials locally in a structured YAML file under
~/.config/devops-overseer/credentials.yml. - Manage multiple credentials under distinct application names.
- Integrate with the Overseer CLI using the command:
devopso credentials [command] [options]
All credentials are persisted in YAML format and can be consumed by other DevOps Overseer components through the centralized configuration management system.
⚙️ Installation
If not already bundled within your DevOps Overseer setup:
pip install devops-overseer-credentials
This plugin will automatically register itself as a subcommand in the Overseer CLI if installed within the same Python environment.
🧠 Usage
Command syntax
devopso credentials <command> [options]
Available commands
| Command | Alias | Description |
|---|---|---|
add |
a |
Add new credentials for an application |
remove |
rm |
Remove credentials for an application |
update |
u |
Update credentials for an existing application |
Options
| Option | Short | Required | Description |
|---|---|---|---|
--application |
-a |
✅ | Target application name (e.g. jira, confluence) |
--user |
-u |
⚙️ (add/update) | Username or identifier |
--password |
-p |
⚙️ (add/update) | Password or API token |
--type |
-t |
❌ | Authentication type (Basic or Bearer, defaults to Basic) |
--file-path |
-f |
❌ | Path to the credentials YAML file (defaults to ~/.config/devops-overseer/credentials.yml) |
💡 Examples
Add new credentials
devopso credentials add \
-a jira \
-u clement.dourval@example.com \
-p myapitoken123 \
-t Basic
Update existing credentials
devopso credentials update \
-a confluence \
-u newuser@example.com \
-p newapitoken456
Remove credentials
devopso credentials remove -a artifactory
🧾 Configuration file structure
Credentials are stored in YAML format.
Example ~/.config/devops-overseer/credentials.yml:
apps:
jira:
login: clement.dourval@example.com
api-token: myapitoken123
auth-type: Basic
confluence:
login: user@company.com
api-token: token456
auth-type: Bearer
🧱 Internals
Core class: CredentialsManager
Handles all CRUD operations on credentials, including validation and persistence:
validate()— ensures required parameters are provided depending on the command.add_credentials()— safely adds a new entry to the YAML configuration.update_credentials()— replaces an existing entry.remove_credentials()— deletes credentials for a given application.run()— orchestrates operations based on the parsed CLI command.
Logging
All plugin operations integrate with the main devopso CLI logging system, preserving consistent formatting and verbosity.
🧩 Integration with DevOps Overseer
This plugin registers automatically via:
def register(subparsers):
...
When the Overseer CLI loads, it detects and integrates all available plugins through the devopso.plugins entry point group.
⚠️ Error Handling
| Condition | Error Message | Behavior |
|---|---|---|
| Missing user/password for add/update | 'user' and 'password' are required for this command. |
Process exits with code 1 |
| Trying to add existing application | can't add already existing application |
Raises ConfigurationError |
| Trying to update/remove non-existing application | nothing to update/remove |
Process exits with code 1 |
🧰 Dependencies
devopso.core.configuration— Configuration management utilitiesdevopso.adapters.atlassian_adapter— Optional dependency for extended integrationsdevopso.cli— Main CLI interface for command registration and logging
🪪 License
This project is part of the DevOps Overseer ecosystem. All rights reserved © 2025 — Licensed under the MIT License.
👤 Author
Clement Dourval 📧 dourval.clement@gmail.com
🏷️ Keywords
devops, credentials, cli, configuration, plugin, yaml, automation, devops-overseer
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devops_overseer_credentials-0.1.2.tar.gz.
File metadata
- Download URL: devops_overseer_credentials-0.1.2.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84545d81473c3a12fc8d635fe2c643af66ad532962005988a187939f7b64bacb
|
|
| MD5 |
2c1c3cb888a935a468aaff0ecfd491ea
|
|
| BLAKE2b-256 |
6722b2a1d3182318c6e2c39105c258ea5b3d3fae9efaa005bf5065f04465aae7
|
File details
Details for the file devops_overseer_credentials-0.1.2-py3-none-any.whl.
File metadata
- Download URL: devops_overseer_credentials-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1879dce8d165561a7333fcb1334ef2a16d51a47017d1d4e23d28eb3786b57c30
|
|
| MD5 |
1f91b702da9420c74fbfd83dbe399370
|
|
| BLAKE2b-256 |
681d21ac83d1192ef6f85f95bc5f65ad5d74ef189078b63ea98c933ea181af63
|