Skip to main content

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 utilities
  • devopso.adapters.atlassian_adapter — Optional dependency for extended integrations
  • devopso.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devops_overseer_credentials-0.1.1.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devops_overseer_credentials-0.1.1-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file devops_overseer_credentials-0.1.1.tar.gz.

File metadata

File hashes

Hashes for devops_overseer_credentials-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ea6b87cb55a69f45fd26fd62e9ec923433a9a0efeaabb586dbfe2cea7a799299
MD5 878cc87d323316b88509c6047277d32e
BLAKE2b-256 5f167c576bc5f5bc9ff333c1f02965e48e8819e1ac08b9c3100214050371a9e9

See more details on using hashes here.

File details

Details for the file devops_overseer_credentials-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for devops_overseer_credentials-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ceb1aae9d3f23ce565a96f44611d4c0b04574206cbaa9453214e58d40bb77c2
MD5 14402b433fa30657e323229126d3261e
BLAKE2b-256 28a2e8be1eadf0950b167588ed883cea422b714fbc2f06a0a42011b317b587a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page