npm.io
4.30.8 • Published 1 week agoCLI

pmcf

Licence
0BSD
Version
4.30.8
Deps
6
Size
171 kB
Vulns
0
Weekly
0

npm License bundlejs downloads GitHub Issues Build Status Styled with prettier Commitizen friendly Known Vulnerabilities

pmcf

Poor mans configuration management

Generates system packages from config blueprint.

supported linux derivates:

  • arch linux
  • debian
  • rpm based systems

generates config packages for:

  • systemd
    • networkd
    • timesyncd
    • resolverd
    • journald
  • kea
  • bind
  • mosquitto
  • influxdb
  • iwd
  • chrony
  • openldap

API

Table of Contents

Base

attributes: as declared in the types properties: use defined values to support attribute value definitions

Parameters
mapFromDirections

Deliver AggregatedMap of all property Maps.

Parameters

Returns Map<any, any>

unionFromDirections

Deliver union set of all property values.

Parameters

Returns Set<any>

walkDirections

Walk the object graph in some directions and deliver seen nodes.

Parameters
  • directions Array<string> (optional, default ["this","extends","owner"])

Returns Iterable<Base>

attribute
Parameters

Returns any

attributeIterator

Retrive attribute values from an object.

Parameters

Returns Iterable<[string, any]> values

getAttributes

Retrive attribute values from an object.

Parameters
  • filter Function? (optional, default filterPublic)

Returns Object values

property
Parameters

Returns any

priority

Returns number

expression
Parameters

Returns any

templateContent
Parameters
  • entryProperties any
  • directoryProperties any

Returns AsyncIterable<ContentProvider>

isTemplate

Returns boolean

expand
Parameters
  • object any

Returns any

PortEndpoint

Extends BaseEndpoint

Endpoint with an ip port

Parameters
  • service
  • data
port

Returns number

socketAddress

Returns string

HTTPEndpoint

Extends BaseEndpoint

Endpoint based on http

Parameters
  • service Service
  • address any
  • data object
port

Returns number

id

Returns string

InitializationContext

Keeps track of all in flight object creations and loose ends during config initialization.

Parameters
  • directory (optional, default "/")

SkeletonNetworkInterface

Extends ServiceOwner

networkAddresses
Parameters
  • filter Object (optional, default n=>true)

Returns Iterable<NetworkAddress>

SystemdJournalRemoteService

Extends Service

Properties
systemdConfigs
Parameters

Returns Object

SystemdJournalUploadService

Extends Service

Properties
systemdConfigs
Parameters

Returns Object

NetworkAddress

Parameters
subnet

Type: Subnet

networkInterface

Type: NetworkInterface

address

Type: (string | Uint8Array | Uint16Array)

addresses

Parameters

Returns Iterable<string> addresses

cidrAddresses

Parameters

Returns Array<string>

secretName

Returns string

isTemplate

Returns boolean

serviceEndpoints

Parameters
  • sources any

  • options Object? (optional, default {})

    • options.services Function? filter for services
    • options.endpoints Function? filter for endpoints
    • options.select Function? mapper from Endpoint into result
    • options.limit number? upper limit of # result items
    • options.join string? join result(s) into a string

Returns (string | any)

domainName

Appends default domain if name does not already have a domain.

Parameters

Returns (string | undefined)

domainFromDominName

Extracts domain name from a name.

Parameters

Returns (string | undefined)

sectionLines

Parameters

Returns Array<string>

asArray

Parameters
  • value any

Returns Array<any>

asIterator

Parameters
  • value any

Returns Iterable<any>

install

With npm do:

npm install pmcf

Keywords