Enoslib ScalewayInstances plugin
Installation
Some functionnalities (enabling IPv6) requires the user to have the scaleway cli installed, see: section.
Deployed on PyPI:
pip install enos_scalewayinstances
Checkout example
Rationale
This ScalewayInstances provider is quite opiniated, it deploys scaleway instances according to two different 'architectures', which are different ways to organize your instances:
"private_network" architecture
It is configured to deploy a number of configured nodes defined by the user in the configuration and then put all those instances in a private network with a public gateway.
Unless you request public IPs with the dynamic_ip_required parameter, your instances will not be available to outside providers or users. If you want to expose certain services, you can forward ports from your instances to the public gateway (see the example)
"standalone" architecture
This will just deploy instances with public addresses and no private network/gateway setup.
You can setup firework with the open_firewall function.
Zone non-support
Support for setting zone and regions of your instances is not available in this provider for the moment, zones and regions will default to the defaults of your configuration.
Recommendations
Install the scaleway CLI as it is a good tool to check your running instances or parse information
https://www.scaleway.com/fr/cli/
Useful commands
Check running instances
scw instance server list
# With specifying zone
scw instance server list zone="fr-par-1"
Terminate a running instances
scw instance server terminate <INSTANCE_ID>
List existing public gateways
scw vpc-gw gateway list
Delete existing public gateway
scw vpc-gw gateway delete <NETWORK_ID>
List existing private networks
scw vpc private-network list
Delete existing private network
scw vpc private-network delete <NETWORK_ID>
List available commercial types
scw instance server-type list
List available OS images
scw marketplace image list
SSH to a machine in a private network
Since the public gateway deployed on the private network has bation activated, the command to connect to a instance behind the bastion looks like this:
ssh -J bastion@<gateway_IP_address>:61000 root@<instance_IP_address>
Where <instance_IP_address> is either the instance's public IP address or its private alias in the form of : <instance_name>.<private_network_name>.internal.
Future improvements
- Improve IPv6 handling
- Improve volume handling, e.g. add options to set volume size
- Improve zone / region support
Metadata
Release files for enos_scalewayinstances 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| enos_scalewayinstances-0.2.0.tar.gz | 13.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| enos_scalewayinstances-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.3 kB
Release files / enos_scalewayinstances-0.2.0.tar.gz
| Download URL | enos_scalewayinstances-0.2.0.tar.gz |
|---|---|
| Size | 13.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e4d3a0058b9501f2ffcb11dc5b8b75ddb175631d341844ae152506ff5513d888
|
|
BLAKE2b-256 checksum How to use checksums |
f2ad35a6ce9d6d49aece5fd558fd259a1d19fabe669425ef597cd353745edea1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"42","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / enos_scalewayinstances-0.2.0-py3-none-any.whl
| Download URL | enos_scalewayinstances-0.2.0-py3-none-any.whl |
|---|---|
| Size | 13.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1ed41612c685efabd1fb8d49a521f9d71033c2c93feb400afc8cd8eaeb84f87f
|
|
BLAKE2b-256 checksum How to use checksums |
61151b884a0a122a36cd8b76778e00153f3dca7c2ffb202575766b17a3cdb5e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"42","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|