Skip to main content

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)

Source distribution for enos_scalewayinstances 0.2.0
File Size Uploaded
enos_scalewayinstances-0.2.0.tar.gz 13.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for enos_scalewayinstances 0.2.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

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