zerotier-service

Description

Installs the ZeroTier client, and a service init job (systemd, etc).

This does not join a network or anything else. Check out the 'zerotier-network-member' for this.

Resources

Variables

Name Type Default Description

enabled

boolean False

Whether to enable the zerotier-one service or not.

started

boolean False

Whether to start the zerotier-one service or not.

Code

doc:
  short_help: Add and authorize a new member to an existing zerotier network.
  help: |
    Installs the [ZeroTier client](https://www.zerotier.com/download.shtml), and a service init job (systemd, etc).

    This does not join a network or anything else. Check out the 'zerotier-network-member' for this.

  references:
    ZeroTier homepage: https://zerotier.com
    ZeroTier client: https://www.zerotier.com/download.shtml
    ZeroTier manual: https://www.zerotier.com/manual.shtml

args:
  enabled:
    doc:
      short_help: Whether to enable the zerotier-one service or not.
    type: boolean
    required: false
    default: false
    cli:
      is_flag: true
  started:
    doc:
      short_help: Whether to start the zerotier-one service or not.
    type: boolean
    required: false
    default: false
    cli:
      is_flag: true

frecklets:
- packages-installed:
    packages:
    - name: gpg
      pkgs:
        debian: gpg
- task:
    become: true
    include-type: import
  frecklet:
    name: m4rcu5nl.zerotier
    type: ansible-role
    resources:
      ansible-role:
      - m4rcu5nl.zerotier
    properties:
      idempotent: true
      elevated: true
      internet: true
    desc:
      references:
        "'m4rcu5nl.zerotier' Ansible role": https://github.com/m4rcu5nl/ansible-role-zerotier
      short: adding machine to zerotier network
      long: |
        Installing the Zerotier client on the target machine and setup a service unit for it.
- init-service-configured:
    name: zerotier-one
    started: '{{:: started ::}}'
    enabled: '{{:: enabled ::}}'
frecklecute zerotier-service --help

Usage: frecklecute zerotier-service [OPTIONS]

  Installs the [ZeroTier client](https://www.zerotier.com/download.shtml),
  and a service init job (systemd, etc).

  This does not join a network or anything else. Check out the 'zerotier-
  network-member' for this.

Options:
  --enabled / --no-enabled  Whether to enable the zerotier-one service or not.
  --started / --no-started  Whether to start the zerotier-one service or not.
  --help                    Show this message and exit.
# -*- coding: utf-8 -*-


#
# module path: pycklets.zerotier_service.ZerotierService
#


from dataclasses import dataclass
from pyckles import AutoPycklet
from typing import *    # noqa

@dataclass
class ZerotierService(AutoPycklet):
    """Installs the [ZeroTier client](https://www.zerotier.com/download.shtml), and a service init job (systemd, etc).

     This does not join a network or anything else. Check out the 'zerotier-network-member' for this.

       Args:
         enabled: Whether to enable the zerotier-one service or not.
         started: Whether to start the zerotier-one service or not.

    """

    FRECKLET_ID = "zerotier-service"

    enabled: bool = None
    started: bool = None


    def __post_init__(self):
        super(ZerotierService, self).__init__(var_names=["enabled", "started"])


frecklet_class = ZerotierService
# -*- coding: utf-8 -*-


#
# module path: pycklets.zerotier_service.ZerotierService
#


from pyckles import AutoPycklet

class ZerotierService(AutoPycklet):
    """Installs the [ZeroTier client](https://www.zerotier.com/download.shtml), and a service init job (systemd, etc).

     This does not join a network or anything else. Check out the 'zerotier-network-member' for this.

       Args:
         enabled: Whether to enable the zerotier-one service or not.
         started: Whether to start the zerotier-one service or not.

    """

    FRECKLET_ID = "zerotier-service"

    def __init__(self, enabled=None, started=None):

        super(ZerotierService, self).__init__(var_names=["enabled", "started"])
        self._enabled = enabled
        self._started = started

    @property
    def enabled(self):
        return self._enabled

    @enabled.setter
    def enabled(self, enabled):
        self._enabled = enabled

    @property
    def started(self):
        return self._started

    @started.setter
    def started(self, started):
        self._started = started



frecklet_class = ZerotierService