A newer version of Hazelcast CLC is available.

View latest

clc project (Beta)

Project commands are a group of project operations.

Usage:

clc project [command] [flags]

clc project create

Creates a project from the given template.

Usage:

clc project create [template-name] [placeholder-values] [flags]

Parameters:

Parameter Required Description Default

--output-dir, -o

Optional

Output directory for the project to be created.

Template name

template-name

Required

Name of the template.

placeholder-values

Optional

Template placeholder values can be specified as key-value pairs. You can use lowercase letters, numbers and the underscore character in keys. Example: my_key1=value

Creating and Using Your Own Templates

Templates are located in https://github.com/hazelcast-templates. You can override it by using CLC_EXPERIMENTAL_TEMPLATE_SOURCE environment variable.

Rules while creating your own templates:

  • Templates are in Go template format.

  • You can create a "defaults.yaml" file for default values in template’s root directory.

  • Template files must have the ".template" extension.

  • Files with "." and "_" prefixes are ignored unless they have the ".keep" extension.

  • All files with ".keep" extension are copied by stripping the ".keep" extension.

  • Other files are copied verbatim.

Properties are read from the following resources in order:

  1. defaults.yaml (keys cannot contain punctuation)

  2. config.yaml

  3. User passed key-values in the "KEY=VALUE" format. The keys can only contain lowercase letters, numbers and the underscore character.

You can use the placeholders in "defaults.yaml" and the following configuration item placeholders:

  • cluster_name

  • cluster_address

  • cluster_user

  • cluster_password

  • cluster_discovery_token

  • ssl_enabled

  • ssl_server

  • ssl_skip_verify

  • ssl_ca_path

  • ssl_key_path

  • ssl_key_password

  • log_path

  • log_level

Example (Linux and macOS):

clc project create \
simple-streaming-pipeline\
--output-dir my-project\
my_key1=my_value1 my_key2=my_value2

Example (Windows):

clc project create^
simple-streaming-pipeline^
--output-dir my-project^
my_key1=my_value1 my_key2=my_value2

clc project list-templates

Lists templates that can be used while creating projects.

Usage:

clc project list-templates [flags]

Parameters:

Parameter Required Description Default

--local

false

When enabled, it only lists templates that exist in <clc_home>/templates

--force

false

Templates are fetched and cached in a local data store. iIf you want to force CLC to fetch the latest templates from the remote repositories, you should set this parameter.

--force and --local parameters cannot be set at the same time, because they serve for different purposes. --force is used for templates in remote repositories, while --local is used to list templates in local environment.

Example:

clc project list-templates