Creating a Project

You can create a project using Cockpit and OKS CLI.

Once you have created your first project, you can then start Managing Your Clusters.

Creating a Project Using Cockpit

  1. In the Projects dashboard, click IconAddFull Create OKS Project.
    The CREATE OKS PROJECT dialog box appears.

  2. In the Name field, type a name for the project.

    The name must contain between 1 and 40 alphanumeric characters and/or dashes (-). The name must start with a lowercase letter and must not end with a dash.

  3. In the CIDR field, type a range of IPs, in CIDR notation, that will be used in Net Subnets for all VMs on which the cluster will run.

    Once a project is created, you cannot change its CIDR.

    • CIDR should be a private block within the RFC 1918 ranges. For more information, see the RFC 1918 documentation.

    • The minimum accepted CIDR size is /23, and the maximum accepted CIDR size is /16. For more information, see About Nets.

    • The 172.31.0.0/16 CIDR must not be used, as it is reserved for internal usage.

  4. (optional) In the Description field, type a description of the project.

  5. Check or uncheck the Disable API termination box:

    • If the box is checked, you cannot delete the project through the API.

    • If the box is unchecked, you can delete the project through the API.

  6. Click Create.
    The project is created.

Creating a Project Using OKS CLI

Before you begin: Install and configure OKS CLI. For more information, see Installing and Configuring OKS CLI.

The project create command allows you to create a project:

Request sample
$ oks-cli project create \
    --project-name NAME_OF_PROJECT \
    --description "DESCRIPTION_OF_PROJECT" \
    --cidr "RANGE_OF_IP_ADDRESSES" \
    --tags "tag1=this,tag2=that" \
    --set net_specific.disable_lan_security_groups=false

This command contains the following options that you need to specify:

  • project-name: The name of the project, with a maximum length of 40 alphanumeric characters and dashes (-). This name must start with a lowercase letter and must not end with a dash.

  • (optional) description: A description for the project.

  • (optional) cidr: A range of IPs in CIDR notation that will be used in VPC Subnets for all VMs on which the cluster will run. By default, 10.50.0.0/16.

    Once a project is created, you cannot change its CIDR.

    • CIDR should be a private block within the RFC 1918 ranges. For more information, see the RFC 1918 documentation.

    • The minimum accepted CIDR size is /23, and the maximum accepted CIDR size is /16. For more information, see About Nets.

    • The 172.31.0.0/16 CIDR must not be used, as it is reserved for internal usage.

  • (optional) output: The output format for the response (json | yaml). By default, the response format is JSON.

  • (optional) tags: One or more tags associated with the project.

  • disable-api-termination: The ability to delete the project through the API. If true, project deletion is disabled. If false, it is enabled.

  • (optional) quirk: Advanced keys and parameters to pass to the control panel of the project. This option is required for feature requests.

  • (optional) filename: The name of the definition file that you want to create the project from.

  • (optional) set: Allows you to define properties.

    • net_specific.disable_lan_security_groups: If set to true, disables LAN security groups for the project network, modifying the default firewall behavior within the VPC.

      For workloads requiring low-latency node-to-node communication, disabling LAN security groups can help reduce latency.

The project create command returns the following elements:

  • id: The unique identifier of the project.

  • name: The name of the project.

  • description: The description of the project.

  • cidr: The CIDR block allocated for VPC subnets where cluster VMs will run.

  • region: The Region where the project is deployed.

  • status: The current state of the project.

    A project can be in one of the following states:

    • pending: The underlying resources of the project are being initialized.

    • ready: The project is fully set up and ready for use.

    • updating: The project is currently updating.

    • failed: The project has failed. To remedy this, contact our Support team at support@outscale.com.

    • deleting: The project is in the process of being deleted, and its associated resources are being cleaned up.

  • tags: One or more tags associated with the project.

  • net_specific: A set of network-specific configuration options for the project.

    • disable_lan_security_groups: Indicates whether LAN security groups are disabled for the project.

  • disable-api-termination: The ability to delete the project through the API. If true, project deletion is disabled. If false, it is enabled.

  • created_at: The date and time, in UTC format, at which the project was created.

  • updated_at: The date and time, in UTC format, at which the project was last updated.

  • deleted_at: The date and time, in UTC format, at which the project was deleted (null if the project is still active).

