diff --git a/website/source/assets/stylesheets/_docs.scss b/website/source/assets/stylesheets/_docs.scss index cd8ab8faa688..c132d0ad2c22 100755 --- a/website/source/assets/stylesheets/_docs.scss +++ b/website/source/assets/stylesheets/_docs.scss @@ -8,6 +8,7 @@ body.page-sub{ body.layout-commands-state, body.layout-archive, +body.layout-arukas, body.layout-atlas, body.layout-aws, body.layout-azure, diff --git a/website/source/docs/providers/arukas/index.html.markdown b/website/source/docs/providers/arukas/index.html.markdown new file mode 100644 index 000000000000..7fcc1d06bf0f --- /dev/null +++ b/website/source/docs/providers/arukas/index.html.markdown @@ -0,0 +1,82 @@ +--- +layout: "arukas" +page_title: "Provider: Arukas" +sidebar_current: "docs-arukas-index" +description: |- + The Arukas provider is used to interact with the resources supported by Arukas. +--- + +# Arukas Provider + +The Arukas provider is used to manage [Arukas](https://arukas.io/en/) resources. + +Use the navigation to the left to read about the available resources. + +For additional details please refer to [Arukas documentation](https://arukas.io/en/category/documents-en/). + +## Example Usage + +Here is an example that will setup the following: + ++ A container resource using the "NGINX" image ++ Instance count is 1 ++ Memory size is 256Mbyte ++ Expose tcp 80 port to the EndPoint ++ Set environments variable with like "key1=value1" + +Add the below to a file called `arukas.tf` and run the `terraform` command from the same directory: + +```hcl +provider "arukas" { + token = "" + secret = "" +} + +resource "arukas_container" "foobar" { + name = "terraform_for_arukas_test_foobar" + image = "nginx:latest" + instances = 1 + memory = 256 + ports = { + protocol = "tcp" + number = "80" + } + environments { + key = "key1" + value = "value1" + } +} +``` + +You'll need to provide your Arukas API token and secret, +so that Terraform can connect. If you don't want to put +credentials in your configuration file, you can leave them +out: + +``` +provider "arukas" {} +``` + +...and instead set these environment variables: + +- `ARUKAS_JSON_API_TOKEN` : Your Arukas API token +- `ARUKAS_JSON_API_SECRET`: Your Arukas API secret + +## Argument Reference + +The following arguments are supported: + +* `token` - (Required) This is the Arukas API token. It must be provided, but + it can also be sourced from the `ARUKAS_JSON_API_TOKEN` environment variable. + +* `secret` - (Required) This is the Arukas API secret. It must be provided, but + it can also be sourced from the `ARUKAS_JSON_API_SECRET` environment variable. + +* `api_url` - (Optional) Override Arukas API Root URL. Also taken from the `ARUKAS_JSON_API_URL` + environment variable if provided. + +* `trace` - (Optional) The flag of Arukas API trace log. Also taken from the `ARUKAS_DEBUG` + environment variable if provided. + +* `timeout` - (Optional) Override Arukas API timeout seconds. Also taken from the `ARUKAS_TIMEOUT` + environment variable if provided. \ No newline at end of file diff --git a/website/source/docs/providers/arukas/r/container.html.markdown b/website/source/docs/providers/arukas/r/container.html.markdown new file mode 100644 index 000000000000..43f31b65327a --- /dev/null +++ b/website/source/docs/providers/arukas/r/container.html.markdown @@ -0,0 +1,98 @@ +--- +layout: "arukas" +page_title: "Arukas: container" +sidebar_current: "docs-arukas-resource-container" +description: |- + Manages Arukas Containers +--- + +# arukas container + +Provides container resource. This allows container to be created, updated and deleted. + +For additional details please refer to [API documentation](https://arukas.io/en/documents-en/arukas-api-reference-en/#containers). + +## Example Usage + +Create a new container using the "NGINX" image. + +```hcl +resource "arukas_container" "foobar" { + name = "terraform_for_arukas_test_foobar" + image = "nginx:latest" + instances = 1 + memory = 256 + ports = { + protocol = "tcp" + number = "80" + } + environments { + key = "key1" + value = "value1" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `name` - (Required, string) The name of the container. +* `image` - (Required, string) The ID of the image to back this container.It must be a public image on DockerHub. +* `instances` - (Optional, int) The count of the instance. It must be between `1` and `10`. +* `memory` - (Optional, int) The size of the instance RAM.It must be `256` or `512`. +* `endpoint` - (Optional,string) The subdomain part of the endpoint assigned by Arukas. If it is not set, Arukas will do automatic assignment. +* `ports` - (Required , block) See [Ports](#ports) below for details. +* `environments` - (Required , block) See [Environments](#environments) below for details. +* `cmd` - (Optional , string) The command of the container. + + +### Ports + +`ports` is a block within the configuration that can be repeated to specify +the port mappings of the container. Each `ports` block supports +the following: + +* `protocol` - (Optional, string) Protocol that can be used over this port, defaults to `tcp`,It must be `tcp` or `udp`. +* `number` - (Optional, int) Port within the container,defaults to `80`, It must be between `1` to `65535` + + +### Environments + +`environments` is a block within the configuration that can be repeated to specify +the environment variables. Each `environments` block supports +the following: + +* `key` - (Required, string) Key of environment variable. +* `value` - (Required, string) Value of environment variable. + + +## Attributes Reference + +The following attributes are exported: + +* `id` - The ID of the container. +* `app_id` - The ID of the Arukas application to which the container belongs. +* `name` - The name of the container. +* `image` - The ID of the image to back this container. +* `instances` - The count of the instance. +* `memory` - The size of the instance RAM. +* `endpoint` - The subdomain part of the endpoint assigned by Arukas. +* `ports` - See [Ports](#ports) below for details. +* `environments` - See [Environments](#environments) below for details. +* `cmd` - The command of the container. +* `port_mappings` - See [PortMappings](#port_mappings) below for details +* `endpoint_full_url` - The URL of endpoint. +* `endpoint_full_hostname` - The Hostname of endpoint. + + +### PortMappings + +`port_mappings` is a block within the configuration that +the port mappings of the container. Each `port_mappings` block supports +the following: + +* `host` - The name of the host actually running the container. +* `ipaddress` - The IP address of the host actually running the container. +* `container_port` - Port within the container. +* `service_port` - The actual port mapped to the port in the container. diff --git a/website/source/layouts/arukas.erb b/website/source/layouts/arukas.erb new file mode 100644 index 000000000000..5460b66478a8 --- /dev/null +++ b/website/source/layouts/arukas.erb @@ -0,0 +1,26 @@ +<% wrap_layout :inner do %> + <% content_for :sidebar do %> + + <% end %> + + <%= yield %> +<% end %> diff --git a/website/source/layouts/docs.erb b/website/source/layouts/docs.erb index fcb36b5838a9..2e8127cdb76f 100644 --- a/website/source/layouts/docs.erb +++ b/website/source/layouts/docs.erb @@ -178,6 +178,10 @@ Archive + > + Arukas + + > Atlas