Muokkaa tätä sivua Chef-arkistossa
Tämä sivu on luotu Chef Infra Client-lähteestä code.To Ehdota muutosta, muokkaa laukaisua.RB-tiedosto ja lähetä pull-pyyntö Chef Infra-asiakasrekisteriin.
kaikki Infra-resurssit-sivu
käytä launchd-resurssia järjestelmän laajuisten palvelujen (daemonit) ja käyttäjäkohtaisten palvelujen (agentit) hallintaan macOS-alustalla.
Uusi Chef Infra-asiakas 12.8.
syntaksi
kaikkien launchd-resurssin käytettävissä olevien ominaisuuksien täydellinen syntaksi on:
launchd 'name' do abandon_process_group true, false backup Integer, false cookbook String debug true, false disabled true, false # default value: false enable_globbing true, false enable_transactions true, false environment_variables Hash exit_timeout Integer group String, Integer hard_resource_limits Hash inetd_compatibility Hash init_groups true, false keep_alive true, false, Hash label String # default value: 'name' unless specified launch_events Hash launch_only_once true, false ld_group String limit_load_from_hosts Array limit_load_to_hosts Array limit_load_to_session_type Array, String low_priority_io true, false mach_services Hash mode String, Integer nice Integer on_demand true, false owner String, Integer path String plist_hash Hash process_type String program String program_arguments Array queue_directories Array root_directory String run_at_load true, false session_type String sockets Hash soft_resource_limits Array source String standard_error_path String standard_in_path String standard_out_path String start_calendar_interval Hash, Array start_interval Integer start_on_mount true, false throttle_interval Integer time_out Integer type String # default value: "daemon" umask Integer username String wait_for_debugger true, false watch_paths Array working_directory String action Symbol # defaults to :create if not specifiedend
jossa:
-
launchd
on voimavara. -
name
on resurssilohkolle annettu nimi. -
action
yksilöi, mihin toimiin Chef Infra-asiakas ryhtyy saadakseen solmun haluttuun tilaan. -
abandon_process_group
,backup
,cookbook
,debug
,disabled
,enable_globbing
,enable_transactions
,environment_variables
,exit_timeout
,group
,hard_resource_limits
,inetd_compatibility
,init_groups
,keep_alive
,label
,launch_events
,launch_only_once
,ld_group
,limit_load_from_hosts
,limit_load_to_hosts
,limit_load_to_session_type
,low_priority_io
,mach_services
,mode
,nice
,on_demand
,owner
,path
,plist_hash
,process_type
,program
,program_arguments
,queue_directories
,root_directory
,run_at_load
,session_type
,sockets
,soft_resource_limits
,source
,standard_error_path
,standard_in_path
,standard_out_path
,start_calendar_interval
,start_interval
,start_on_mount
,throttle_interval
,time_out
,type
,umask
,username
,wait_for_debugger
,watch_paths
, jaworking_directory
ovat tämän resurssin käytettävissä olevat ominaisuudet.
toimet
launchd-resurssilla on seuraavat toiminnot:
:create
Default. Luo launchd-ominaisuusluettelo.:create_if_missing
luo launchd-ominaisuusluettelo, jos sitä ei ole jo olemassa.:delete
Poista launchd-ominaisuusluettelo. Tämä purkaa taustaprosessin tai agentin, jos se on ladattu.:disable
Poista launchd-ominaisuusluettelo käytöstä.:enable
luo launchd-ominaisuusluettelo ja varmista sitten, että se on käytössä. Jos launchd-ominaisuusluettelo on jo olemassa, mutta se ei täsmää, päivittää ominaisuusluettelon täsmäämään ja käynnistää sitten taustaprosessin tai agentin uudelleen.:nothing
tämä resurssilohko ei toimi, ellei toinen resurssi ilmoita toimea. Kun tämä resurssilohko on ilmoitettu, se joko suoritetaan välittömästi tai jonotetaan Chef Infra-asiakasohjelman loppuun.:restart
Käynnistä launchd: n hallittu taustaprosessi tai agentti uudelleen.
ominaisuudet
launchd-resurssilla on seuraavat ominaisuudet:
abandon_process_group
Ruby Type: true, false
jos työ kuolee, kaikki jäljellä olevat prosessit, joilla on sama prosessin tunnus, saattavat pitää käynnissä. Aseta todeksi tappaaksesi kaikki jäljellä olevat prosessit.
backup
Rubiinityyppi: kokonaisluku, väärä
pidettävien varmuuskopioiden määrä /var/chef/backup
. Asetafalse
estämään varmuuskopioiden säilyttäminen.
cookbook
Rubiinityyppi: Merkkijono
keittokirjan nimi, jossa lähdetiedostot sijaitsevat.
group
Ruby Type: String, kokonaisluku
kun launchd suoritetaan pääkäyttäjänä, ryhmä, jolla tehtävä suoritetaan.Jos ominaisuus username
on määritetty ja tätä ominaisuutta ei ole, tämä arvo asetetaan käyttäjän oletusryhmäksi.
label
Ruby Type: String
the unique identifier for the job.
mode
Rubiinityyppi: kokonaisluku, merkkijono / oletusarvo:'0755'
lainattu 3-5 merkin merkkijono, joka määrittelee oktaalitilan. Esimerkki: '755'
, '0755'
tai 00755
.
owner
Rubiinityyppi: Kokonaisluku, merkkijono
merkkijono tai tunnus,joka tunnistaa ryhmän omistajan käyttäjänimen perusteella, mukaan lukien täysin pätevät käyttäjätunnukset, kuten domain\user
taiuser@domain
. Jos Tätä arvoa ei ole määritetty, nykyiset omistajat säilyvät muuttumattomina ja uudet omistajatehtävät käyttävät nykyistä käyttäjää(tarvittaessa).
path
Ruby Type: String
the path to the directory. Täysin pätevän polun käyttöä suositellaan, mutta sitä ei aina tarvita. Oletusarvo: resurssilohkon name
. Lisätietoja on kohdassa ”syntaksi”.
plist_hash
Rubiinityyppi: Hash
avainarvoparien Hash, jota käytetään launchd-ominaisuusluettelon luomiseen.
session_type
Ruby Type: String
the type of launchd plist to be created. Mahdolliset arvot: system
(oletusarvo) tai user
.
source
Ruby Type: String
the path to the launchd property list.
type
Rubiinityyppi: merkkijono
resurssityyppi. Mahdolliset arvot: daemon
(oletusarvo), agent
.
abandon_process_group
Ruby Type: true, false
jos työ kuolee, kaikki jäljellä olevat prosessit, joilla on sama prosessin tunnus, saattavat pitää käynnissä. Aseta todeksi tappaaksesi kaikki jäljellä olevat prosessit.
debug
Rubiinityyppi: true, false
asettaa tukkinaamarin arvoon LOG_DEBUG
tätä työtä varten.
disabled
Ruby Type: true, false | Default Value:false
vihjeet launchctl
ei lähetä tätä työtä launchd: lle.
enable_globbing
Ruby Type: true, false
Päivitä ohjelman argumentit ennen kutsumista.
enable_transactions
Ruby Type: true, false
Track in-progress transactions; jos ei ole, lähetä SIGKILL
signaali.
environment_variables
Ruby Type: Hash
muut ympäristömuuttujat, jotka asetetaan ennen työn suorittamista.
exit_timeout
Rubiinityyppi: kokonaisluku
aika (sekunteina) launchd odottaa ennen SIGKILL
signaalin lähettämistä.
hard_resource_limits
Ruby Type: Hash
a Hash of resource limits to be forced to a job.
inetd_compatibility
Ruby Type: Hash
määrittää, odottaako taustaprosessi suoritettavan kuin se olisi käynnistettyinetd
: stä. Aseta arvoon wait => true
välittääksesi standarditulon, lähdön, anderror-tiedostokuvauksen. Aseta arvoon wait => false
soittaaksesi accept
järjestelmäkutsun työn puolesta ja siirtääksesi standarditulo -, ulostulo-ja virhetiedoston kuvaajat.
init_groups
Ruby Type: true, false
määritä, onko initgroups
kutsuttu ennen työn suorittamista.
keep_alive
Rubiinityyppi: true, false, Hash
pidä työ käynnissä jatkuvasti (true) tai anna solmun kysynnän ja ehtojen määrittää, jatkuuko työ (false
).
Uusi Chef Client 12.14
launch_events
Ruby Type: hash
Määritä korkeamman tason tapahtumatyypit, joita voidaan käyttää launch-on-demand-tapahtumalähteinä.
Uusi Chef Infra Client 15.1
launch_only_once
Ruby Type: true, false
Määritä, voiko työn suorittaa vain kerran. Aseta tämä arvo true
, jos työtä ei voida käynnistää uudelleen ilman koneen täyttä uudelleenkäynnistystä.
limit_load_from_hosts
Rubiinityyppi: Array
a array of hosts which this configuration file does not apply, so. ”apply this configuration file to all hosts not determined in this array”.
limit_load_to_hosts
Ruby Type: Array
an array of hosts to which this configuration file applied.
limit_load_to_session_type
Ruby Type: Array, String
sessiotyypit, joihin tätä asetustiedostoa sovelletaan.
low_priority_io
Ruby Type: true, false
määritä, pitääkö solmun ytimen tätä demonia vähäisenä prioriteettina tiedostojärjestelmän I/O aikana.
mach_services
Ruby Type: Hash
Määritä bootstrap-alijärjestelmään rekisteröidyt palvelut.
nice
Ruby-Tyyppi: kokonaisluku
ohjelman aikataulutuksen prioriteettiarvo alueella -20
– 20
.
on_demand
Ruby Type: true, false
Keep a job alive. Koskee vain macOS-versiota 10.4 (ja aikaisempaa);käytä keep_alive
sen sijaan uudemmissa versioissa.
process_type
Ruby Type: String
the intended purpose of the job: Adaptive
, Background
, Interactive
, tai Standard
.
program
Ruby Type: String
execvp
ensimmäinen argumentti, tyypillisesti tiedoston nimi liitetään suoritettavaan tiedostoon. Tämä arvo on ilmoitettava, josprogram_arguments
ei ole määritelty, ja päinvastoin.
program_arguments
Rubiinityyppi: Array
toinen argumentti execvp
. Jos program
ei ole määritelty, tämä ominaisuus on määriteltävä ja sitä käsitellään ikään kuin se olisi ensimmäinen argumentti.
queue_directories
Ruby Type: Array
a array of non-empty directories which, if any are modified, will brought a job to be started.
root_directory
Ruby Type: String
chroot
tähän hakemistoon ja suorita sitten työ.
run_at_load
Ruby Type: true, false
Launch a job once (at the time it is loaded).
sockets
Ruby Type: Hash
a hash of On-demand sockets that notice launchd when a job should be run.
soft_resource_limits
Rubiinityyppi: Array
a Hash of resource limits to be imported on a job.
standard_error_path
Ruby Type: String
tiedosto, johon keskivirhe (stderr
) lähetetään.
standard_in_path
Ruby Type: String
tiedosto, johon vakiosyöttö (stdin
) lähetetään.
standard_out_path
Ruby Type: String
tiedosto, johon standardituloste (stdout
) lähetetään.
start_calendar_interval
Ruby Type: Hash
Hash (samanlainen kuin crontab
), joka määrittää kalenteritiheyden, jolla työ aloitetaan. Esimerkiksi:{ Minute => "0", Hour => "20", Day => "*", Weekday => "1-5", Month => "*" }
ajaa keikan joka päivä, maanantaista perjantaihin, joka kuukausi.
start_interval
Rubiinityyppi: Kokonaisluku
taajuus (sekunteina), jolla työ aloitetaan.
start_on_mount
Ruby Type: true, false
aloita työ aina, kun tiedostojärjestelmä asennetaan.
throttle_interval
Ruby Type: Integer / Default Value:10
the frequency (sekunteina) at jobs are allowed to kutee.
time_out
Rubiinityyppi: kokonaisluku
työ voi olla tyhjäkäynnillä (sekunteina) ennen aikalisää. Jos arvoa ei ole määritetty, käytetään laukaisun oletuskäynnistysarvoa.
umask
Rubiinityyppi: kokonaisluku
desimaaliarvo, joka on annettava umask
ennen työn suorittamista.
username
Rubiinityyppi: Merkkijono
kun launchd suoritetaan pääkäyttäjänä, käyttäjänä, joka suorittaa työn nimellä.
wait_for_debugger
Ruby Type: true, false
määritä, onko launchd: llä tehtävä odottaa debuggerin liittämistä ennen koodin suorittamista.
watch_paths
Ruby Type: Array
a array of paths which, if any modified, will be about a job to be started.
working_directory
Ruby Type: String
chdir
tähän hakemistoon ja suorita sitten työ.
yhteiset Resurssitoiminnot
Chef-resurssit sisältävät yhteiset ominaisuudet, Ilmoitukset ja resurssivartijat.
yhteiset ominaisuudet
seuraavat ominaisuudet ovat yhteisiä kaikille resursseille:
compile_time
Ruby-Tyyppi: tosi, väärä / oletusarvo: false
ohjaa vaihetta, jonka aikana resurssia ajetaan solmussa. Aseta arvoon true suoritettavaksi resurssikokoelmaa rakennettaessa (compile phase
). Aseta epätosi suoritettavaksi, kun Chef Infra-asiakas määrittää solmua (converge phase
).
ignore_failure
Ruby Type: true, false,: quiet | Default Value: false
jatka reseptin ajamista, jos resurssi jostain syystä epäonnistuu. :quiet
ei näytä koko pinon jäljitystä ja resepti jatkuu, jos resurssi epäonnistuu.
retries
Rubiinityyppi: kokonaisluku / oletusarvo: 0
niiden yritysten lukumäärä, joilla pyritään pyydystämään poikkeuksia ja yrittämään luonnonvaraa uudelleen.
retry_delay
Rubiinityyppi: kokonaisluku / oletusarvo: 2
yritä uudelleen viive (sekunneissa).
sensitive
Ruby Type: true, false | Default Value: false
varmista, että Chef InfraClient ei tallenna arkaluonteisia resurssitietoja.
Notifications
notifies
Ruby Type: Symbol, ” Chef::Resurssi ”
resurssi voi ilmoittaa toiselle resurssille ryhtyäkseen toimiin, jos sen tila muuttuu. Täsmentäkää 'resource'
, :action
, johon varat on käytettävä, ja sitten :timer
, joka on tarkoitettu kyseiseen toimeen. Resurssi voi ilmoittaa useammasta kuin yhdestä resurssista; käytä notifies
– merkintää jokaisesta ilmoitettavasta resurssista.
jos viitattua resurssia ei ole olemassa, virhe on raised.In sen sijaan subscribes
ei epäonnistu, jos lähdelähdettä ei löydy.
ajastin määrittää Chef Infra Client-ajon ajankohdan, jossa voitelu suoritetaan. Käytössä ovat seuraavat ajastimet:
:before
täsmennetään, että ilmoitettua resurssia koskeva toimi olisi suoritettava ennen sen resurssilohkon käsittelyä, johon ilmoitus on sijoitettu.
:delayed
oletusarvo. Määrittää, että ilmoitus on jonotettava ja esitettävä Chef Infra-asiakasohjelman lopussa.
:immediate
,:immediately
täsmennetään, että ilmoitus on tehtävä välittömästi, perresource tiedotti.
notifies
syntaksi on:
notifies :action, 'resource', :timer
subscribes
Rubiinityyppi: symboli, ” Chef::Resurssi ”
resurssi voi kuunnella toista resurssia ja ryhtyä sitten toimiin, jos kuunneltavan resurssin määrä muuttuu. Täsmennettävä'resource'
, toteutettava :action
ja sen jälkeen tehtävä :timer
.
huomaa, että subscribes
ei sovella määrättyä toimintoa kuuntelemaansa lähteeseen-esim.:
file '/etc/nginx/ssl/example.crt' do mode '0600' owner 'root'endservice 'nginx' do subscribes :reload, 'file', :immediatelyend
tässä tapauksessa subscribes
kiinteistö lataa nginx
palvelun uudelleen, kun sen todistustiedosto, joka sijaitsee kohdassa/etc/nginx/ssl/example.crt
, päivitetään. subscribes
ei tee mitään muutoksia itse varmennetiedostoon, se vain kuuntelee tiedoston muutoksen ja suorittaa :reload
– toiminnon resurssinsa puolesta (tässä esimerkissä nginx
), kun muutos havaitaan.
jos muuta resurssia ei ole olemassa, merkintä ei aiheuta virhettä. Vertaa tätä tiukempaan semantiikkaan notifies
, joka aiheuttaa virheen, jos muuta resurssia ei ole olemassa.
ajastin määrittää Chef Infra Client-ajon ajankohdan, jossa voitelu suoritetaan. Käytössä ovat seuraavat ajastimet:
:before
täsmennetään, että ilmoitettua resurssia koskeva toimi olisi suoritettava ennen sen resurssilohkon käsittelyä, johon ilmoitus on sijoitettu.
:delayed
oletusarvo. Määrittää, että ilmoitus on jonotettava ja esitettävä Chef Infra-asiakasohjelman lopussa.
:immediate
,:immediately
täsmennetään, että ilmoitus on tehtävä välittömästi, perresource tiedotti.
subscribes
syntaksi on:
subscribes :action, 'resource', :timer
vartijat
vartijan ominaisuudella voidaan arvioida solmun tilaa Chef Infra – asiakasajon tekovaiheessa. Tämän arvioinnin tulosten perusteella vartijan ominaisuudella kerrotaan kokki Infra-asiakkaalle, pitäisikö sen jatkaa resurssin toteuttamista. Vartijan ominaisuus hyväksyy eithera-merkkijonon arvon tai Rubiinilohkon arvon:
- merkkijono suoritetaan komentotulkkina. Jos komento palaa
0
, käytetään suojusta. Jos komento palauttaa muun arvon, vartijan ominaisuutta ei käytetä. Merkkijonosuojat apowershell_script suorita Windows PowerShell-komennot ja voi palauttaatrue
lisäksi0
. - lohko suoritetaan Ruby-koodina, jonka täytyy palata joko
true
taifalse
. Jos lohko palaatrue
, sovelletaan vartijan ominaisuutta.Jos lohko palaafalse
, vartijan ominaisuutta ei sovelleta.
vartijan ominaisuus on hyödyllinen resurssin tunnistamisen varmistamiseksi antamalla resurssin testata haluttu tila, koska sitä käytetään, ja sitten, jos haluttu tila on olemassa, Chef InfraClient ei tee mitään.
ominaisuudet
seuraavia ominaisuuksia voidaan käyttää määrittelemään vartija, joka arvioidaan Chef Infra-asiakasohjelman suoritusvaiheessa:
not_if
Estä resurssia suorittamasta, kun ehto palaa true
.
only_if
salli resurssin suorittaa vain, jos ehto palaa true
.
esimerkit
seuraavat esimerkit osoittavat erilaisia lähestymistapoja launchd-resurssin käyttöön resepteissä:
luo Keittokirjatiedostosta Käynnistysdeemoni