Skip to main content

App to installer packages on remote servers

Project description

--- This document is not finished ---

ikctl (install kit control)

You can use this app to install packages on remote servers (linux).

Description

This app use ssh protocol to connect on remote servers and running bash script to install packages.

Getting Started

Dependencies

  • Python 3.12
  • paramiko
  • pyaml
  • envyaml

Installing

To install ikctl you only need pip command

pip install ikctl

When the installation finished you will need to create folder with yours bash scripts and config files:

Create folder

mkdir ~/kits

Create config file where you add yours servers

cat <<EOF | tee ~/kits/config.yaml
servers:
  - name: your-server-name
    user: your-user
    hosts: [10.0.0.67]
    port: 22
    password: $PASSWORD/<your password>
    pkey: "/home/your-home-name/.ssh/id_rsa"
EOF

You will need to add a variable called password with the server access password:

export PASSWORD="your password"

Create ikctl config file where we will indicate our kits.

cat <<EOF | tee ~/kits/ikctl.yaml
kits:
  - show-date/ikctl.yaml
EOF

Create folder with our kit

mkdir ~/kits/show-date

In this folder we go to add the follow structure

cat <<EOF | tee ~/kits/show-date/date.sh
#!/bin/bash
date
EOF

# And

cat <<EOF | tee ~/kits/show-date/ikclt.yaml
kits:
  uploads:
    - date.sh
  pipeline:
    - date.sh
EOF

To finish config we need to add path to config file in "~/.ikctl/config"


# editing file config

vim ~/.ikctl/config

context: local
contexts:
  local:
    path_kits: 'path-to-kits/kits'
    path_secrets: '' <= doesn't work, yet
    path_servers: 'path-to-kits/kits'
    mode: 'local'
  remote:
    path_kits: ''
    path_secrets: ''
    path_servers: ''
    mode: 'remote'

Executing program

  • Get servers
ikctl -l servers
  • Get kits
ikctl -l kits
  • Run ikctl to execute bash script
ikctl -i show-date -n your-server-name

License

This project is licensed under the Apache License License - see the LICENSE.md file for details

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

ikctl-0.6.4.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

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

ikctl-0.6.4-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file ikctl-0.6.4.tar.gz.

File metadata

  • Download URL: ikctl-0.6.4.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for ikctl-0.6.4.tar.gz
Algorithm Hash digest
SHA256 0a08a1489ad887adcb9e5b140f200eeeeae3fd3a5602b6ba205c3ce1b647a051
MD5 e6296ccebf71e7649c62bbc97dbcd8d9
BLAKE2b-256 bfe157ba3b7c22bdbdc4855a11d76289d79b0ea35f6376e96a9eb32ee587c3fe

See more details on using hashes here.

File details

Details for the file ikctl-0.6.4-py3-none-any.whl.

File metadata

  • Download URL: ikctl-0.6.4-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for ikctl-0.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f4eee373e47bce612061df082143fa805470c907ab6e5dc8c7fc0add0b4f3cad
MD5 18dc6387a2e55c0e5e1e57c56bb5e5b1
BLAKE2b-256 5a2a69c81ab5bea775e66f6f675b89127bbdfeba3cca2c7d0f50d35aafabdbf3

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