Follow the steps below to get started.
Running the following command will produce a .charm
file, new-jobbergate-cli.charm
:
make charm
new-jobbergate-cli.yaml
new-jobbergate-cli:
backend-base-url: "<jobbergate-api-backend-base-url>"
oidc-domain: "<jobbergate-oidc-domain>"
oidc-audience: "<jobbergate-oidc-audience>"
oidc-client-id: "<jobbergate-oidc-client-id>"
Using the built charm and the defined config, run the command to deploy the charm.
juju deploy ./new-jobbergate-cli.charm \
--config ./new-jobbergate-cli.yaml \
--series centos7
To make a new release of the Jobbergate-cli Charm:
- Update the CHANGELOG.rst file, moving the changes under the Unreleased section to the new version section. Always keep an
Unreleased
section at the top. - Create a new commit with the title
Release x.y.z
- Create a new annotated Git tag, adding a summary of the changes in the tag message:
git tag --annotate --sign x.y.z
- Push the new tag to GitHub:
git push --tags
The new-jobbergate-cli charm exposes additional functionality to facilitate new-jobbergate-cli package upgrades.
To upgrade the new-jobbergate-cli to a new version or release:
juju run-action new-jobbergate-cli/leader upgrade version="3.2.4"
This will result in the new-jobbergate-cli package upgrade to 3.2.4.
If you need to be able to upload user logs to S3, you will need to include in the config:
new-jobbergate-cli:
s3-log-bucket: <bucket_name> # Usually the default is fine here
aws-access-key-id: <key_id>
aws-secret-access-key: <secret-key>
If you want error events to be sent to Sentry, you can add the DSN to the config:
```yaml
new-jobbergate-cli:
sentry-dsn: <sentry_dsn> # Find this in Sentry Project Settings under "Client Keys".
Application-specific environments can be set in the config option application-specific-environments
. They are managed as hatch environments, please refer to the Hatch documentation for more information. For instance, an environment named application
can be set as follows:
[tool.hatch.envs.application]
extra-dependencies = [
"foo",
"bar",
"baz",
]
It will inherit jobbergate-cli
and its dependencies from the base environment and add the extra dependencies foo
, bar
, and baz
.
Application-specific environments are available at /srv/new-jobbergate-cli-venv/env/virtual/<env_name>/lib
.
The application workflow file (e.g. jobbergate.py
) can enable them at runtime by using sys.path.append
to add the path to the environment.
- MIT (see
LICENSE
file in this directory for full preamble)