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:
appsfolder for apps endpoint files.apps.pyfetches app info filtered by project/server ID.authfolder for auth endpoint files.create_keys.pystores key ID(s) created byssh_auth.pyto GCP Firestore.ssh_auth.pycreates and uploads SSH key(s) to Cloudways server(s).cleanupfolder for cleanup endpoint files.cleanup.pydeletes SSH key(s) from Cloudways server(s).delete_keys.pydeletes key ID(s) from Firestore.key_info.pyfetches key ID(s) for deletion.serversfolder for servers endpoint files.servers.pyfetches server information based on different routes. See API reference for details.tokenfolder for token endpoint files.auth_token.pyscript generates and returns authentication token..gitignorefile specifying which files and directories to ignore in version control.README.mdProject 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
