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:
-
launchdon voimavara. -
nameon resurssilohkolle annettu nimi. -
actionyksilö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_directoryovat tämän resurssin käytettävissä olevat ominaisuudet.
toimet
launchd-resurssilla on seuraavat toiminnot:
:createDefault. Luo launchd-ominaisuusluettelo.:create_if_missingluo launchd-ominaisuusluettelo, jos sitä ei ole jo olemassa.:deletePoista launchd-ominaisuusluettelo. Tämä purkaa taustaprosessin tai agentin, jos se on ladattu.:disablePoista launchd-ominaisuusluettelo käytöstä.:enableluo 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.:nothingtä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.:restartKäynnistä launchd: n hallittu taustaprosessi tai agentti uudelleen.
ominaisuudet
launchd-resurssilla on seuraavat ominaisuudet:
abandon_process_groupRuby 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.
backupRubiinityyppi: kokonaisluku, väärä
pidettävien varmuuskopioiden määrä /var/chef/backup. Asetafalse estämään varmuuskopioiden säilyttäminen.
cookbookRubiinityyppi: Merkkijono
keittokirjan nimi, jossa lähdetiedostot sijaitsevat.
groupRuby 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.
labelRuby Type: String
the unique identifier for the job.
modeRubiinityyppi: kokonaisluku, merkkijono / oletusarvo:'0755'
lainattu 3-5 merkin merkkijono, joka määrittelee oktaalitilan. Esimerkki: '755', '0755' tai 00755.
ownerRubiinityyppi: 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).
pathRuby 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_hashRubiinityyppi: Hash
avainarvoparien Hash, jota käytetään launchd-ominaisuusluettelon luomiseen.
session_typeRuby Type: String
the type of launchd plist to be created. Mahdolliset arvot: system(oletusarvo) tai user.
sourceRuby Type: String
the path to the launchd property list.
typeRubiinityyppi: merkkijono
resurssityyppi. Mahdolliset arvot: daemon (oletusarvo), agent.
abandon_process_groupRuby 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.
debugRubiinityyppi: true, false
asettaa tukkinaamarin arvoon LOG_DEBUG tätä työtä varten.
disabledRuby Type: true, false | Default Value:false
vihjeet launchctl ei lähetä tätä työtä launchd: lle.
enable_globbingRuby Type: true, false
Päivitä ohjelman argumentit ennen kutsumista.
enable_transactionsRuby Type: true, false
Track in-progress transactions; jos ei ole, lähetä SIGKILL signaali.
environment_variablesRuby Type: Hash
muut ympäristömuuttujat, jotka asetetaan ennen työn suorittamista.
exit_timeoutRubiinityyppi: kokonaisluku
aika (sekunteina) launchd odottaa ennen SIGKILL signaalin lähettämistä.
hard_resource_limitsRuby Type: Hash
a Hash of resource limits to be forced to a job.
inetd_compatibilityRuby 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_groupsRuby Type: true, false
määritä, onko initgroups kutsuttu ennen työn suorittamista.
keep_aliveRubiinityyppi: 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_eventsRuby Type: hash
Määritä korkeamman tason tapahtumatyypit, joita voidaan käyttää launch-on-demand-tapahtumalähteinä.
Uusi Chef Infra Client 15.1
launch_only_onceRuby 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_hostsRubiinityyppi: 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_hostsRuby Type: Array
an array of hosts to which this configuration file applied.
limit_load_to_session_typeRuby Type: Array, String
sessiotyypit, joihin tätä asetustiedostoa sovelletaan.
low_priority_ioRuby Type: true, false
määritä, pitääkö solmun ytimen tätä demonia vähäisenä prioriteettina tiedostojärjestelmän I/O aikana.
mach_servicesRuby Type: Hash
Määritä bootstrap-alijärjestelmään rekisteröidyt palvelut.
niceRuby-Tyyppi: kokonaisluku
ohjelman aikataulutuksen prioriteettiarvo alueella -20 – 20.
on_demandRuby Type: true, false
Keep a job alive. Koskee vain macOS-versiota 10.4 (ja aikaisempaa);käytä keep_alive sen sijaan uudemmissa versioissa.
process_typeRuby Type: String
the intended purpose of the job: Adaptive, Background, Interactive, tai Standard.
programRuby 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_argumentsRubiinityyppi: 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_directoriesRuby Type: Array
a array of non-empty directories which, if any are modified, will brought a job to be started.
root_directoryRuby Type: String
chroot tähän hakemistoon ja suorita sitten työ.
run_at_loadRuby Type: true, false
Launch a job once (at the time it is loaded).
socketsRuby Type: Hash
a hash of On-demand sockets that notice launchd when a job should be run.
soft_resource_limitsRubiinityyppi: Array
a Hash of resource limits to be imported on a job.
standard_error_pathRuby Type: String
tiedosto, johon keskivirhe (stderr) lähetetään.
standard_in_pathRuby Type: String
tiedosto, johon vakiosyöttö (stdin) lähetetään.
standard_out_pathRuby Type: String
tiedosto, johon standardituloste (stdout) lähetetään.
start_calendar_intervalRuby 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_intervalRubiinityyppi: Kokonaisluku
taajuus (sekunteina), jolla työ aloitetaan.
start_on_mountRuby Type: true, false
aloita työ aina, kun tiedostojärjestelmä asennetaan.
throttle_intervalRuby Type: Integer / Default Value:10
the frequency (sekunteina) at jobs are allowed to kutee.
time_outRubiinityyppi: kokonaisluku
työ voi olla tyhjäkäynnillä (sekunteina) ennen aikalisää. Jos arvoa ei ole määritetty, käytetään laukaisun oletuskäynnistysarvoa.
umaskRubiinityyppi: kokonaisluku
desimaaliarvo, joka on annettava umask ennen työn suorittamista.
usernameRubiinityyppi: Merkkijono
kun launchd suoritetaan pääkäyttäjänä, käyttäjänä, joka suorittaa työn nimellä.
wait_for_debuggerRuby Type: true, false
määritä, onko launchd: llä tehtävä odottaa debuggerin liittämistä ennen koodin suorittamista.
watch_pathsRuby Type: Array
a array of paths which, if any modified, will be about a job to be started.
working_directoryRuby 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 palauttaatruelisäksi0. - lohko suoritetaan Ruby-koodina, jonka täytyy palata joko
truetaifalse. 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