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.2.tar.gz (4.7 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.2-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for devops_overseer_credentials-0.1.2.tar.gz
Algorithm Hash digest
SHA256 84545d81473c3a12fc8d635fe2c643af66ad532962005988a187939f7b64bacb
MD5 2c1c3cb888a935a468aaff0ecfd491ea
BLAKE2b-256 6722b2a1d3182318c6e2c39105c258ea5b3d3fae9efaa005bf5065f04465aae7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for devops_overseer_credentials-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1879dce8d165561a7333fcb1334ef2a16d51a47017d1d4e23d28eb3786b57c30
MD5 1f91b702da9420c74fbfd83dbe399370
BLAKE2b-256 681d21ac83d1192ef6f85f95bc5f65ad5d74ef189078b63ea98c933ea181af63

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