@installdoc/ansible-gas-station
Version:
An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤
59 lines (54 loc) • 1.94 kB
YAML
version: '3'
tasks:
export:
deps:
- :install:software:ulaunchercraft
summary: |
# Export Ulaunchercraft Login Credentials
This task will export an unencrypted file called `ulauncher.login` which you can
use to extract the macaroon/unbound_discharge/email. Once extracted, save
them as environment variables for use with the other tasks.
log:
error: Error encountered while exporting `ulauncher.login`
start: Exporting login credentials to unencrpyted file named `ulauncher.login`
success: Successfully exported `ulauncher.login` (unencrypted)
cmds:
- ulaunchercraft export-login ulauncher.login
login:
deps:
- :install:software:ulaunchercraft
vars:
SNAP_LOGIN_TEMPLATE: |
[login.ubuntu.com]
macaroon = {{env "SNAPCRAFT_MACAROON"}}
unbound_discharge = {{env "SNAPCRAFT_UNBOUND_DISCHARGE"}}
email = {{env "SNAPCRAFT_EMAIL"}}
log:
error: Error encountered while logging into Ulaunchercraft
start: Logging into Ulaunchercraft
success: Successfully logged into Ulaunchercraft
cmds:
- |
echo '{{.SNAP_LOGIN_TEMPLATE}}' > ulauncher.login
ulaunchercraft login --with ulauncher.login || rm -f ulauncher.login
rm -f ulauncher.login
preconditions:
- '[ -n "$SNAPCRAFT_MACAROON" ]'
- '[ -n "$SNAPCRAFT_UNBOUND_DISCHARGE" ]'
- '[ -n "$SNAPCRAFT_EMAIL" ]'
register:
deps:
- :install:software:ulaunchercraft
vars:
SNAP_PACKAGE:
sh: jq -r '.blueprint.ulauncherPackage' package.json
log:
error: Error ensuring `{{.SNAP_PACKAGE}}` is registered
start: Ensuring `{{.SNAP_PACKAGE}}` is registered
success: Ensured `{{.SNAP_PACKAGE}}` is registered
cmds:
- task: login
- ulaunchercraft register --yes {{.SNAP_PACKAGE}}
status:
- ulaunchercraft list | grep {{.SNAP_PACKAGE}}