This repository contains a collection of Flask API endpoints designed to simplify the usage and execution of tasks using the Cloudways API. These endpoints are designed to return filtered JSON data directly, eliminating the need for additional processing and filtering on the client side.
These endpoints serve as the engine for the majority of the cloud automation scripts, making it easier to integrate automation into various workflows.
├── apps
│ └── apps.py
├── auth
│ ├── create_keys.py
│ └── ssh_auth.py
├── cleanup
│ ├── cleanup.py
│ ├── delete_keys.py
│ └── key_info.py
├── servers
│ └── servers.py
├── token
│ └── auth_token.py
├── .gitignore
└── README.md
A brief description of the layout:
apps
folder for apps endpoint files.apps.py
fetches app info filtered by project/server ID.auth
folder for auth endpoint files.create_keys.py
stores key ID(s) created byssh_auth.py
to GCP Firestore.ssh_auth.py
creates and uploads SSH key(s) to Cloudways server(s).cleanup
folder for cleanup endpoint files.cleanup.py
deletes SSH key(s) from Cloudways server(s).delete_keys.py
deletes key ID(s) from Firestore.key_info.py
fetches key ID(s) for deletion.servers
folder for servers endpoint files.servers.py
fetches server information based on different routes. See API reference for details.token
folder for token endpoint files.auth_token.py
script generates and returns authentication token..gitignore
file specifying which files and directories to ignore in version control.README.md
Project README file providing an overview of the project and its components.
- Generate and filter authentication token.
- Fetch IDs of all servers under account.
- Fetch public IP of all servers under account.
- Fetch SSH user names of running servers.
- Fetch app info filtered by server ID.
- Fetch app info filtered by project ID.
- Set up SSH keys on all running servers.
- Set up SSH keys on server(s) filtered by project ID.
- Set up SSH keys on server(s) filtered by server ID.
- Export key ID(s) to GCP Firestore
- Create endpoint to remove keys from Cloudways server and Firestore.
- Python development
- GCP Firestore database management
- GCP Cloud Functions
If you have any feedback, please reach out to me at elisha.jamil@gmail.com