草庐IT

linux - 如何在 Puppet 中使用配置文件模板

我是Puppet的新手,我正在编写一个模块来设置配置文件。问题是当多个客户将使用我的模块时,他们将不得不根据他们的系统对其进行编辑。我听说模板是解决这个问题的方法。但是我不知道如何使用模板来设置配置文件。如果你们中的任何人都可以给我一个使用模板配置文件的简单易懂的示例,那将非常有帮助。例如,我如何使用模板设置Apache站点可用的默认配置文件,或者给出您认为对新puppet用户有帮助的任何其他示例。顺便说一句,我在Ubuntu机器上。 最佳答案 Usingtemplates上的PuppetLabs文档有一个Trac站点的Apache

mysql - puppet 覆盖绑定(bind)地址 mysql 变量

我正在使用https://github.com/puphpet/puppetlabs-mysql设置mysql配置,我需要将绑定(bind)地址变量更改为0.0.0.0。我正在努力做到这一点mysql::config::override_options{'mysqld':'bind-address'=>'0.0.0.0'}但它不起作用。你能帮我建议一下应该怎么做吗?提前致谢! 最佳答案 答案似乎不符合模块的最新版本(>3.1)。你可以使用:class{'::mysql::server':override_options=>{mysq

显示用户是否存在的 MongoDB 命令行(用于 puppet 'unless' 子句)

我们正在使用基于MongoDB用户的身份验证,我想快速运行一个命令来检查数据库中是否已经创建了一个用户,这样puppet就不会重复尝试创建用户。这是我们检查副本集是否已初始化的方法:/usr/bin/mongo--host${members[0]}--quiet--eval'rs.status().ok'|grep-q1身份验证可以使用类似的技巧吗?我在这里查看了文档http://www.mongodb.org/display/DOCS/dbshell+%28mongo%29+Reference我看不出有什么办法? 最佳答案 是的,

显示用户是否存在的 MongoDB 命令行(用于 puppet 'unless' 子句)

我们正在使用基于MongoDB用户的身份验证,我想快速运行一个命令来检查数据库中是否已经创建了一个用户,这样puppet就不会重复尝试创建用户。这是我们检查副本集是否已初始化的方法:/usr/bin/mongo--host${members[0]}--quiet--eval'rs.status().ok'|grep-q1身份验证可以使用类似的技巧吗?我在这里查看了文档http://www.mongodb.org/display/DOCS/dbshell+%28mongo%29+Reference我看不出有什么办法? 最佳答案 是的,

node.js - 如何处理 puppeteer 中的弹出窗口

如何处理弹出窗口并访问弹出窗口以对其进行一些操作。constpuppeteer=require('puppeteer');asyncfunctionrun(){constbrowser=awaitpuppeteer.launch();constpage=awaitbrowser.newPage();awaitpage.goto('https://example.com');awaitpage.click(Launchpopup);} 最佳答案 所以我要做的就是在他们的主页上登录facebook,然后导航到我想去的页面,我点击了使用f

javascript - 是否可以在创建屏幕截图之前使用 Puppeteer 修改 DOM 中的元素?

我遇到了一个问题,我创建了一个相当简单的Node进程来捕获屏幕截图。是否可以在获取屏幕截图之前使用Puppeteer更改HTML元素的innerText?我已经成功使用Puppeteer在身份验证字段中键入文本并登录到站点,但我想知道是否有类似的方法可以让我更改特定元素中的文本(使用id或类名)。我正在使用的屏幕截图代码示例:constpuppeteer=require('puppeteer');(async()=>{constbrowser=awaitpuppeteer.launch()constpage=awaitbrowser.newPage()awaitpage.goto('h

javascript - 如何使用 Puppeteer 从输入中删除现有文本?

我正在尝试在包含当前记录标题的可编辑输入中测试修改文本-我希望能够测试编辑此类文本,并将其替换为其他内容。我知道我可以使用awaitpage.type('#inputID','blah');将“blah”插入文本框(在我的情况下,现有文本仅追加“等等”),但是,我找不到任何页面方法1允许删除或替换现有文本。 最佳答案 你可以使用page.evaluate来操作你认为合适的DOM:awaitpage.evaluate(()=>document.getElementById("inputID").value="")但有时仅操作给定字段可

javascript - Puppeteer - 向下滚动,直到你不能再

我处于向下滚动时创建新内容的情况。新内容具有特定的类名。如何继续向下滚动直到所有元素都加载完毕?换句话说,我想达到一个阶段,如果我继续向下滚动,不会加载任何新内容。我是用代码向下滚动,加上一个awaitpage.waitForSelector('.class_name');这种方法的问题是,在所有元素加载后,代码一直向下滚动,没有创建新元素,最终我得到一个超时错误。这是代码:awaitpage.evaluate(()=>{window.scrollBy(0,window.innerHeight);});awaitpage.waitForSelector('.class_name');

javascript - 将 jQuery 注入(inject) Puppeteer 页面

我正在尝试将jQuery注入(inject)我的Puppeteer页面,因为document.querySelector不适合我:asyncfunctioninject_jquery(page){awaitpage.evaluate(()=>{varjq=document.createElement("script")jq.src="https://code.jquery.com/jquery-3.2.1.min.js"document.querySelector("head").appendChild(jq)})constwatchDog=page.waitForFunction('

node.js - 如何使用 headless : true? 使用 puppeteer 下载文件

我一直在运行以下代码,以便从网站http://niftyindices.com/resources/holiday-calendar下载csv文件:constpuppeteer=require('puppeteer');(async()=>{constbrowser=awaitpuppeteer.launch({headless:true});constpage=awaitbrowser.newPage();awaitpage.goto('http://niftyindices.com/resources/holiday-calendar');awaitpage._client.sen