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.0.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.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for devops_overseer_credentials-0.1.0.tar.gz
Algorithm Hash digest
SHA256 025c15d6dbc5d774654fbc5b3730f4bed756f1701283ee9a5431b714d0cfcea8
MD5 5dce1d4ca56c4edb7098b78743464f0e
BLAKE2b-256 7f38ebcefa560bfd5d12d9bbbbcd979255f8404ac01366d646be1242b0887995

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for devops_overseer_credentials-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1eb5cf4ba0809fdd28e99c7bc1d1839b278d3a8415fa76274bf4aae5df65cf52
MD5 277582b8fa24d4b11a289802795e7a2f
BLAKE2b-256 6f7c440af0e52f0db6eb71ff2e69a143b12a12987777ebf3718e6c1e6846c94c

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