Skip to main content

Adame

Supported Python versions PyPI Dependencies

CodeFactor Downloads Coverage

License GitHub last commit GitHub issues

Adame (pronounced: ăˈ.dam) is the abbreviation for "Automatic Docker Application Management Engine". So in short: Adame is a tool to manage docker-applications as part in a Linux-environment.

Since adame is usable declarative and is storing data in a git-repository Adame is suitable as a application-managing-part of a GitOps-environment.

Features

Adame is able to do the following things:

  • Generate new application-environment
  • Start-/Stop the docker-container according to the configuration-file
  • Saves the state of the application inside the docker-container in a git-repository
  • Automatically configure a basic intrusion-detection-system for the network-traffic of the docker-container
  • Automatically export log-files of the managed application

Reference

The reference can be found here.

Runtime-requirements

Adame is intended to run on Linux-systems. Furthermore Adame requires that the following commandline-commands are available on your system:

  • chmod (For setting up permissions on the generated files)
  • chown (For setting up ownerships on the generated files)
  • docker >= 1.27.4 (For starting and stopping Docker-container)
  • git >=2.30.0 (For integrity)
  • gpg (For checking the integrity of commits)
  • kill (For killing snort)
  • pip >= 20.3.1 (On some systems pip3)
  • python >= 3.10 (On some systems python3)
  • rsync (For exporting the log-files to a SIEM-server)
  • ssh (Required for rsync)
  • snort (For inspecting the network-traffic of the application)

Development

Branching-system

This repository applies the GitFlowSimplified-branching-system.

Install dependencies

To develop ScriptCollection it is obviously required that the following commandline-commands are available on your system:

  • python >= 3.10
  • pip3

The pip-packaged which are required for developing on this project are defined in requirements.txt.

Commands like docker-compose or snort are technically not required for development since these commands will be mocked in the unit-tests.

IDE

The recommended IDE for developing Adame is Visual Studio Code. The recommended addons for developing Adame with Visual Studio Code are:

Run testcases

To run the testcases simply execute the script stored in ./Reference/Scripts/RunTestcases.script in the repository's home-directory which is expected to terminate with the exit-code 0.

Build

To Create an installable whl-package simply execute python Setup.py bdist_wheel --dist-dir ..

Installation

To install an Adame simply execute pip install Adame-x.x.x-py3-none-any.whl.

TODO-List

  • Bug: When running in a different folder (like adame startadvanced -c someotherfolder/Adame.configuration) then the prescript and postscript may have wrong working-directories.
  • Feature: Before starting the docker-container then if a container with same name already exists the already existing container should be stopped and then removed to avoid errors due to already existing container-names.
  • Feature: After waiting maximalexpectedstartduration seconds there must be a check whether the container is running (and healthy if the health-information is available). If not then an error must be thrown

License

See License.txt for license-information.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

Adame-1.2.32-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file Adame-1.2.32-py3-none-any.whl.

File metadata

  • Download URL: Adame-1.2.32-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for Adame-1.2.32-py3-none-any.whl
Algorithm Hash digest
SHA256 414ca9b9563962295211994c87d774792909855e498c070d5765c68998e4c6d2
MD5 d9dd038d85b0aaa57398a247dc23a391
BLAKE2b-256 37784ef1af176ba98989947f1bc16e2d324752cc62356b52d7c536f3d71aa693

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