arconia template

The arconia template command manages and publishes project templates. Templates are Java projects published as OCI artifacts that can be used with arconia create.

Commands

init

Initialize a project.yml configuration file in a project directory to prepare it for publishing as a template via arconia template push.

arconia template init \
  --name server-http \
  --description "A Spring Boot HTTP server template"

arconia template init \
  --name server-http \
  --description "A Spring Boot HTTP server template" \
  --type service \
  --license Apache-2.0 \
  --package-name io.arconia.demo \
  --label spring-boot --label http

Options

Option Default Description

--name (required)

The template name.

--description (required)

The template description.

--type

application

The template type (e.g. application, service).

--license

LicenseRef-Proprietary

The SPDX license identifier.

--package-name

com.example

The default Java package name.

--label

Labels for the template (e.g. --label spring-boot --label http). Can be specified multiple times.

--path

(current directory)

The directory to create project.yml in.

--force

false

Overwrite an existing project.yml file.

--verbose or -v

false

Include verbose output.

--help or -h

Display help information for the command.

list

List available project templates from all registered catalogs.

arconia template list
arconia template list --name arconia-project-templates

Options

Option Default Description

--name

The name of a specific registered catalog to list templates from. If omitted, lists templates from all registered catalogs.

--registry-insecure

false

Call the OCI registry over HTTP instead of HTTPS.

--registry-skip-tls-verify

false

Allow TLS connections without validating certificates.

--verbose or -v

false

Include verbose output.

--help or -h

Display help information for the command.

push

Publish a project template as an OCI artifact. Exactly one of --ref or --base-ref must be specified.

arconia template push --ref ghcr.io/arconia-io/arconia-templates/server-http
arconia template push --ref ghcr.io/arconia-io/arconia-templates/server-http --tag 1.0.0
arconia template push --base-ref ghcr.io/arconia-io/arconia-templates --output-report

Options

Option Default Description

--ref

The full OCI artifact reference for a single project template (e.g. ghcr.io/arconia-io/arconia-templates/server-http). Mutually exclusive with --base-ref.

--base-ref

The base OCI reference for all discovered project templates (e.g. ghcr.io/arconia-io/arconia-templates). Discovers and pushes all templates found as direct subdirectories of --path. Mutually exclusive with --ref.

--path

(current directory)

Path to the template directory, or with --base-ref: the parent directory to discover templates in.

--tag

latest

The version tag (e.g. latest, semantic version number, commit sha).

--annotation

Additional annotations in key=value format (e.g. --annotation org.opencontainers.image.vendor=arconia). Can be specified multiple times.

--output-report

template-push-report.json

Write a publish report file. Defaults to template-push-report.json when specified without a path. The report can be used for downstream operations such as catalog publishing (arconia template catalog push --from-report), artifact signing (e.g. cosign), or SLSA provenance attestation.

--registry-insecure

false

Call the OCI registry over HTTP instead of HTTPS.

--registry-skip-tls-verify

false

Allow TLS connections without validating certificates.

--verbose or -v

false

Include verbose output.

--help or -h

Display help information for the command.