Result sample
{
  "id": "12ca0d38-2927-4cf1-93de-049135f88f00",
  "name": "NAME_OF_PROJECT",
  "description": "DESCRIPTION_OF_PROJECT",
  "cidr": "10.50.0.0/16",
  "region": "eu-west-2",
  "status": "pending",
  "tags": {
    "tag1": "this",
    "tag2": "that"
  },
  "net_specific": {
    "disable_lan_security_groups": false
  },
  "disable_api_termination": false,
  "created_at": "2025-01-01T12:10:00.000000Z"
}

Creating a Project Using a Manifest File

Before you begin:

  1. Write the configuration of your project in a YAML manifest file:

    Manifest Sample
    name: NAME_OF_PROJECT
    description: DESCRIPTION_OF_PROJECT
    cidr: RANGE_OF_IP_ADDRESSES
    region: REGION
    tags:
      tag1: this
      tag2: that
    disable_api_termination: false
    net_specific:
      disable_lan_security_groups: false

    This command contains the following options that you need to specify:

    • project-name: The name of the project, with a maximum length of 40 alphanumeric characters and dashes (-). This name must start with a lowercase letter and must not end with a dash.

    • (optional) description: A description for the project.

    • cidr: A range of IPs in CIDR notation that will be used in VPC Subnets for all VMs on which the cluster will run. By default, 10.50.0.0/16.

      Once a project is created, you cannot change its CIDR.

      • CIDR should be a private block within the RFC 1918 ranges. For more information, see the RFC 1918 documentation.

      • The minimum accepted CIDR size is /23, and the maximum accepted CIDR size is /16. For more information, see About Nets.

      • The 172.31.0.0/16 CIDR must not be used, as it is reserved for internal usage.

    • (optional) region: The Region in which the project is created. (eu-west-2 | cloudgouv-eu-west-1).

    • (optional) tags: One or more tags associated with the project.

    • disable-api-termination: The ability to delete the project through the API. If true, project deletion is disabled. If false, it is enabled.

    • (optional) quirk: Advanced keys and parameters to pass to the control panel of the project. This option is required for feature requests.

    • (optional) set: Allows you to define properties.

      • net_specific.disable_lan_security_groups: If set to true, disables LAN security groups for the project network, modifying the default firewall behavior within the VPC.

        For workloads requiring low-latency node-to-node communication, disabling LAN security groups can help reduce latency.

  2. Apply your configuration file to your profile using the project create command:

$ oks-cli project create \
    --profile YOUR_PROFILE \
    --filename ~/PATH/NAME_OF_PROJECT_FILE.yaml

The project create command returns the following elements:

  • id: The unique identifier of the project.

  • name: The name of the project.

  • description: The description of the project.

  • cidr: The CIDR block allocated for VPC subnets where cluster VMs will run.

  • region: The Region where the project is deployed.

  • status: The current state of the project.

    A project can be in one of the following states:

    • pending: The underlying resources of the project are being initialized.

    • ready: The project is fully set up and ready for use.

    • updating: The project is currently updating.

    • failed: The project has failed. To remedy this, contact our Support team at support@outscale.com.

    • deleting: The project is in the process of being deleted, and its associated resources are being cleaned up.

  • tags: One or more tags associated with the project.

  • net_specific: A set of network-specific configuration options for the project.

    • disable_lan_security_groups: Indicates whether LAN security groups are disabled for the project.

  • disable-api-termination: The ability to delete the project through the API. If true, project deletion is disabled. If false, it is enabled.

  • created_at: The date and time, in UTC format, at which the project was created.

  • updated_at: The date and time, in UTC format, at which the project was last updated.

  • deleted_at: The date and time, in UTC format, at which the project was deleted (null if the project is still active).

Result sample
{
  "id": "12ca0d38-2927-4cf1-93de-049135f88f00",
  "name": "NAME_OF_PROJECT",
  "description": "DESCRIPTION_OF_PROJECT",
  "cidr": "10.50.0.0/16",
  "region": "eu-west-2",
  "status": "pending",
  "tags": {
    "tag1": "this",
    "tag2": "that"
  },
  "net_specific": {
    "disable_lan_security_groups": false
  },
  "disable_api_termination": false,
  "created_at": "2025-01-01T12:10:00.000000Z"
}

Related Pages

Corresponding API Method