diff --git a/pages/common/exo-compute-block-storage.md b/pages/common/exo-compute-block-storage.md new file mode 100644 index 0000000000..b93dd99fa7 --- /dev/null +++ b/pages/common/exo-compute-block-storage.md @@ -0,0 +1,32 @@ +# exo compute block-storage + +> Manage the Exoscale Block Storage service. +> More information: . + +- Create a 20GB Block Storage Volume: + +`exo compute block-storage create {{volume_name}} --size 20 {{[-z|--zone]}} {{zone}}` + +- List Block Storage Volumes: + +`exo compute block-storage list` + +- Attach a Block Storage Volume to a Compute instance: + +`exo compute block-storage attach {{volume_name|id}} {{instance_name|id}} {{[-z|--zone]}} {{zone}}` + +- Forcefully detach a Block Storage Volume (does not require confirmation): + +`exo compute block-storage detach {{volume_name|id}} {{[-z|--zone]}} {{zone}} {{[-f|--force]}}` + +- Create a snapshot of a Block Storage Volume: + +`exo compute block-storage snapshot create {{volume_name|id}} --name {{snapshot_name}} {{[-z|--zone]}} {{zone}}` + +- Create a Block Storage Volume from a snapshot: + +`exo compute block-storage create {{volume_name}} --snapshot {{snapshot_name|id}} {{[-z|--zone]}} {{zone}}` + +- Update an existing Block Storage Volume with a new name and a new volume size of 30GB: + +`exo compute block-storage update {{volume_name|id}} --size 30 --name {{new_name}}` diff --git a/pages/common/exo-compute-instance.md b/pages/common/exo-compute-instance.md new file mode 100644 index 0000000000..748e817e87 --- /dev/null +++ b/pages/common/exo-compute-instance.md @@ -0,0 +1,36 @@ +# exo compute instance + +> Manage Exoscale Compute instances. +> More information: . + +- Create a Debian based Compute instance with a disk size of 10GB: + +`exo compute instance create --disk-size 10 {{instance_name}} {{[-z|--zone]}} {{zone}} --template '{{Linux Debian 12 (Bookworm) 64-bit}}'` + +- Log into a Compute instance via SSH: + +`exo compute instance ssh {{instance_name|id}}` + +- List all of the Compute instances: + +`exo compute instance list` + +- Add an instance to a Security Group: + +`exo compute instance security-group add {{instance_name|id}} {{security_group_name|id}}` + +- Scale the size of a Compute instance: + +`exo compute instance scale {{instance_name|id}} {{instance_type}}` + +- Create a snapshot of a Compute instance: + +`exo compute instance snapshot create {{instance_name|id}}` + +- Revert a Compute instance to a snapshot (the data written after the snapshot has been created will be lost): + +`exo compute instance snapshot revert {{snapshot_id}} {{instance_name|id}}` + +- Resize the disk size of a Compute instance to 20GB: + +`exo compute instance resize-disk {{instance_name|id}} 20` diff --git a/pages/common/exo-compute-sks.md b/pages/common/exo-compute-sks.md new file mode 100644 index 0000000000..2f457edfc2 --- /dev/null +++ b/pages/common/exo-compute-sks.md @@ -0,0 +1,36 @@ +# exo compute sks + +> Manage the Exoscale Scalable Kubernetes Service (SKS). +> More information: . + +- List the supported SKS cluster versions: + +`exo compute sks versions` + +- Create a new SKS cluster: + +`exo compute sks create {{cluster_name}} {{[-z|--zone]}} {{zone}}` + +- List all SKS clusters: + +`exo compute sks list` + +- Generate a Kubernetes kubeconfig file for an SKS cluster that expires in 1800 seconds: + +`exo compute sks kubeconfig {{cluster_name|id}} {{user}} --ttl 1800 {{[-z|--zone]}} {{zone}}` + +- Create and add a Nodepool containing 3 nodes to an SKS cluster: + +`exo compute sks nodepool add {{cluster_name|id}} {{nodepool_name}} --size 3 {{[-z|--zone]}} {{zone}}` + +- Remove a Nodepool from an SKS cluster: + +`exo compute sks nodepool delete {{cluster_name|id}} {{nodepool_name|id}}` + +- Evict a Node from a Nodepool in an SKS cluster: + +`exo compute sks nodepool evict {{cluster_name|id}} {{nodepool_name|id}} {{node_name|id}}` + +- Enable the Exoscale CSI driver for an existing SKS cluster: + +`exo compute sks update {{cluster_name|id}} --enable-csi-addon {{[-z|--zone]}} {{zone}}` diff --git a/pages/common/exo-compute.md b/pages/common/exo-compute.md new file mode 100644 index 0000000000..5af35c4006 --- /dev/null +++ b/pages/common/exo-compute.md @@ -0,0 +1,33 @@ +# exo compute + +> Manage Exoscale Compute resources. +> Some subcommands such as `instance` have their own documentation. +> More information: . + +- Quickly create an Exoscale Compute resource (e.g., instance, Security Group, SKS cluster,...): + +`exo compute {{resource_type}} create {{resource_name}}` + +- List Exoscale Compute instance types: + +`exo compute instance-type list` + +- Register a new SSH key that can be used to access Compute instances: + +`exo compute ssh-key register {{key_name}} {{public_key_file}}` + +- Create a Compute instance with an ssh-key deployed on it: + +`exo compute instance create {{instance_name}} {{ssh_key_name}}` + +- Register a new Compute instance template based on a Snapshot of a Compute instance (useful when you want to quickly create a replica of a Compute instance): + +`exo compute instance template register {{template_name}} --from-snapshot {{snapshot_id}}` + +- Add a new rule to an existing Security Group: + +`exo compute security-group rule add {{security_group_name|id}} --description '{{Allow SSH access}}' --flow {{ingress}} --port {{22}} --network {{0.0.0.0/0}}` + +- Manage the services of an existing Network Load Balancer: + +`exo compute load-balancer service add {{load_balancer_name|id}} {{service_name}} --port {{service_port}}` diff --git a/pages/common/exo-dbaas.md b/pages/common/exo-dbaas.md new file mode 100644 index 0000000000..ae68463250 --- /dev/null +++ b/pages/common/exo-dbaas.md @@ -0,0 +1,28 @@ +# exo dbaas + +> Manage Exoscale DBaaS. +> More information: . + +- List available Database Service types: + +`exo dbaas type list` + +- List available plans for a Database Service type: + +`exo dbaas type show {{database_service_type}} --plans` + +- Create a new Database Service (an IP filter must be specified in order to access the service): + +`exo dbaas create {{database_service_type}} {{database_service_type_plan}} {{database_service_name}} --{{database_service_type}}-ip-filter {{1.2.3.4/32}}` + +- Show the connection URI for a Database Service: + +`exo dbaas show {{database_service_name}} --uri` + +- Set a specified maintenance time and day of the week for a Database Service: + +`exo dbaas update {{database_service_name}} --maintenance-dow {{day_of_the_week}} --maintenance-time {{HH:MM:SS}}` + +- Get help for a specific Database Service type: + +`exo dbaas {{subcommand}} --help-{{database_service_type}}` diff --git a/pages/common/exo-iam.md b/pages/common/exo-iam.md new file mode 100644 index 0000000000..6aad681dfa --- /dev/null +++ b/pages/common/exo-iam.md @@ -0,0 +1,24 @@ +# exo iam + +> Manage the Exoscale IAM service. +> More information: . + +- List all of the IAM roles: + +`exo iam role list` + +- Create a new API key: + +`exo iam api-key create {{api_key_name}} {{iam_role_name}}` + +- Create a new IAM role: + +`cat {{/path/to/policy.json}} | exo iam role create {{iam_role_name}} --editable --policy -` + +- Show the policy of an existing IAM role: + +`exo iam role show {{iam_role_name}} --policy {{[-O|--output-format]}} {{json}} | jq .` + +- Update the default Organization policy (the default Organization policy will be applied to all of the API keys within the Organization): + +`cat {{/path/to/policy.json}} | exo iam org-policy update -` diff --git a/pages/common/exo-storage.md b/pages/common/exo-storage.md new file mode 100644 index 0000000000..31b272ea4d --- /dev/null +++ b/pages/common/exo-storage.md @@ -0,0 +1,24 @@ +# exo storage + +> Manage the Exoscale Simple Object Storage (SOS) service. +> More information: . + +- Create a new SOS bucket: + +`exo storage mb {{bucket_name}}` + +- Upload a file to a bucket: + +`exo storage put {{file_path}} {{bucket_name}}/{{prefix/}}` + +- List the objects within a bucket: + +`exo storage ls {{bucket_name}}` + +- Simulate the download of an object from a bucket: + +`exo storage get {{bucket_name}}/{{object_key}} {{local_path}} --dry-run` + +- Manage the metadata of an object: + +`exo storage metadata add {{bucket_name}}/{{object_key}} {{key=value}}` diff --git a/pages/common/exo.md b/pages/common/exo.md new file mode 100644 index 0000000000..8905357131 --- /dev/null +++ b/pages/common/exo.md @@ -0,0 +1,29 @@ +# exo + +> Manage the Exoscale services. +> Some subcommands such as `exo compute` have their own usage documentation. +> More information: . + +- Configure the exo command-line: + +`exo config` + +- Generate the exo autocompletion script for a specified shell: + +`exo completion {{zsh}}` + +- List all of the available zones and output them as json: + +`exo zone {{[-O|--output-format]}} {{json}}` + +- Quietly create a Compute instance in a specific zone (disables the non-essential command output): + +`exo compute instance create {{instance_name}} --zone {{zone}} {{[-Q|--quiet]}}` + +- List just the name of all of the buckets in the Organization: + +`exo storage list {{[-O|--output-template]}} '\{\{ .Name \}\}` + +- Display help for a specific sub-command: + +`exo {{iam}} {{[-h|--help]}}`