Skip to main content

agipy

Build Status

/əˈdʒɪˈpaɪ/, portmanteau of AgI (chemical formula of silver iodide) and Python

agipy enables you to destroy cloud infrastructure in a hurry. Whether you want to destroy a demo environment you no longer need or want to purge artifacts a colleague left behind, agipy is here to help you dissolving your cloud problems.

About the name

agipy is a portmanteau of the chemical formula AgI for silver iodide and the word Python.

Silver iodide is a chemical used for cloud seeding. Cloud seeding is a weather modification that changes the amount or type of precipitation that falls from clouds; in my opinion that is an appropriate metaphor for deleting cloud infrastructure, especially compared to alternatives that include “nukes” or “EMPs”.

Python is the language agipy is implemented in. It is a great language for everything concerning cloud infrastructure and automation, and it happens to be the language I feel most comfortable with.

How to use agipy

agipy is available on PyPI, so you can install it using pip:

pip install --user agipy

In addition you can clone the repository and then install it from source via:

python3 setup.py install

To find out how the CLI works, use the built-in help function:

agipy --help

agipy is based on the concept of providers: For each public cloud provider, a agipy-specific provider module has to be implemented. At the moment, the following provider modules exist:

Because each provider has its own semantics, please refer to the respective subsection.

How to use the azure provider

As of yet, the azure provider is capable of deleting all resource groups with a specific prefix. For using the provider, you have to set the following environment variables:

  • AZURE_CLIENT_ID, the service principal ID

  • AZURE_CLIENT_SECRET, the service principal secret

  • AZURE_SUBSCRIPTION_ID

  • AZURE_TENANT_ID

Alternatively you can provide any of these values via command line arguments, see below.

You can call the provider via:

agipy azure --prefix=${RG_PREFIX} [--client-id=${AZURE_CLIENT_ID}] [--client-secret=${AZURE_CLIENT_SECRET}] [--subscription-id=${AZURE_SUBSCRIPTION_ID}] [--tenant-id=${AZURE_TENANT_ID}]

How to Test

The test suite is based on the great ``pytest` <https://docs.pytest.org/en/latest/>`_ library. Once installed, the automatic test discovery can be used via

pytest agipy

In order to keep the tests clean and run smoothly, I try to use subtests and patches where possible.

How to Contribute

This project is released under the GPL license, so I am happy for contributions, forks, and feedback! This can be done in many ways:

  • Open PRs with improvements,

  • add issues if you find bugs,

  • add issues for new features,

  • use agipy and spread the word.

PRs have to comply with:

New features must be covered by proper tests (idealy unit tests and functional tests) using the ``pytest` <https://docs.pytest.org/en/latest/>`_ library.

Contributors

License

agipy enables you to destroy cloud infrastructure in a hurry. Copyright (C) 2019 Nils Müller shimst3r@gmail.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/

Metadata

Release files for agipy 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agipy 0.2.2
File Size Uploaded Provenance Actions
agipy-0.2.2.tar.gz 8.0 kB Without provenance Details for agipy-0.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for agipy 0.2.2
File Interpreter ABI Platform Actions
agipy-0.2.2-py3-none-any.whl Python 3 none any Details for agipy-0.2.2-py3-none-any.whl

Total release size: 30.1 kB

Release files / agipy-0.2.2.tar.gz

Download URL agipy-0.2.2.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2375b3c5e94ccf3d08dd0ab7eea35e10d1711c6d6c44d69c1919ab4d038e0039
BLAKE2b-256 checksum
How to use checksums
bc18912f62b23f4bbdadb7a0954c130628032c10b2d22f5b6396508279b53e96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / agipy-0.2.2-py3-none-any.whl

Download URL agipy-0.2.2-py3-none-any.whl
Size 22.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e71c696f9dde5e43fd9d2c708e18b3ad5104d297a5f7fb2c57a215366434e37
BLAKE2b-256 checksum
How to use checksums
8349245897ed33065dafefb6a47411c39b977cd81b415cb5aa5fed388f1c51f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Security for agipy 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page