Usage:
charmcraft init [options]
Summary:
Initialize a charm operator package tree and files.
This command will modify the directory to create the necessary files for a charm operator package. By default it will work in the current directory.
Available profiles are: simple: A basic kubernetes charm with lot of texts helping the developer to navigate their first charm by following the instructions.
kubernetes:
A basic Kubernetes charm with example container.
machine:
A basic charm but meant to be deployed in machine-based environments,
without container requirements.
flask-framework:
A basic Flask application charm for the 12-factor charm project.
Depending on the profile choice, Charmcraft will setup the following tree of files and directories:
.
├── charmcraft.yaml - Charm build configuration
├── CONTRIBUTING.md - Instructions for how to build and develop
│ your charm
├── LICENSE - Your charm license, we recommend Apache 2
├── pyproject.toml - Configuration for testing, formatting and
│ linting tools
├── README.md - Frontpage for your charmhub.io/charm/
├── requirements.txt - PyPI dependencies for your charm, with `ops`
├── src
│ └── charm.py - Minimal operator using Python operator framework
├── tests
│ ├── integration
│ │ └── test_charm.py - Integration tests
│ └── unit
│ └── test_charm.py - Unit tests
└── tox.ini - Configuration for tox, the tool to run all tests
You will need to edit at least charmcraft.yaml and README.md.
Your minimal operator code is in src/charm.py which uses the Python operator framework from https://github.com/canonical/operator and there are some example unit and integration tests with a harness to run them.
Options:
-h, --help |
Show this help message and exit |
-v, --verbose |
Show debug information and be more verbose |
-q, --quiet |
Only show warnings and errors, not progress |
--verbosity |
Set the verbosity level to ‘quiet’, ‘brief’, ‘verbose’, ‘debug’ or ‘trace’ |
-V, --version |
Show the application version and exit |
--name |
The name of the charm; defaults to the directory name |
--author |
The charm author; defaults to the current user name per GECOS |
-f, --force |
Initialize even if the directory is not empty (will not overwrite files) |
--profile |
Use the specified project profile (defaults to ‘simple’) |
-p, --project-dir |
Specify the project’s directory (defaults to current) |