A Swimlane content delivery system written in Python
Project description
Aqueduct
aq·ue·duct | \ˈä-kwə-ˌdəkt\
Definition of aqueduct
- a conduit for water
- a content delivery system for the Swimlane platform
Aqueduct is a Python package to migrate content from one (source) Swimlane instance to another (destination) instance in reliable and repeatable methodlogy.
Why?
Many Swimlane customers build their own custom content (e.g. Use Cases) to fit their needs. We understand that every organization is different and because of this we have built aqueduct
to facilitate the migration of this content from one instance to another. During the creation of aqueduct
we have decided that we want to re-enforce best practices when using Swimlane. This is mainly in the form of NOT updating content in your production systems (e.g. destination systems). Changes should strictly be made within a development (source) instance and then migrated to your production instance once your testing is complete.
Features
You can view all the available parameters for the main Aqueduct class here.
We can sync the following content from one Swimlane instance to another.
- applications
- assets
- dashboards
- groups
- keystore
- packages
- plugins
- reports
- roles
- tasks
- users
- workflows
- workspaces
Getting Started
aqueduct
is a Python-only package hosted on PyPi and works with Python 3.6 and greater.
pip install sw-aqueduct
Installation
You can install aqueduct on OS X, Linux, or Windows. You can also install it directly from the source. To install, see the commands under the relevant operating system heading, below.
Prerequisites
The following libraries are required and installed by aqueduct
:
pyyaml==6.0
fire==0.4.0
attrs==21.4.0
pydantic==1.9.0
swimlane==10.5.0
packaging>-21
requests>=2.27.1
macOS, Linux and Windows:
pip install sw-aqueduct
macOS using M1 processor
git clone https://github.com/swimlane/aqueduct.git
cd aqueduct
# Satisfy ModuleNotFoundError: No module named 'setuptools_rust'
brew install rust
pip3 install --upgrade pip
pip3 install setuptools_rust
# Back to our regularly scheduled programming . . .
python setup.py install
Installing from source
git clone https://github.com/swimlane/aqueduct.git
cd aqueduct
python setup.py install
Usage example (command line)
You can run aqueduct
from the command line or within your own Python scripts. To use aqueduct
at the command line simply enter the following in your terminal:
aqueduct --help
from aqueduct import Aqueduct, SwimlaneInstance
sw_source = SwimlaneInstance(
host="https://10.32.100.xxx",
username="admin",
password=""
)
sw_dest = SwimlaneInstance(
host="https://10.32.100.xxx",
username="admin",
password=""
)
aq = Aqueduct(
source=sw_source,
destination=sw_dest
)
# this will sync all components listed above.
aq.sync()
# You can specify one or more of them as well.
# example
# aq.sync(components=['applications', 'plugins', 'workspaces', 'roles']
Getting Help
Please create an issue if you have questions or run into any issues.
Built With
- carcass - Python packaging template
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning.
Authors
- Josh Rickard - Initial work - MSAdministrator
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sw_aqueduct-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffac839b847080f0414929eb6a9c8c96558b24278c589c6dbfb30ebf6b89cc38 |
|
MD5 | 12fc3db9e157e1845896fe5412e2560c |
|
BLAKE2b-256 | 89f11f85c20c7962f3f02aaa100c15891d22511c7423085512f1325b58d2c471 |