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 |
---|---|---|---|
|
Optional |
Output directory for the project to be created. |
Template name |
|
Required |
Name of the template. |
|
|
Optional |
Template placeholder values can be specified as key-value pairs. You can use lowercase letters, numbers and the underscore character in keys. Example: |
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:
-
defaults.yaml
(keys cannot contain punctuation) -
config.yaml
-
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 |
---|---|---|---|
|
false |
When enabled, it only lists templates that exist in |
|
|
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