mirror of
https://github.com/trailofbits/algo.git
synced 2026-09-28 04:25:00 +02:00
Remove Exoscale support due to CloudStack API deprecation (#14841)
* Remove Exoscale support due to CloudStack API deprecation (fixes #14839) Exoscale deprecated their CloudStack API on May 1, 2024, migrating to a proprietary API v2 that is incompatible with CloudStack-based tools. Changes: - Remove Exoscale as default CloudStack endpoint - Add detection and clear error message for Exoscale endpoints - Update documentation to remove Exoscale references - Add recommendations for alternative providers - Maintain generic CloudStack support for other providers Users attempting to use Exoscale will now receive a helpful error message explaining the situation and suggesting alternative providers with European presence (Hetzner, DigitalOcean, Vultr, Scaleway). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Remove remaining Exoscale references from input.yml, README, and prompts - Removed 'Exoscale optimised' label from CloudStack in input.yml - Removed Exoscale mention from README.md provider list - Removed Exoscale URL example from CloudStack API endpoint prompt * Fix typo: 'API ssecret' -> 'API secret' in CloudStack prompt --------- Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -31,7 +31,7 @@ See our [release announcement](https://blog.trailofbits.com/2016/12/12/meet-algo
|
||||
|
||||
The easiest way to get an Algo server running is to run it on your local system or from [Google Cloud Shell](docs/deploy-from-cloudshell.md) and let it set up a _new_ virtual machine in the cloud for you.
|
||||
|
||||
1. **Setup an account on a cloud hosting provider.** Algo supports [DigitalOcean](https://m.do.co/c/4d7f4ff9cfe4) (most user friendly), [Amazon Lightsail](https://aws.amazon.com/lightsail/), [Amazon EC2](https://aws.amazon.com/), [Vultr](https://www.vultr.com/), [Microsoft Azure](https://azure.microsoft.com/), [Google Compute Engine](https://cloud.google.com/compute/), [Scaleway](https://www.scaleway.com/), [DreamCompute](https://www.dreamhost.com/cloud/computing/), [Linode](https://www.linode.com) other OpenStack-based cloud hosting, [Exoscale](https://www.exoscale.com) or other CloudStack-based cloud hosting, or [Hetzner Cloud](https://www.hetzner.com/).
|
||||
1. **Setup an account on a cloud hosting provider.** Algo supports [DigitalOcean](https://m.do.co/c/4d7f4ff9cfe4) (most user friendly), [Amazon Lightsail](https://aws.amazon.com/lightsail/), [Amazon EC2](https://aws.amazon.com/), [Vultr](https://www.vultr.com/), [Microsoft Azure](https://azure.microsoft.com/), [Google Compute Engine](https://cloud.google.com/compute/), [Scaleway](https://www.scaleway.com/), [DreamCompute](https://www.dreamhost.com/cloud/computing/), [Linode](https://www.linode.com), other OpenStack-based cloud hosting, CloudStack-based cloud hosting, or [Hetzner Cloud](https://www.hetzner.com/).
|
||||
|
||||
2. **Get a copy of Algo.** The Algo scripts will be run from your local system. There are two ways to get a copy:
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ $ ./algo
|
||||
7. Vultr
|
||||
8. Scaleway
|
||||
9. OpenStack (DreamCompute optimised)
|
||||
10. CloudStack (Exoscale optimised)
|
||||
10. CloudStack
|
||||
11. Linode
|
||||
12. Install to existing Ubuntu server (for more advanced users)
|
||||
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
### Configuration file
|
||||
|
||||
Algo scripts will ask you for the API detail. You need to fetch the API credentials and the endpoint from the provider control panel.
|
||||
> **⚠️ Important Note:** Exoscale is no longer supported as they deprecated their CloudStack API on May 1, 2024. Please use alternative providers like Hetzner, DigitalOcean, Vultr, or Scaleway.
|
||||
|
||||
Example for Exoscale (European cloud provider exposing CloudStack API), visit https://portal.exoscale.com/u/<your@account>/account/profile/api to gather the required information: CloudStack api key and secret.
|
||||
Algo scripts will ask you for the API details. You need to fetch the API credentials and the endpoint from your CloudStack provider's control panel.
|
||||
|
||||
For CloudStack providers, you'll need to set:
|
||||
|
||||
```bash
|
||||
export CLOUDSTACK_KEY="<your api key>"
|
||||
export CLOUDSTACK_SECRET="<your secret>"
|
||||
export CLOUDSTACK_ENDPOINT="https://api.exoscale.com/compute"
|
||||
export CLOUDSTACK_ENDPOINT="<your provider's API endpoint>"
|
||||
```
|
||||
|
||||
Make sure your provider supports the CloudStack API. Contact your provider for the correct API endpoint URL.
|
||||
|
||||
@@ -291,11 +291,13 @@ You need to source the rc file prior to run Algo. Download it from the OpenStack
|
||||
|
||||
### CloudStack
|
||||
|
||||
> **Note:** Exoscale is no longer supported as they deprecated their CloudStack API on May 1, 2024.
|
||||
|
||||
Required variables:
|
||||
|
||||
- [cs_config](https://trailofbits.github.io/algo/cloud-cloudstack.html): /path/to/.cloudstack.ini
|
||||
- cs_region: e.g. `exoscale`
|
||||
- cs_zones: e.g. `ch-gva2`
|
||||
- cs_region: your CloudStack region
|
||||
- cs_zones: your CloudStack zone
|
||||
|
||||
The first two can also be defined in your environment, using the variables `CLOUDSTACK_CONFIG` and `CLOUDSTACK_REGION`.
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
- { name: Vultr, alias: vultr }
|
||||
- { name: Scaleway, alias: scaleway }
|
||||
- { name: OpenStack (DreamCompute optimised), alias: openstack }
|
||||
- { name: CloudStack (Exoscale optimised), alias: cloudstack }
|
||||
- { name: CloudStack, alias: cloudstack }
|
||||
- { name: Linode, alias: linode }
|
||||
- { name: Install to existing Ubuntu latest LTS server (for more advanced users), alias: local }
|
||||
vars_files:
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
- pause:
|
||||
prompt: |
|
||||
Enter the API ssecret (https://trailofbits.github.io/algo/cloud-cloudstack.html):
|
||||
Enter the API secret (https://trailofbits.github.io/algo/cloud-cloudstack.html):
|
||||
echo: false
|
||||
register: _cs_secret
|
||||
when:
|
||||
@@ -23,7 +23,6 @@
|
||||
- pause:
|
||||
prompt: |
|
||||
Enter the API endpoint (https://trailofbits.github.io/algo/cloud-cloudstack.html)
|
||||
[https://api.exoscale.com/compute]
|
||||
register: _cs_url
|
||||
when:
|
||||
- cs_url is undefined
|
||||
@@ -34,10 +33,26 @@
|
||||
algo_cs_token: "{{ cs_secret | default(_cs_secret.user_input | default(None)) | default(lookup('env', 'CLOUDSTACK_SECRET'), true) }}"
|
||||
algo_cs_url: >-
|
||||
{{ cs_url | default(_cs_url.user_input|default(None)) |
|
||||
default(lookup('env', 'CLOUDSTACK_ENDPOINT'), true) |
|
||||
default('https://api.exoscale.com/compute', true) }}
|
||||
default(lookup('env', 'CLOUDSTACK_ENDPOINT'), true) }}
|
||||
no_log: true
|
||||
|
||||
- name: Check for Exoscale API endpoint
|
||||
fail:
|
||||
msg: |
|
||||
ERROR: Exoscale CloudStack API has been deprecated as of May 1, 2024.
|
||||
|
||||
Exoscale has migrated from CloudStack to their proprietary API v2, which is not compatible
|
||||
with CloudStack-based tools. Algo no longer supports Exoscale deployments.
|
||||
|
||||
Please consider these alternative providers:
|
||||
- Hetzner (provider: hetzner) - German provider with European coverage
|
||||
- DigitalOcean (provider: digitalocean) - Has Amsterdam and Frankfurt regions
|
||||
- Vultr (provider: vultr) - Multiple European locations
|
||||
- Scaleway (provider: scaleway) - French provider
|
||||
|
||||
If you're using a different CloudStack provider, please provide the correct API endpoint.
|
||||
when: "'exoscale.com' in algo_cs_url or 'exoscale.ch' in algo_cs_url"
|
||||
|
||||
- name: Get zones on cloud
|
||||
cs_zone_info:
|
||||
register: _cs_zones
|
||||
@@ -53,10 +68,7 @@
|
||||
|
||||
- name: Set the default zone
|
||||
set_fact:
|
||||
default_zone: >-
|
||||
{%- for z in cs_zones -%}
|
||||
{%- if z['name'] == "ch-gva-2" %}{{ loop.index }}{% endif -%}
|
||||
{%- endfor %}
|
||||
default_zone: "1" # Default to first zone in the list
|
||||
|
||||
- pause:
|
||||
prompt: |
|
||||
|
||||
Reference in New Issue
Block a user