{"schedule": {"version": "DRAFT 0.28", "base_url": "https://cfp.cfgmgmtcamp.org/2020/schedule/", "conference": {"acronym": "2020", "title": "Config Management Camp 2020 Ghent", "start": "2020-02-03", "end": "2020-02-05", "daysCount": 3, "timeslot_duration": "00:05", "days": [{"index": 1, "date": "2020-02-03", "day_start": "2020-02-03T04:00:00+01:00", "day_end": "2020-02-04T03:59:00+01:00", "rooms": {"ALL": [{"id": 171, "guid": "a372a20f-dfc6-501a-b4d0-c1256b4f8791", "logo": "", "date": "2020-02-03T08:40:00+01:00", "start": "08:40", "duration": "01:00", "room": "ALL", "slug": "2020-171-monday-breakfast", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ZVDWN8/", "title": "Monday Breakfast", "subtitle": "", "track": null, "type": "Break Fast", "language": "en", "abstract": "Coffee and Croissants", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 177, "guid": "810dc358-c0e6-5f8b-b1f6-64e6fc215a50", "logo": "", "date": "2020-02-03T11:20:00+01:00", "start": "11:20", "duration": "00:20", "room": "ALL", "slug": "2020-177-monday-morning-break", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/SQK3XR/", "title": "Monday Morning Break", "subtitle": "", "track": null, "type": "Break", "language": "en", "abstract": "Coffee and Snacks", "description": "Drinks", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 174, "guid": "593e6fa8-2c47-55a7-b511-7c807697b8cf", "logo": "", "date": "2020-02-03T13:00:00+01:00", "start": "13:00", "duration": "01:00", "room": "ALL", "slug": "2020-174-monday-lunch", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/NZFFWB/", "title": "Monday Lunch", "subtitle": "", "track": null, "type": "Lunch", "language": "en", "abstract": "Lunch (on your own)", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 178, "guid": "22fa08c2-055e-5884-89e2-63b1f54b564c", "logo": "", "date": "2020-02-03T15:40:00+01:00", "start": "15:40", "duration": "00:30", "room": "ALL", "slug": "2020-178-monday-afternoon-break", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/DUHAKU/", "title": "Monday Afternoon Break", "subtitle": "", "track": null, "type": "Break", "language": "en", "abstract": "Coffee and Snacks", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}], "D Aud": [{"id": 9, "guid": "5e3adcfe-8154-5c62-ac49-c3f18e0615c5", "logo": "", "date": "2020-02-03T09:40:00+01:00", "start": "09:40", "duration": "00:50", "room": "D Aud", "slug": "2020-9-untitled-config-game", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/VQRGFB/", "title": "Untitled Config Game", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "It\u2019s a lovely morning in the data center and you are a horrible ~goose~ devop. What sorts of trouble can you cause? For years, configuration management has been touted as a way of guarding against the fragility that comes from having humans configure things manually, but it isn\u2019t a complete safeguard against things going wrong. In this talk I\u2019ll cover the evolution of configuration management strategies used by operators to increase system robustness and will share stories about the ways that even mature management practices can fail. I\u2019ll also discuss the underlying problem from a human factors and resilience engineering perspective, ways to further increase the reliability of our tools, and how those tools may keep evolving.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 13, "code": "QXJSAH", "public_name": "Deleted User", "biography": "", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 21, "guid": "f1ddb7c2-1317-5673-b311-ebf88301d845", "logo": "", "date": "2020-02-03T10:30:00+01:00", "start": "10:30", "duration": "00:50", "room": "D Aud", "slug": "2020-21-can-typescript-really-make-infrastructure-management-easy-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/XQNQPU/", "title": "Can TypeScript really make infrastructure management easy?", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "In this talk, Paul will demonstrate why TypeScript is a great language of choice for infrastructure management. Pulumi is an open source tool that allows users to write their infrastructure code in TypeScript, Python or Go.\r\n\r\nTypeScript allows infrastructure code to have integrated testing, compile time checks as well as being able to create infrastructure APIs. This will show why a real language is more suited to infrastructure management than DSLs, JSON or YAML. In addition, he will cover how to build infrastructure that manages Serverless, PaaS and IaaS systems across multiple cloud providers.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 21, "code": "EUFDQQ", "public_name": "Paul Stack", "biography": "Paul Stack is an infrastructure coder and has spoken at various events throughout the world about his passion for continuous integration, continuous delivery and good operational procedures and why they should be part of what developers and system administrators do on a day to day basis. He believes that reliably delivering software is more important as its development. Paul\u2019s passions are the DevOps and Continuous Delivery movements and how they help the entire business and its customers.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 17, "guid": "d50f07c4-f336-50fe-8f4c-0f9fe529345f", "logo": "", "date": "2020-02-03T11:40:00+01:00", "start": "11:40", "duration": "00:50", "room": "D Aud", "slug": "2020-17-configuration-management-in-2020-and-beyond", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/NZG87N/", "title": "Configuration Management in 2020 and Beyond", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "What role does configuration management have in containerized and cloud-native infrastructure? What tools and practices have evolved to work with modern cloud platforms like Kubernetes? Is there a way out of the maze of YAML we've trapped ourselves in? In this session, Eric will share perspectives on the evolution of infrastructure platforms and the changes necessary to adapt to the landscape of today \u2013 and tomorrow.", "description": "After an introduction to cloud native concepts (spoiler: it's more than just YAML) I'll present the result of the last six months of surveying the landscape of config management tools for modern infrastructure. Using the [\"Configuration Complexity Clock\"](http://mikehadlow.blogspot.com/2012/05/configuration-complexity-clock.html) as a framing device, I explore different categories of tools that have emerged and provide recommendations for practitioners looking to adopt these technologies. (spoiler: don't template YAML)", "recording_license": "", "do_not_record": false, "persons": [{"id": 8, "code": "XKJC8N", "public_name": "Eric Sorenson", "biography": "Eric has been working in systems administration since 28.8k modems were exotic luxuries. After running campus networks, large scale production internet services, and sysadmin teams, he moved to Portland in 2012 to work at Puppet as a technical product manager for Puppet's core technology platform. For the last year he's shifted to focus on emerging cloud native technology and its intersection with traditional infrastructure. When he's not grooming backlogs or referring to himself in the third person, he's out exploring Oregon's trails by foot and bicycle.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 62, "guid": "151d13cd-108b-541e-87ed-f8e0e599a865", "logo": "", "date": "2020-02-03T12:30:00+01:00", "start": "12:30", "duration": "00:05", "room": "D Aud", "slug": "2020-62-why-compliance-is-essential-in-configuration-management-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/F7WCTS/", "title": "Why compliance is essential in configuration management?", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "The challenges of automation cannot be demonstrated. It is one of DevOps' CALMS pillars. However, automation serves objectives, and among them, compliance. Puppet Remediate, Chef Inspec, SalStack SecOps, RUDDER\u2026 we are all now developing towards compliance.\r\n\r\nWhy? How does compliance become essential in configuration management? Let's open the debate and talk about it in this 5-minute quick talk.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 47, "code": "E9HRLV", "public_name": "Alexandre Brianceau", "biography": "After studying Cybersecurity, Alexandre worked for several years at several French integrators and IT services companies to ensure production security missions as a solution integrator as well as a consultant. For more than two years, he has been working for the RUDDER open-source continuous configuration solution.\r\n\r\nIt supports the success of users and ensures the follow-up of customers, making it possible to capitalize on a large number of feedback experiences.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 42, "guid": "ed7f6b0b-f521-57a7-a210-3281ece31ff6", "logo": "/media/2020/images/QRR73H/augeas.png", "date": "2020-02-03T12:35:00+01:00", "start": "12:35", "duration": "00:05", "room": "D Aud", "slug": "2020-42-manage-configuration-file-entries-with-augeasproviders", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/QRR73H/", "title": "Manage Configuration File Entries with Augeasproviders", "subtitle": "", "track": "Puppet", "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "The Augeasproviders project aims to ease the use of Augeas by providing native Ruby types and providers for Puppet, powered by the Augeas Ruby bindings under the hood. These resource types allow to easily edit configuration files in a clean and idempotent way with Puppet.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 23, "code": "8MYDLA", "public_name": "Rapha\u00ebl Pinson", "biography": "Rapha\u00ebl Pinson (aka raphink) is an infrastructure developer and trainer at Camptocamp.\r\n\r\nHe focuses on automation and the implementation of DevOps practices mainly in Puppet, Docker/Kubernetes/OpenShift/Rancher and Terraform.\r\n\r\nHe is also involved in the [Voxpupuli](https://voxpupuli.org/), [Augeas](http://augeas.net/) and Terraform communities.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 18, "guid": "c05352ab-f7b4-5a8f-9f85-0f2d979b9337", "logo": "", "date": "2020-02-03T12:40:00+01:00", "start": "12:40", "duration": "00:05", "room": "D Aud", "slug": "2020-18-principle-of-least-configuration", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/7LCNLY/", "title": "Principle of Least Configuration", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "This talk recounts the journey of developing a Linux platform to require very little in the way of configuration management, and how to virtually eliminate the need to modify code to change configuration.  From configuration via scripts and evolving through a couple of configuration management products, we have used the idea of matching actions to timescales to transform how we do configuration management. We now do very little of it, and we have dramatically reduced its complexity.", "description": "Everyone's familiar with the Principal of Least Privilege, and we probably mostly agree with it.\r\n\r\nIn 2018, Mark Burgess' gave a talk at Config Management Camp, \"A Brief History of Configuration - Managing Sprawl\", which addressed the idea of timescales.  This helped us to transform how we do configuration management, doing much less of it, and dramatically reducing the complexity of how we do it.\r\n\r\nThis talk is a brief journey through how we developed our platform to require very little in the way of ongoing configuration management, and how we virtually eliminated the need to change code to do it.", "recording_license": "", "do_not_record": false, "persons": [{"id": 19, "code": "EQNDHZ", "public_name": "Jay Goldberg", "biography": "Jay Goldberg is a Unix greybeard since 1989. He used to develop the Unix operating system, then started down the system management path at Unix System Labs.  He has been doing configuration management in some form since 1995.  He has built and managed infrastructure at a number of investment banks and is currently working to keep Linux easy to manage at scale at Two Sigma, a New York financial services firm. He lives in Brooklyn with his wife and daughter.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 113, "guid": "64ce4524-45a2-548f-bb49-6a82ff7f5fd7", "logo": "", "date": "2020-02-03T12:45:00+01:00", "start": "12:45", "duration": "00:05", "room": "D Aud", "slug": "2020-113-magic-yaml", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/FTMVQH/", "title": "Magic YAML", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "You think you know YAML? This talk will show you that you don't.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 49, "code": "D3YNMK", "public_name": "Julien Pivotto", "biography": "Julien Pivotto is a young Open-Source consultant at Inuits where he is helping organisations with the deployment of long-term solutions based on Open-Source infrastructure. He is a strong believer in the devops movement and has technical focus towards infrastructure automation, continuous integration, monitoring and high availability.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 160, "guid": "f1f04188-2b08-5e67-8964-1ad4f1884d69", "logo": "", "date": "2020-02-03T12:50:00+01:00", "start": "12:50", "duration": "00:05", "room": "D Aud", "slug": "2020-160-devops-is-dead-servers-are-dying-and-i-don-t-feel-so-great-myself-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/XYUNRM/", "title": "DevOps is dead, Servers are dying, and I don't feel so great myself.", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "A look at the changing landscape for Operations. With SRE and Kubernetes both on the rise we\u2019re seeing drastic changes in the way we build and operate infrastructure. At the same time Serverless has exploded onto the scene and confused things even further.", "description": "A (hopefully) humorous look at the current state of DevOps and the affects of the rise of Kubernetes and Site Reliability Engineering on DevOps, how the culture is changing (again!), the tools are changing, and how we deploy and operate applications are changing. At the same time Serverless has exploded onto the scene and the thought* leaders are once again throwing terms like NoOps around.\r\n\r\nThe future however is bright and the Savvy Operator / DevOps practitioner will thrive and everything will turn out fine, and I\u2019ll tell you why, and offer you hugs if you are struggling with change.", "recording_license": "", "do_not_record": false, "persons": [{"id": 115, "code": "83QD3N", "public_name": "Paul Czarkowski", "biography": "Paul Czarkowski is a recovering Systems Administrator who has run infrastructure for longer than he cares to admit. After cutting his teeth in the ISP and Gaming industries Paul changed his focus to using (and contributing to) Open Source Software to improve the Operability of complex distributed systems such as Kubernetes and OpenStack. At Pivotal Paul works to improve the Operator experience by taking Cloud Native software development concepts and applying them to Operations to create platforms that reduce toil and improve software.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 136, "guid": "5ac9fa23-bb9d-5f12-bec9-04e1ed92be3f", "logo": "", "date": "2020-02-03T12:55:00+01:00", "start": "12:55", "duration": "00:05", "room": "D Aud", "slug": "2020-136-rethinking-open-source-in-the-age-of-cloud", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/V3PXUY/", "title": "Rethinking Open Source in the Age of Cloud", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "The last several years has brought explosive growth to the realm of open source. Many new projects have started, and many have went on to become foundational components of running applications at scale. Cloud providers have focused on a strategy of embracing open source not only to help build value added services, but to also make it easy to use open source on their compute platforms. Open source companies have reacted by changing their software licenses in an attempt to cut out the Cloud providers.\r\n\r\nSo what does this mean for the future of open source? In this talk we\u2019ll revisit some of the foundational tenets of open source, and compare these ideas to where open source has evolved. We\u2019ll also talk about the pros and cons, and maybe unintended consequences, of Cloud based computing.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 105, "code": "9BEFDC", "public_name": "Michael Ducy", "biography": "Michael Ducy currently works as Director of Community & Evangelism for Sysdig where he is responsible for growing adoption of Sysdig\u2019s open source solutions. Previously, Michael worked at Chef where we held a variety of roles helping customers and community members leverage Chef\u2019s open source and paid solutions, as well as implement the ideas and practices of DevOps. Michael has also worked in a variety of roles in his career including Cloud Architecture, Systems Engineering, and Performance Engineering. Michael holds a Masters in Computer Science from the University of Chicago and an MBA from The Ohio State University", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 71, "guid": "fcd36523-0c3a-5801-912c-71301cb79849", "logo": "/media/2020/images/M3QX7K/face-less-than-1mb.png", "date": "2020-02-03T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "D Aud", "slug": "2020-71-head-in-the-clouds-testing-infra-as-code", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/M3QX7K/", "title": "Head in the Clouds: Testing Infra as Code", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Infrastructure-as-code has been one of the key concepts within DevOps to allow the benefits of a full development cycle for infrastrcuture and allow better visibility of the operations process.\r\n\r\nHowever, when we're writing and applying this IaC, we're often interacting with disparate systems, often geographically dispersed and with very different API's and responses. To further complicate things, different teams also have different concerns: Will this break prod? Will this cost too much? Will this comply with our policies? \r\n\r\nWe'll be discussing the different kind of testing that organisations are doing, what tools are right for each job, and how to keep the various teams happy. To do that, we'll be giving some examples with most of the popular IaC tools, where policy fits in and even covering where testing blurs the lines with observability.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 53, "code": "39MQMY", "public_name": "Peter Souter", "biography": "Peter Souter is a Sr. Technical Account Manager at HashiCorp. He\u2019s worked all over the globe helping organizations automate with the HashiCorp stack, from government to startups to large enterprise companies. This will be his 5th Config Management Camp.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 4, "guid": "312757e4-038d-5071-9d97-59522de2a612", "logo": "", "date": "2020-02-03T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "D Aud", "slug": "2020-4-yang-and-netconf-model-based-configuration-management-for-networks", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/GMYDLJ/", "title": "YANG and NETCONF - model-based configuration management for networks", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "In the networking world, configuration management is as much a hot topic as it is in the systems world. In contrast to the systems world, the networking world is full of proprietary devices, each with their own configuration \"language\". The IETF has standardized (and many vendors have implemented) a protocol to configure network equipment (NETCONF) and a data modeling language (YANG)  to represent configuration and state data of the devices.\r\n\r\nThis talk will give an introduction to YANG and NETCONF, discuss how they relate to concepts in systems configuration management and how it could be used to configure traditional systems.", "description": "The NETCONF protocol ([RFC 6241](https://tools.ietf.org/html/rfc6241)) is an XML-based RPC protocol to view, install, manipulate, and delete the configuration and state of network devices. \r\n\r\nYANG ([RFC 6020](https://tools.ietf.org/html/rfc6020)) is \"a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. YANG is used to model the operations and content layers of NETCONF.\"\r\n\r\nIt can be both be used to configure devices, read their state (temperature, interface counters etc.) and allow the devices to send notifications to the NETCONF client of events happening in the system.\r\n\r\nThis combination of technologies can be seen as \"SNMP on steroids without the MIBs\". Many network equipment vendors implement this standard and it is used in some large-scale ISP networks.", "recording_license": "", "do_not_record": false, "persons": [{"id": 7, "code": "SDZYE9", "public_name": "Pieter Lexis", "biography": "Educated as a Systems and Network Engineer and having dabbled with DevOps-y things for years, Pieter's official title now is \"Senior PowerDNS Engineer\". In the Open-Source parts of his dayjob he works on the PowerDNS source code, the build/CI/packaging pipeline, and maintains the systems run these. On the commercial spectrum, he works Professional Service teams and customers on deployments and configuration of PowerDNS at scale.\r\n\r\nHe is also involved in the broader DNS operations and standards communities to make the Internet a better place.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 126, "guid": "97f2ea01-c767-566e-9be5-67d15f0ec314", "logo": "", "date": "2020-02-03T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "D Aud", "slug": "2020-126-doomed-are-the-dinosaurs-ii", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/KNZY3C/", "title": "Doomed are the dinosaurs II", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "It may be hard to image, but some sysadmins do not operate in ideal, tightly controlled circumstances. Apparently, not every developer, application or organization is ready for Kubernetes\u2026\r\n\r\nIn this presentation we will share a real world use case: deploying and configuring a brand new natural history museum. We\u2019ll show how we built the museum with open source software and config management tools, dealing with a broad set of technologies, a tight schedule, a sector dominated by traditional organizations fixated on proprietary solutions and a whole bunch of actual fossils. We\u2019ll show how far we\u2019ve come, and what choices we made along the way.\r\n\r\nSpecifically, in this talk we will showcase in detail some of the automation code we developed in the process. For example, we will elaborate on the way how we use Ansible and AWX to configure switchports, (re)deploy computers from scratch with MAAS, configure those computers with the relevant role and provision relevant content, all in one automated workflow.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 97, "code": "EYEXBS", "public_name": "David Heijkamp", "biography": "Sysadmin at Naturalis Biodiversity Center and general open source enthusiast.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 48, "guid": "8a4743d9-2b0e-5db3-9465-40ec93f17c84", "logo": "", "date": "2020-02-03T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "D Aud", "slug": "2020-48-dynflow-orchestration-for-your-ruby-project", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/3NPFXH/", "title": "Dynflow - Orchestration for your Ruby project", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "This talk introduces Dynflow, the dynamic workflow engine. It starts with a high level description of what the project does and what benefits it brings to its users. Next it describes the building blocks and commonly used action modules using which the user can create complex workflows with examples where each of the modules could be useful. The final part of the talk delves into Dynflow's internals, describing both the monolithic and the new split deployment models.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 40, "code": "XWP8W7", "public_name": "Adam Ruzicka", "biography": "Adam is a software engineer at Red Hat, member of the Satellite 6/Foreman team where he focuses on the tasking engine, which powers several Foreman's plugins, such as Remote Execution, Ansible or Katello.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 5, "guid": "51d737c4-33db-5d29-8c92-aee1e2bee607", "logo": "", "date": "2020-02-03T17:40:00+01:00", "start": "17:40", "duration": "00:25", "room": "D Aud", "slug": "2020-5-dns-as-code-with-octodns", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/7LJCYW/", "title": "DNS as code with octoDNS", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Versioning and keep track of your DNS records changes and automatize all the thing via Travis CI.", "description": "In this talk will be illustrate how to manage a DNS infrastructure with a git repository and pull requests, will be also show how to easy setup multiple zones backup with multiple DNS providers. Will be also outline the benefits form this approach, like a better visibility of DNS records status for all the team/company and the delegation of permissions.", "recording_license": "", "do_not_record": false, "persons": [{"id": 9, "code": "APJAJX", "public_name": "Matteo Valentini", "biography": "Developer at Nethesis and open source contributor of Nethserver linux distribution. His skills vary from, systems and networks administration, linux embedded system engineering, and cloud automation. Currently his interests splits between backend development, infrastructure development and automation of all the thing!", "answers": []}], "links": [], "attachments": [], "answers": []}], "B. Con": [{"id": 67, "guid": "01b2f62d-fdff-5768-ac23-efa526810a5f", "logo": "", "date": "2020-02-03T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B. Con", "slug": "2020-67-your-own-kubernetes-operator-not-only-in-go", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/C8NJWD/", "title": "Your own Kubernetes Operator: Not Only in Go", "subtitle": "", "track": "Container", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "In Kubernetes, operators allow the API to be extended to your heart content. If one task requires too much YAML, it\u2019s easy to create an operator to take care of the repetitive cruft, and only require a minimum amount of YAML.\r\n\r\nOn the other hand, since its beginnings, the Go language has been advertised as closer to the hardware, and is now ubiquitous in low-level programming. Kubernetes has been rewritten from Java to Go, and its whole ecosystem revolves around Go. For that reason, It\u2019s only natural that Kubernetes provides a Go-based framework to create your own operator. While it makes sense, it requires organizations willing to go down this road to have Go developers, and/or train their teams in Go. While perfectly acceptable, this is not the only option. In fact, since Kubernetes is based on REST, why settle for Go and not use your own favorite language?\r\n\r\nIn this talk, I\u2019ll describe what is an operator, how they work, how to design one, and finally demo a Java-based operator that is as good as a Go one.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 50, "code": "VF3S9N", "public_name": "Nicolas Fr\u00e4nkel", "biography": "Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Currently working for Hazelcast. Also double as a teacher in universities and higher education schools, a trainer and triples as a book author.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 53, "guid": "1c77da01-fb75-5ccd-a32d-eb6df710f892", "logo": "", "date": "2020-02-03T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B. Con", "slug": "2020-53-the-hard-thing-about-kubernetes-it-s-the-infrastructure-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/XYKNEH/", "title": "The Hard Thing About Kubernetes (It's the Infrastructure!)", "subtitle": "", "track": "Container", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Most cloud providers now offer \"easy to use\" managed Kubernetes clusters, allowing us to get up and running in no time. Then our teams can just deploy containerized apps to them and life is good ..... Or is it? The truth is, this apparent simplicity fades quickly. The difficulties of adopting Kubernetes really hit hard on day two and beyond, when you need to integrate with existing infrastructure technologies and techniques. This includes IAM, networking, load balancing, DNS, monitoring, and logging, in addition to practices like continuous delivery, zero-downtime upgrades, and principle of least authority. Most of us underestimate how difficult these production concerns will be \u2014 even though it's getting easier by the day, it's still no casual walk in the park. In this talk, we'll discuss common challenges we see with end users and how we have approached addressing them. You will gain a broad awareness of these challenges so you know what to be on the lookout for and, by being proactive and going in with eyes wide open, will significantly increase the odds of success in your own team's journey to containers and Kubernetes.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 21, "code": "EUFDQQ", "public_name": "Paul Stack", "biography": "Paul Stack is an infrastructure coder and has spoken at various events throughout the world about his passion for continuous integration, continuous delivery and good operational procedures and why they should be part of what developers and system administrators do on a day to day basis. He believes that reliably delivering software is more important as its development. Paul\u2019s passions are the DevOps and Continuous Delivery movements and how they help the entire business and its customers.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 81, "guid": "e0be0ba7-09e0-54b8-b654-225bf27c6463", "logo": "", "date": "2020-02-03T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B. Con", "slug": "2020-81-kubernetes-as-cfgmgmt-tool", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/PELMKA/", "title": "Kubernetes as CfgMgmt-Tool", "subtitle": "", "track": "Container", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Depending on the viewpoint, we can call Kubernetes a cloud, a scheduler or a configuration management tool. Kubernetes is a configuration management tool for the container platform itself, for the deployment of the application containers, the routing and loadbalancing within the container network and the provisioning of persistent storage for important container data.\r\n\r\nUsing the principle of Infrastructure as Code and a declarative model, we can define the desired state in files containing so-called Kubernetes resource configurations. By applying these configurations in a fully declarative way, we can tell Kubernetes the desired state. We can make use of version control, separation of code and data, and idempotence. By doing so, we achieve automation, standardization and reproducibility.\r\n\r\nThis talk focuses on the combination of Git and Kubernetes for the administration of the container platform. We use Git for version control of our Kubernetes resource configurations and perform a fully declarative application of these configurations to Kubernetes.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 61, "code": "JMNKLB", "public_name": "Andy Wirtz", "biography": "Andy Wirtz is an IT Consultant at ATIX AG, Germany. He supports companies in the automation of their data centers and the deployment of cloud native services. His focus is on setup, configuration and automation of container platforms based on Kubernetes and Istio.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 130, "guid": "f0bd833f-2082-544e-a2b3-fdcfdad5f0ce", "logo": "", "date": "2020-02-03T16:50:00+01:00", "start": "16:50", "duration": "00:25", "room": "B. Con", "slug": "2020-130-config-mgmt-for-kubernetes-workloads-with-gitops-and-helm", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/FRSHZ8/", "title": "Config Mgmt for Kubernetes workloads with GitOps and Helm", "subtitle": "", "track": "Container", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Kubernetes provides a declarative API, so you can describe the desired state of the system. And then it is the role of the control plane to operate the cluster (make the actual state match the desired state).\r\nBut we still need config mgmt for API objects to the point when they are applied to the cluster.\r\n\r\nHelm helps to organize these configs into charts, template them, and manage releases. And GitOps lets you use a git repo as a single source of truth for the desired state of the whole system. Then all changes to this state are delivered as git commits instead of using kubectl apply or helm upgrade.\r\n\r\nIn this talk I will introduce the GitOps model for operating cloud native environments and give a short demo.", "description": "After using the GitOps model for over a year I can see that it\u2019s still in early days compared to config management tools like puppet. I will try to show what are the strong areas and what still seems to be missing. \r\n\r\nIn this talk I\u2019ll show two CNCF projects:\r\n* Flux CD: https://fluxcd.io/\r\n* Helm: https://helm.sh/", "recording_license": "", "do_not_record": false, "persons": [{"id": 99, "code": "C7BAPZ", "public_name": "Tomasz Tarczynski", "biography": "Systems architect and Ops technical lead at Gigaset. Focused on shortening delivery times with adoption of DevOps culture, automation and measurements.\r\nEspecially interested in the cloud native approach to engineering applications and infrastructure.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 7, "guid": "e9380260-1f05-51d6-8936-5664243da248", "logo": "", "date": "2020-02-03T17:40:00+01:00", "start": "17:40", "duration": "00:25", "room": "B. Con", "slug": "2020-7-your-own-kubernetes-lab-with-k3s", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/XYHHNR/", "title": "Your own kubernetes lab with k3s", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Have a working kubernetes on your laptop as lab environment then k3s, which is a lightweight kubernetes distribution, is your friend. K3s is also an ideal way to get acquainted with kubernetes and to test out your own containerised applications before moving to a real kubernetes cluster. This talk will introduce you to k3s and guide you how to set it and show you some practical usages with demo.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 11, "code": "D9ESEM", "public_name": "gratiendhaese", "biography": "Gratien D'haese is a Belgian independent IT Consultant who is already 28 years active in the Unix world (and with Linux since its invention in 1991). Gratien has a broad experience with Unix/Linux in general, Open Source software, Unix networking and security, big system administration tasks, clustering, consultancy, DevOps (chef, ansible) and project management.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.1.015": [{"id": 78, "guid": "285685a6-98f4-5d55-a711-cdbd90946c5b", "logo": "", "date": "2020-02-03T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.1.015", "slug": "2020-78-hacking-terraform-engineer-your-migration-to-iac", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/GACZXX/", "title": "Hacking Terraform: Engineer your Migration to IaC", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "**Infrastructure as Code (IaC)** is considered the predominant approach to manage Cloud Infrastructure at large scale. **Terraform** is the market-leading tool implementing this approach, including support for all big Clouds Providers. It is extremely convenient to start new projects from scratch and automate your infrastructure right away. But what if you started without? What if you want to manage big amounts of *pre-existing Cloud resources* with Terraform?\r\n\r\nTerraform's **import** command is one building block, but using it manually for many resources is very tedious and error-prone. A complete import mechanism is announced by Hashicorp, but it is unclear when it will be implemented. In this talk I will show you how to work smart, not hard: we will automate the import into the statefile, generate the required Terraform code and engineer the correctness of the result with automated tests. All hands-on and with practical examples, that you can reuse to migrate your own infrastructure.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 59, "code": "7RT3CN", "public_name": "Constantin Weisser", "biography": "Constantin Weisser is a Consultant and Trainer for Novatec Consulting GmbH, based in Germany. He is accompanying customers on their journey to modern software development. He focuses on methods and tools around software delivery, that is, covering all the way from the source code to a running application in the Cloud. Constantin advocates tailored tooling, step-by-step automation and engineering approaches to speed up software development and delivery, enabling teams to ship high quality applications.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 116, "guid": "4038a447-da82-52e5-9235-b4387ff41b57", "logo": "", "date": "2020-02-03T14:50:00+01:00", "start": "14:50", "duration": "00:25", "room": "B.1.015", "slug": "2020-116-terraform-configuration-without-the-mess", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ASE9RA/", "title": "Terraform Configuration Without The Mess", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "One of the most frequent complaints about Terraform is the state that configuration gets itself into after a repository have been living for a few years. The root cause is often that teams treat Terraform as configuration instead of code, and throw basic software engineering principles out the window as a result. In this talk, we'll look at proven patterns for writing Terraform configuration which ages well and remains an asset instead of a liability.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 89, "code": "EM9D7E", "public_name": "James Nugent", "biography": "James is a software engineer from Bath, England. He is currently the chief architect at database company Event Store and a contributor to Pulumi. He was formerly a core maintainer of Terraform at HashiCorp, worked on cloud infrastructure at Joyent and was the first VP Engineering at Jet.com.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 95, "guid": "0d855540-b3bd-5451-81b4-644d5569b7e9", "logo": "", "date": "2020-02-03T15:15:00+01:00", "start": "15:15", "duration": "00:25", "room": "B.1.015", "slug": "2020-95-design-draw-deploy-your-aws-infrastructure-from-inception-to-production", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/BAQSNP/", "title": "Design, Draw, Deploy your AWS infrastructure from inception to production", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Once the infrastructure is designed you should be able to deploy it effortlessly. This has long been the goal and can now become a reality!", "description": "Cloud solution architects and DevOps engineers want to have a faster conversion from idea to product. They don\u2019t necessarily care about the foundation on which it runs. It\u2019s supposed to work and provide the functionality specified. So how do you go about making that happen?\r\n\r\nWhat if there would be a way to draw an architecture online and get the infrastructure for it implemented as code automatically? \r\n\r\nDuring the talk, I will demo how it is possible to create AWS architectural diagram in the browser and get it converted to working Terraform configurations and show it all in action.\r\n\r\nThis talk will be rather interactive and involve the audience, as I will be asking for inputs and base the demo on them.\r\n\r\nKeywords: Terraform, terraform-aws-modules, modules.tf, open-source.", "recording_license": "", "do_not_record": false, "persons": [{"id": 42, "code": "XFVEB3", "public_name": "Anton Babenko", "biography": "Anton is AWS Community Hero and helps companies around the globe build solutions using AWS and specializing in infrastructure as code, DevOps, and reusable infrastructure components.\r\n\r\nHe spends a large amount of his time as an open-source contributor on various Terraform & AWS projects and enjoys solving real cloud architecture tasks and makes them available as open-source. His most successful projects are a collection of Terraform AWS modules (terraform-aws-modules on GitHub) downloaded more than 5 million times, ebook describing Terraform best practices established in the community (www.terraform-best-practices.com), and modules.tf.\r\n\r\nAnton co-founded and co-organizes AWS, DevOps, HashiCorp User Groups in Norway, DevOpsDays Oslo, and often speaks at various technical meetups and conferences.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 79, "guid": "789155e8-df38-5b87-a8d1-4a39cff86f19", "logo": "", "date": "2020-02-03T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.1.015", "slug": "2020-79-the-road-to-reliability-infrastructure-testing-explained", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/XDBXDL/", "title": "The Road to Reliability: Infrastructure Testing explained", "subtitle": "", "track": "Terraform", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "For years, there has been a shift to \"Infrastructure as Code (IaC)\". The code we write daily is not just the application itself, but also definition of whatever Cloud Infrastructure the application needs. Tools like Terraform, Pulumi or Cloud APIs support this approach. The code base we start with is often simple and clear, the resulting infrastructure predictable. Growing code bases, entangled components and more advanced language features such as conditional configurations make it increasingly hard to foretell if everything works as expected.\r\n\r\nIn this talk, you will learn ways to test your infrastructure code. We will cover a variety of tools and approaches, that allow you to engineer the reliability of your productive infrastructure and make you confident to roll out more infrastructure changes in less time. This is not a theoretical lesson. We will walk through real-life examples with visible benefits that you can apply yourself right away.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 59, "code": "7RT3CN", "public_name": "Constantin Weisser", "biography": "Constantin Weisser is a Consultant and Trainer for Novatec Consulting GmbH, based in Germany. He is accompanying customers on their journey to modern software development. He focuses on methods and tools around software delivery, that is, covering all the way from the source code to a running application in the Cloud. Constantin advocates tailored tooling, step-by-step automation and engineering approaches to speed up software development and delivery, enabling teams to ship high quality applications.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 86, "guid": "b8c27091-e070-5d19-a025-bc53ee1cf88f", "logo": "", "date": "2020-02-03T16:50:00+01:00", "start": "16:50", "duration": "00:25", "room": "B.1.015", "slug": "2020-86-vault-deploy-organizing-terraform-code-for-multiple-vault-clusters", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/QZXENV/", "title": "Vault Deploy: Organizing Terraform Code for Multiple Vault Clusters", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Using a Terraform Module and standing up one instance of a module is very common. And spinning up one Vault cluster is fairly straight forward. But what happens when you need to go from 1 instance to 4? This presentation covers how to develop and organize a Terraform project to manage multiple HA Vault Clusters for deployment. As a Senior Implementation Services Engineer for HashiCorp, I've been working with customers large and small to help them put Vault into production, and I will talk about the different strategies and patterns I've seen in the field.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 64, "code": "PDKKPZ", "public_name": "Shobhna Shastri", "biography": "Shobhna Shastri is a Senior Implementation Services Engineer at HashiCorp. She travels around helping customers in EMEA stand up HashiCorp deployments of Vault, Consul, and Terraform Enterprise. With over 10 years of tech industry experience, she started as a software developer and eventually moved to more client facing roles. She has been in the DevOps space for the last 3 years working first at Puppet and transitioning over to HashiCorp in 2018.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.1.017": [{"id": 30, "guid": "273d7c0e-75c5-57a0-8d9c-4b71773f7f16", "logo": "", "date": "2020-02-03T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.1.017", "slug": "2020-30-maintaining-over-40-ansible-modules-4-years-later", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/U7CGMZ/", "title": "Maintaining over 40 Ansible modules: 4 years later", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "The [Foreman](https://theforeman.org) community maintains a [collection of over 40 Ansible modules](https://github.com/theforeman/foreman-ansible-modules) for interaction with the Foreman API and the various plugin APIs. This all started with two modules in `ansible/ansible` in 2016 and escalated from there.\r\n\r\nToday we want to share the lessons learned from these three years of module development and maintenance.\r\nIncluding:\r\n\r\n* efficient abstraction -- all modules talk to the same base API, receive the same credentials and execute similar actions, let's abstract that away!\r\n* good tests -- nobody wants to break stuff, but you have to `assert` that.\r\n* migrating to new API libraries -- should be fairly easy with an abstraction layer, right?\r\n* onboarding new contributors -- (un)surprisingly the hardest part after you've built something for your own needs.\r\n\r\nWe also want to talk about what's next: How we can further improve and ease the interaction? Which challenges we see in the future?", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 22, "code": "JZ937Y", "public_name": "Evgeni Golov", "biography": "Debian Developer, Red Hat Engineer, \u2665 automation", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 73, "guid": "1583ca5e-25a5-5060-a308-922b62f518e9", "logo": "", "date": "2020-02-03T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B.1.017", "slug": "2020-73-ansible-collaboration-within-your-organization", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/KSEFVV/", "title": "Ansible Collaboration within your Organization", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Ansible is an incredible tool for personal and team productivity, but sharing Ansible Role and Collection content between parts of your organization, or across teams, is hard. Sharing content publicly using galaxy.ansible.com is an option, but everything you post is now public. Alternatively, private git repos are viable, but it can be difficult to scale technical git knowledge and access  within organizations.\r\n\r\nLearn to enable Ansible collaboration within your organization using pulp_ansible -  https://pulp-ansible.readthedocs.io/. You\u2019ll learn how to upload, organize, and download Role and Collection Ansible content using the regular ansible-galaxy command line. Pulp_ansible is easy to install using Ansible itself, which we will also do. Once setup it provides a directory that individuals and teams can use to share and consume Role and Collection content with others securely and privately. You\u2019ll also learn about the quality checks pulp_ansible provides as it analyzes content it hosts.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 55, "code": "MBJSKS", "public_name": "Brian Bouterse", "biography": "Brian Bouterse is a Principle Software Engineer at Red Hat. He is a developer with pulpproject.org which is written in Python and deploys Python software among other types (rpm, puppet, docker, etc).", "answers": []}, {"id": 127, "code": "WKJMUJ", "public_name": "Oleksandr Saprykin", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 112, "guid": "a0f1e707-482e-5e72-9647-a07501ca9ec1", "logo": "", "date": "2020-02-03T16:00:00+01:00", "start": "16:00", "duration": "00:25", "room": "B.1.017", "slug": "2020-112-global-linux-client-with-ansible-and-foreman", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/QNSP9S/", "title": "Global Linux client with Ansible and Foreman", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "This is the story of RLC, Roche Linux Client, deployed globally in 13 sites. Fully Integrated to our corporate environment. This talk is about how open source tools like **Ansible**, **Foreman** and **Aptly** made it all possible. Ultimately changing minds about how automation can bring value to our organisation.", "description": "RLC is based on Ubuntu desktop following LTS releases.\r\n\r\nMirroring and snapshot of Ubuntu package repositories allow reproducibility.\r\n\r\nForeman and ipxe give control and audit trail about deployments.\r\n\r\nAnsible configures everything.", "recording_license": "", "do_not_record": false, "persons": [{"id": 85, "code": "HMXQ7K", "public_name": "Eric Keller", "biography": "Principal software engineer at Roche Diagnostics. +15 years experience in Linux, open source. +5 years DevOps enthousiaste. Occasionally speaker.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 46, "guid": "cb046a9f-e332-5baa-aa13-54472485d2cc", "logo": "", "date": "2020-02-03T16:25:00+01:00", "start": "16:25", "duration": "00:25", "room": "B.1.017", "slug": "2020-46-rudder-and-ansible-a-love-story", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ETU7DJ/", "title": "Rudder and Ansible: a love story", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Ansible as a deployment tool, and Rudder as a compliance tool. How to move your Ansible tasks to Rudder, in order to use the best of both worlds?", "description": "What's the difference between deployment and compliance?\r\nWith an historical pool of Ansible playbooks used to deploy and configure our whole infrastructure, we wanted to integrate compliance in our process to follow up changes easily and to maintain a fully known infrastructure.\r\nWhat tasks could be replaced by Rudder techniques, how to choose them, and what would be the advantages?", "recording_license": "", "do_not_record": false, "persons": [{"id": 38, "code": "EVPAMA", "public_name": "Victor H\u00e9ry", "biography": "System administrator for years, free software addict, love to architecture infrastructure and automatize management.", "answers": []}, {"id": 44, "code": "9MYR3G", "public_name": "Florian Gan\u00e9e", "biography": "DevOps and swiss knife, automation is one of my passions. Ansible is my best friend. I can always count on it!", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 129, "guid": "efd27b4d-9db4-5b6e-8b8c-3bb58b786c74", "logo": "", "date": "2020-02-03T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.1.017", "slug": "2020-129-using-ansible-vault-to-secure-passwords-ssh-keys-and-secure-tokens-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/VYUYVH/", "title": "Using Ansible Vault to secure passwords, ssh keys and secure tokens.", "subtitle": "", "track": "Ansible", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Have you ever committed personal token, password or ssh public keys to GitHub ? or any public source code repository ? The devops culture is rapidly getting adopted and often we get to know instances where private important data was pushed to GitHub. Considering the adoption of Ansible usage this session covers below details,\r\n\r\n1. What is Ansible, Ansible basics.\r\n2. What is Ansible Vault ?\r\n3. How to use Ansible Vault ?\r\n4. Use cases of Ansible Vault.\r\n4. Demonstration.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 74, "code": "CQMQ7T", "public_name": "Amit Upadhye", "biography": "My name is Amit and I am Senior Software Engineer at Red Hat. Most of my contributions are in Foreman related components like Foreman Maintain, Foreman and Keycloak integration, Release Management etc. The Foreman application uses Rails framework and I am involved in developing new features, fix existing problems. I also like to integrate multiple applications and technologies to solve enterprise use cases. Prior to joining development team I was part of support at Red Hat and enjoyed troubleshooting issues of different types which helped me to gain good knowledge around Linux, strace, networking, python debugger, code walk-through.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.009": [{"id": 93, "guid": "95943f42-b57f-5dac-bd31-88fbf2c1a262", "logo": "", "date": "2020-02-03T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.2.009", "slug": "2020-93-observability-is-more-than-logs-metrics-traces", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/BEATSF/", "title": "Observability is More than Logs, Metrics & Traces", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "You know the drill: DevOps is using tool(s) X. So obviously, observability can be solved by throwing some tools together as well; generally logs, metrics, and traces often called the trifecta of observability.\r\n\r\nBut observability is not a tool \u2014 it is a property of a system. Moving from many small blackboxes to a more holistic view of your system. It includes tools, but not exactly three distinct features (especially if your solution happens to support those). For example, if half your user base cannot access your service because of some bad DNS settings and external health checks are not part of your trifecta, you are none the wiser.\r\n\r\nThis is not (just) a rant, but a look at the actual value to be added and some approaches to it. Like turning your logs into richer events that align with your business. Which is not solved by fancy tools alone.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 69, "code": "9ACJ9E", "public_name": "Philipp Krenn", "biography": "Philipp lives to demo interesting technology. Having worked as a web, infrastructure, and database engineer for over ten years, Philipp is now working as a developer advocate at Elastic \u2014 the company behind the Elastic Stack consisting of Elasticsearch, Kibana, Beats, and Logstash. Based in Vienna, Austria, he is constantly traveling Europe and beyond to speak and discuss open source software, search, databases, infrastructure, and security.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.010": [{"id": 158, "guid": "80b0b07f-7172-5549-ba3b-fc171fdbafbe", "logo": "", "date": "2020-02-03T14:00:00+01:00", "start": "14:00", "duration": "00:25", "room": "B.2.010", "slug": "2020-158-continuous-delivery-infrastructure-edition-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/Q3HEG3/", "title": "Continuous Delivery: Infrastructure Edition!", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Application delivery pipelines can make it a lot easier to quickly iterate on applications, but what about infrastructure? There\u2019s toil hiding everywhere in infrastructure management, including processes like scaling up or down, patching, and more. On top of that, security requirements are often a huge consideration.\r\n\r\nIn this talk, we\u2019ll explore some strategies for continuously delivering your infrastructure using an end-to-end CI/CD pipeline. We will also make use of infrastructure as code tools to manage the full infrastructure lifecycle with testing and feature flags.\r\n\r\nAttendees will learn how this use case can help build patterns for others, and some ideas for improving their infrastructure provisioning and management!", "description": "Application delivery pipelines can make it a lot easier to quickly iterate on applications, but what about infrastructure? In this talk, we\u2019ll explore some strategies for continuously delivering your infrastructure using an end-to-end CI/CD pipeline. Attendees will learn how this use case can help build patterns for others, and some ideas for improving their infrastructure provisioning and management!", "recording_license": "", "do_not_record": false, "persons": [{"id": 113, "code": "PBEYCM", "public_name": "Xander Grzywinski", "biography": "Xander is a Developer Advocate at HashiCorp. Previously, he worked as an SRE at companies including Microsoft, Starbucks, and Target. Xander loves working with infrastructure and automating all the things. When not in front of a computer screen, you can find him somewhere with poor lighting, good coffee, and a spooky book.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.011": [{"id": 183, "guid": "2d2d074b-ddc1-51e7-be36-20ea928bdddb", "logo": "", "date": "2020-02-03T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.2.011", "slug": "2020-183-automate-monitoring-with-salt-and-checkmk", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/HUCXAZ/", "title": "Automate Monitoring with Salt and CheckMK", "subtitle": "", "track": "Salt", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Intelligent Automation meets Intelligent Monitoring. Enable synergies between Salt & check**mk**\r\n\r\n**Learn how to:**\r\n- Setup quickly a full functional monitoring environment\r\n- Add your Salt-Minions automatically to check**mk**\r\n- Install check**mk** Monitoring Agents via Salt\r\n- Use Salt Grains within check**mk** to  define Rules\r\n- Send check**mk** notifications via the Salt Event Bus \r\n- React on check**mk** events with the Salt Reactor System", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 41, "code": "XJEP3Y", "public_name": "Philipp Lemke", "biography": "- Responsible for Automation and Monitoring Solutions @Agfa HealthCare GmbH\r\n- Freelancer - Automation and Monitoring Projects\r\n- Contributor at https://github.com/tribe29/salt-checkmk", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 182, "guid": "fcf987d4-0c6a-5b3c-8219-f40a89ae3d07", "logo": "", "date": "2020-02-03T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B.2.011", "slug": "2020-182-running-ansible-within-salt-get-the-best-of-both-worlds", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/7EUV3A/", "title": "Running Ansible within Salt - Get the best of both worlds", "subtitle": "", "track": "Salt", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "At SUSE we love Salt for configuration management and infrastructure orchestration. We actively develop and integrate Salt as a core component of some of our products. At times we work with customers and users who chose Ansible as their configuration management engine. They invested time and effort designing Ansible playbooks to define their infrastructure and they don't want to waste the effort. But often they then realize that with Salt they can do even more to configure and control their infrastructure with real-time, persistent monitoring, event-driven orchestration, extreme modularity, and more.\r\n\r\nThe Fluorine release of Salt comes with a new module called ansiblegate which was created by SUSE and allows Ansible to be run from within Salt, offering the best of both worlds. You can execute any Ansible module directly using Salt and you can even reuse your own Ansible playbooks and apply them using Salt.\r\n\r\nThis session will show how Salt is able to run Ansible using ansiblegate providing users with the flexibility and optionality required to manage and secure diverse infrastructure at scale. SUSE loves openness, and this project gives Ansible and Salt users alike the ability to protect existing investments while leveraging the best infrastructure automation and configuration management for the job.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 94, "code": "QRZWE9", "public_name": "Pablo Su\u00e1rez Hern\u00e1ndez", "biography": "Pablo holds a BEng. Computer System Engineering from University of La Laguna. Tenerife. Spain.\r\nHe is a Backend Software Engineer Engineer at SUSE Linux and part of the SUSE Manager & Salt Team where he is actively developing on SUSE Manager & Uyuni and its integration with Salt.\r\nHe has lots of contributions to the Salt project, such the Snapper and Kubernetes modules, core improvements and bug fixing.\r\n\r\nPablo is also involved in the local communities of Arduino, Raspberry-Pi, FLOSS and Linux.\r\nBefore joining SUSE he was working as Python/Django developer on different projects and companies in Spain.\r\n\r\nHe is currently developing Free Software from Tenerife, Spain.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 164, "guid": "6984b6a5-300d-59f9-a3d2-afe3411e4d12", "logo": "", "date": "2020-02-03T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.2.011", "slug": "2020-164-manage-virtual-machines-like-configuration-with-salt", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/HR39GE/", "title": "Manage Virtual Machines like Configuration with Salt", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Virtual Machines are live things, but what if I want to manage them just like configuration? [Salt](https://docs.saltstack.com/en/latest/ref/states/all/salt.states.virt.html) helps you doing it by defining the VMs using states. This talk will be showing off how to leverage this feature. The talk will quickly walk through the basics of Salt states before exploring the `virt` state. Then we will see how Salt uses [libvirt](https://libvirt.org/) to get this done.\r\n\r\nSince this is also used by [Uyuni](https://www.uyuni-project.org/), the session will provide an insight of a real-life use case.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 117, "code": "GDS3JG", "public_name": "C\u00e9dric Bosdonnat", "biography": "Hacking on open source software for 13 years, I contributed to a wide range of projects like openSUSE, LibreOffice, libvirt, Uyuni or Salt.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 124, "guid": "6d5a1282-b6dd-5730-9c67-8345ef3f784f", "logo": "", "date": "2020-02-03T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.2.011", "slug": "2020-124-managing-secrets-using-saltstack-and-pillar", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/9LTMZG/", "title": "Managing Secrets Using SaltStack and Pillar", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "When using any sort of automation system for either remote execution or configuration management, one of the major advantages is the ability to reduce repetitive tasks. Often tasks in these scenarios involve using sensitive information such as passwords.  In this talk we\u2019ll look at how the SaltStack Pillar system can be used to store secrets and securely provide them to only the Salt minions that should have access to them.  We'll look at how we can take advantage of external systems to store our Pillar data.", "description": "When using any sort of automation system for either remote execution or configuration management, one of the major advantages is the ability to reduce repetition. By using state files with SaltStack, commonly used tasks can be automated so that the next time these tasks need to be performed the action is repeatable and consistent. Often tasks in these scenarios involve using sensitive information such as passwords and the need to securely store and securely provide that information arises. This is where the Salt Pillar system comes in.\r\n\r\nIn this talk we\u2019ll walk through some basic usage of the Pillar system, including the ability to target data at specific Salt minions.  We'll look at ways Pillar can help us reuse state files in multiple environments such as Dev, QA, and Production.  We'll also look at ways that data can be stored encrypted while at rest using tools such as GPG.  Finally, we'll look at storing pillar data in external systems such as databases like MySQL, source control systems like Git, and Hashicorp Vault.\r\n\r\nThe talk will include:\r\n* A brief introduction to Salt Stack.\r\n* Using SaltStack Pillar to store and provide secrets.\r\n* Ways to encrypt the data managed by Pillar.\r\n* Storing and retrieving Pillar using external systems such as Hashicorp Vault.", "recording_license": "", "do_not_record": false, "persons": [{"id": 96, "code": "X3CMGE", "public_name": "Gareth J Greenaway", "biography": "Gareth is the senior software developer at Saltstack, an occasional FLOSS Weekly co-host, and co-founder and former leader of the Southern California Linux Expo. Gareth lives in Southern California with his wife, where they are owned by several pets.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.015": [{"id": 24, "guid": "a0c8aec1-2f26-5806-aa32-1838cdf9464a", "logo": "", "date": "2020-02-03T14:00:00+01:00", "start": "14:00", "duration": "00:25", "room": "B.2.015", "slug": "2020-24-the-foreman-community-update", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/RSKH7F/", "title": "The Foreman Community Update", "subtitle": "", "track": "Foreman", "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Another year, another CfgMgmt community update. I'll be going over what's new, what changed, and what our plans might look like for the future", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 25, "code": "9V3HB7", "public_name": "Tomer Brisker", "biography": "Tomer is currently the release manager of the Foreman project. He has been an active contributor and maintainer of the project for over 5 years as part of his job as a Software Engineer at Red Hat.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 109, "guid": "6a3dfdfa-3024-58b8-b473-2dcc6e0ac951", "logo": "", "date": "2020-02-03T14:25:00+01:00", "start": "14:25", "duration": "00:25", "room": "B.2.015", "slug": "2020-109-to-foreman-2-0-and-beyond-an-architecture-perspective", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ZEW3FP/", "title": "To Foreman 2.0 and beyond: an architecture perspective", "subtitle": "", "track": "Foreman", "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "The Foreman project is 10 years old, but there's still plenty of things to change. In this presentation we'll go over the current Foreman architecture as well as Katello before looking to the future with Foreman 2.0 and Katello 4.0.", "description": "Foreman and Katello consist of multiple services which interact with each other. In this talk we will discuss these services and how they communicate both in a vanilla Foreman (1.24) and a Katello (3.14) setup. This means Foreman, Foreman Proxy, Katello, Pulp and Candlepin with their the connections and databases. The optional services like Puppetserver, DNS, DHCP, TFTP and compute resources will also be handled.\r\n\r\nForeman 1.25 becomes Foreman 2.0 and there is also a rough roadmap to Katello 4.0. Major versions means dropping support.\r\n\r\nFrom an architecture perspective Foreman 2.0 is not a huge change but a lot of implementation details will change. Foreman will limit database support to PostgreSQL, drop Debian Stretch and Ubuntu Xenial allowing us to only support Ruby 2.5+. Dynflow will use Redis to allow scaling out and Puma will replace Passenger. On EL7 systems PostgreSQL will be upgraded to version 10 and the Foreman Proxy will run on Ruby 2.5.\r\n\r\nIn Katello 4.0 the changes are more significant. It won't be a huge surprise that Pulp is a huge driver in the major version. Work is already under way to support Pulp 3. Pulp 3 uses PostgreSQL and Redis instead of MongoDB and Qpid in Pulp 2. For full removal of Qpid, the Candlepin event handling in Katello is also changed. From an operational perspective it will be easier to deal with fewer services.\r\n\r\nNote this talks about architecture but not the actual delivery. That means it won't be about switching to containers but knowing your architecture can be seen as a prerequisite to containers.", "recording_license": "", "do_not_record": false, "persons": [{"id": 77, "code": "CKTAKY", "public_name": "Ewoud Kohl van Wijngaarden", "biography": "Passionate open source user.\r\nLong time contributor to The Foreman.\r\nRecent(ish) Red Hat employee.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 27, "guid": "58c0468b-f546-5b88-8fe0-e4ba8c158458", "logo": "/media/2020/images/RD3BHY/katello.png", "date": "2020-02-03T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B.2.015", "slug": "2020-27-managing-content-in-your-large-scale-datacenter-with-katello", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/RD3BHY/", "title": "Managing Content in Your Large-Scale Datacenter with Katello", "subtitle": "", "track": "Foreman", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "If you\u2019re seeking an open-source solution for managing your physical or virtual servers\u2019 software content, then Katello could be for you!  Through Katello, magnitudes of servers\u2019 content can be easily and quickly managed via web browser.  Files and software packages can be remotely synced or uploaded and then grouped into Lifecycle Environments at a per-content-unit level.  Synced content in Katello can be easily deployed onto servers and stepped through Lifecycle Environments such as Development, Testing, and Production, or as many as are needed.  Katello can also keep administrators aware of CentOS/RHEL errata -- bug fixes, enhancements, and security patches.\r\n\r\nAlready an avid user of Katello?  Features new to Katello within the past few years will be highlighted, such as dependency solving and Composite Content View auto-publishing.  Also, to inspire new ways to use Katello, we\u2019ll explore content-enabled Smart Proxies and see a demonstration of an automated web server deployment.  Whether you\u2019re new to Katello or a pro, you're invited to join this community presentation and discussion!", "description": "Topics discussed include:\r\n* Syncing repositories and uploading content to the local server\r\n* Adding filtered content to Content Views\r\n* Setting up Lifecycle Environments such as Dev -> Test -> Prod\r\n* Moving a provisioned and registered host through Lifecycle Environments\r\n* Patching host content using errata\r\n* Subscription management\r\n* Deploying content using Remote Execution (REX)\r\n* Provisioning and data syncing off-site using content-enabled Smart Proxies\r\n* Highlighting of select new Katello features\r\n* A demo of using Foreman+Katello to deploy a web server", "recording_license": "", "do_not_record": false, "persons": [{"id": 29, "code": "VF8HXR", "public_name": "Ian Ballou", "biography": "Ian Ballou is a Software Engineer on the Red Hat Satellite team.  He currently works on upstream Katello, both developing new features centered mostly around the Pulp 3 integration and performing maintenance as well.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 36, "guid": "54a90f06-80dc-5565-8438-1e7bc871e3f5", "logo": "", "date": "2020-02-03T16:00:00+01:00", "start": "16:00", "duration": "00:25", "room": "B.2.015", "slug": "2020-36-creating-api-and-cli-for-foreman-kubevirt-compute-resource", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/78UL3X/", "title": "Creating API and CLI for Foreman Kubevirt Compute Resource", "subtitle": "", "track": "Foreman", "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "This talk will go over adding an API and CLI for a new Compute Resource in Foreman. \r\nWe will start with a quick introduction to the Kubevirt Compute Resource.\r\nThen, we will dive into the code needed for adding API endpoints and a Hammer plugin that uses the API to allow provisioning automation and management of a Compute Resource.\r\nThe main take away from the talk will be to see how easy it is to create API and CLI support for a new Compute Resource.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 34, "code": "QHFRCH", "public_name": "Shira Maximov", "biography": "I am a Member of the Forman development team For two years, my main focus is on Hammer and Compute Resources, such as oVirt and Kubevirt. \r\nBefore that, I was A Quality Engineer at Redhat, and I worked on oVirt product, for three years.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 132, "guid": "64ccea40-e1f7-5515-af5e-11b1e45d83c8", "logo": "", "date": "2020-02-03T16:25:00+01:00", "start": "16:25", "duration": "00:25", "room": "B.2.015", "slug": "2020-132-creating-reports-based-on-foreman-data", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/7RR9NN/", "title": "Creating reports based on Foreman data", "subtitle": "", "track": "Foreman", "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Foreman is a well known infrastructure management swiss army knife. Recently it got a new reporting engine that can be used to gather interesting data about managed hosts. In this talk I'll show how to do that, discuss possible gotchas and explain best practices.", "description": "In this talk I'll demonstrate reporting engine capabilities. I'll explain what report template is and how it's supposed to be constructed. A demo will contain building a new report template from scratch. We'll discuss safe-mode limitations and look at ways how to overcome them. I'll share best practices for writing, managing and sharing report templates. At the end I'll spend some time on performance tweaking and debugging.", "recording_license": "", "do_not_record": false, "persons": [{"id": 101, "code": "X7GYXZ", "public_name": "Marek Hulan", "biography": "Marek works in RedHat mostly around Foreman project. He worked on puppet-based Foreman installer framework called Kafo, networking provisioning through Foreman templates, remote execution plugin allowing automation of tasks that do not fit into the configuration management. He introduced Chef integration to Foreman and co-maintained the Ansible integration. Recently he worked on reporting engine of Foreman.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 101, "guid": "ff3537db-896a-5c80-aa39-225fab4dd768", "logo": "", "date": "2020-02-03T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.2.015", "slug": "2020-101-getting-data-out-of-your-foreman", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/8KFCEQ/", "title": "Getting data out of your Foreman", "subtitle": "", "track": "Foreman", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "This talk will be about getting data for troubleshooting out of Foreman. I will take a look at multiple solutions, have a look at how easy they are to setup and which data they provide.", "description": "There are some additional solution to get data out of Foreman, you are probably not aware of. I will take a look at three of them focusing on how easy they are to setup and which data they provide:\r\n\r\n* [Foreman-Elasticsearch](https://github.com/lzap/foreman-elasticsearch) provides instructions to setup Foreman, Journald, Rsyslog, and Elasticsearch to get your logs visualized\r\n* [Foreman-Supervisory-Authority](https://github.com/timogoebel/foreman_supervisory_authority) provides integration with Elastic-APM for Application Performance Monitoring\r\n* [Foreman-Concrete](https://github.com/timogoebel/foreman_concrete) provides integration with Sentry to collect software errors", "recording_license": "", "do_not_record": false, "persons": [{"id": 75, "code": "SVB733", "public_name": "Dirk G\u00f6tz", "biography": "Dirk G\u00f6tz is working as Principal Consultant and Trainer for NETWAYS.\r\nAs part of his daily work he writes concepts, implements, reviews and teaches Puppet, Ansible and Foreman in many different environments.\r\nHe created a training course based on Open Source Puppet for his employer and the official Foreman Training as corporate project of NETWAYS and the Foreman Project.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.3.026": [{"id": 184, "guid": "8f96d5f9-3350-53b8-8637-4e6926456d63", "logo": "", "date": "2020-02-03T14:40:00+01:00", "start": "14:40", "duration": "03:00", "room": "B.3.026", "slug": "2020-184-hackerroom", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/JCWCBP/", "title": "Hackerroom", "subtitle": "", "track": null, "type": "Workshop - Wednesday", "language": "en", "abstract": "Hacker Room", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}], "B.3.036": [{"id": 25, "guid": "aff492c2-1cd3-5c22-90c1-86ac9190701c", "logo": "", "date": "2020-02-03T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B.3.036", "slug": "2020-25-achieving-fully-hands-off-deployment-of-an-icinga-2-cluster-using-puppet", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/WFYXGP/", "title": "Achieving fully hands-off deployment of an Icinga 2 cluster using Puppet", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Although some excellent Puppet modules are provided for deploying Icinga 2, gluing everything together into a cluster with multiple satellite zones and redundancy can still be challenging, as you still need to provide the right configuration, endpoints, ... to each additional node.\r\n\r\nThis talk will introduce some techniques we use to automate this process as much as possible. By leveraging PuppetDB queries, custom Puppet functions, etc. we can achieve a level of automation where new nodes can automatically discover the endpoints they need, and bootstrapping additional satellites is as easy as flipping a feature toggle. \r\n\r\nAdditionally, techniques for leveraging Icinga 2 apply rules as much as possible are introduced, in order to define thousands of services without the need for superfluous exported resources. This means we can reduce the stress on PuppetDB, which results in a high-performance, highly scalable setup overall.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 27, "code": "JKBSYQ", "public_name": "Lander Van den Bulcke", "biography": "Lander is an Open Source Consultant at Inuits; as an ops guy he is focusing on monitoring, infrastructure as code and continuous delivery.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 122, "guid": "24d5be96-e9b4-5152-a1a8-f62d2f1f7925", "logo": "", "date": "2020-02-03T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.3.036", "slug": "2020-122-grafana-dashboard-automation", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/E9DJ3F/", "title": "Grafana Dashboard Automation", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "This talk demonstrates technologies for automating Grafana dashboard generation and deployment.", "description": "Grafana configuration can nowadays be fully done as code, which enables code review, code reuse, and in general better workflows when working with dashboards.\r\n\r\nThis talk will present Grafonnet, a Jsonnet library to generate Grafana dashboards and some tips and tricks about how to use it efficiently and how to manage fully your Grafana instances from code. We will also explore how Jsonnet and Grafonnet enable collaboration on dashboards, using Mixins and explain how to push dashboards to Grafana, either using Kubernetes, or direct to the Grafana API.", "recording_license": "", "do_not_record": false, "persons": [{"id": 95, "code": "9ZKEMT", "public_name": "Malcolm Holmes", "biography": "Malcolm Holmes is a software developer and Buddhist who loves Unix. He's been a member of the Apache Software Foundation since 2005, and more recently has been a part of the infrastructure team at Grafana Labs.", "answers": []}, {"id": 49, "code": "D3YNMK", "public_name": "Julien Pivotto", "biography": "Julien Pivotto is a young Open-Source consultant at Inuits where he is helping organisations with the deployment of long-term solutions based on Open-Source infrastructure. He is a strong believer in the devops movement and has technical focus towards infrastructure automation, continuous integration, monitoring and high availability.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 150, "guid": "277f88e0-4a8c-5822-9d2c-052f6487dd63", "logo": "", "date": "2020-02-03T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.3.036", "slug": "2020-150-rollout-all-your-prometheus-exporters-with-puppet-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/YHPERS/", "title": "Rollout all your Prometheus exporters with Puppet!", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Everybody loves Prometheus. Many exporters are available to gather specific data. You can download the binaries from GitHub, start them and they will expose data via plain HTTP, without any firewalling or authentication. That would just complicate the whole setup!\r\n\r\nA secure and automated rollout of exporters isn't easy. Also an authenticated connection from the prometheus server to the exporters requires some preparation. This talk will cover a proper concept and all details to rollout multiple exporters to many systems, completely automated with Puppet.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 32, "code": "J9NUH7", "public_name": "Tim Meusel", "biography": "Tim (bastelfreak) Meusel works as a DevOps Engineer for GoDaddy EMEA in Cologne, Germany where he develops and maintains a big public cloud platform. Tim is the driving force behind various open source solutions at work. He founded the VirtAPI-Stack and is a very active Vox Pupuli Maintainer and Project Management Committee member. Tim has been doing work in the DevOps area since 2009 and is persuing Puppet solutions since 2012. Recently he was reelected to serve on the Vox Pupuli Project Management Committee. He enjoys good BBQ and ice hockey.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.3.037": [{"id": 91, "guid": "cef33671-8d83-57c3-b4e7-e91143ec5862", "logo": "", "date": "2020-02-03T14:50:00+01:00", "start": "14:50", "duration": "00:25", "room": "B.3.037", "slug": "2020-91-autopilot-but-never-let-go-of-the-wheel", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/FUEYJV/", "title": "Autopilot, but never let go of the wheel", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "From TOIL to Continuous Delivery of Infrastructure, our tail of migrating our existing Infrastructure as code tools & wrappers so that they can be used in a CD system, but with all of the control grey-beards, enterprises & governments expect.", "description": "A tail of how we took our terraform tooling from being human focussed (and thus causing much more TOIL than was reasonable) and adapted it work within a sane set of pipelines, enabling drift checking, automated deployments & approved deployments that fit with in a multi-environment, sovereign-control organisation, while still retaining the ability to \"run from your laptop\" in an emergency or in bootstrap mode. We'll also cover the patterns that emerged for building tools that are both human & tool friendly, for progressive roll-out of changes & why CI/CD for VM based infrastructure requires better techniques that \"fixing the build\".", "recording_license": "", "do_not_record": false, "persons": [{"id": 71, "code": "39Y3UN", "public_name": "Simon McCartney", "biography": "technology fan (geek), motorsports fan (petrol head), tinkerer (likes to take things apart), metrics fan (you can't tell if you are doing better if you don't record what you were doing), husband, parent and a terrible biography writer (you're still reading this?!).", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 134, "guid": "5697203b-1eb4-5496-9c0c-de3e01692c88", "logo": "", "date": "2020-02-03T16:00:00+01:00", "start": "16:00", "duration": "00:25", "room": "B.3.037", "slug": "2020-134-using-git-submodules", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/USU8EM/", "title": "Using Git submodules", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "There are countless articles and blogs warning about the pitfalls in Git submodule usage, in effect resulting in an \"avoid at all costs\" recommendation. By contrast, this talk examines when and how to use Git submodules from a neutral point of view. Legitimate use cases, managing pitfalls, and alternatives will all receive their fair due.", "description": "The talk focuses on my own experiences using Git submodules.\r\n\r\nI generally take the view that the pitfalls are often exaggerated and that there is no reason to categorically avoid Git submodules where the conditions are right.\r\n\r\nThat being said, there are conditions and pitfalls one should be aware of. As with any other tool, Git submodules have their use cases and limitations.\r\n\r\nThe talk will also include a short comparison with Git subtrees as a possible alternative to submodules.", "recording_license": "", "do_not_record": false, "persons": [{"id": 104, "code": "TLWUKZ", "public_name": "Quirin Pamp", "biography": "Quirin Pamp is a software engineer with ATIX AG in Garching near Munich, Germany. In this capacity he contributes to open-source projects in and around the Foreman/Katello ecosystem. Unrelated interests include logic and cycling.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 19, "guid": "53b40174-faa5-521e-a5ed-dac730879cfd", "logo": "/media/2020/images/QWXZD3/agent_logo.svg.png", "date": "2020-02-03T16:50:00+01:00", "start": "16:50", "duration": "00:25", "room": "B.3.037", "slug": "2020-19-what-s-new-in-cfengine", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/QWXZD3/", "title": "What's new in CFEngine", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Come hear about what's new in CFEngine with the latest long term supported\r\nrelease and share perspectives about future work to prioritize.", "description": "3.15.0 was released at the end of 2019. Come learn about the work done since the\r\nlast LTS release (3.12.0). Chat with the core development team and share your\r\nperspective about what you would like to see worked on in preparation for our\r\nnext long term support release.", "recording_license": "", "do_not_record": false, "persons": [{"id": 20, "code": "C8BYTT", "public_name": "Nick Anderson", "biography": "Nick is a **Doer of Things** who works with Open Source to help manage complex, heterogeneous global infrastructures and help secure the worlds connected devices. He believes that Open Source and the power of distributed organization is the key to building robust and reliable systems. Nick has been working in infrastructure management since 2002 from general IT management, to High Performance Computing and Financial Services with organizations ranging from organizations to some of the largest companies in the world. Contributing to CFEngine since 2010, Nick helps to maintain the configuration management tool that spawned an industry. He's always ready to talk about knowledge management and will probably try to convince you to use org-mode.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}, {"index": 2, "date": "2020-02-04", "day_start": "2020-02-04T04:00:00+01:00", "day_end": "2020-02-05T03:59:00+01:00", "rooms": {"ALL": [{"id": 172, "guid": "24389fde-c955-54cf-a3d0-ad7b1e053444", "logo": "", "date": "2020-02-04T08:30:00+01:00", "start": "08:30", "duration": "01:00", "room": "ALL", "slug": "2020-172-tuesday-breakfast", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/RCBJRX/", "title": "Tuesday  Breakfast", "subtitle": "", "track": null, "type": "Break Fast", "language": "en", "abstract": "Coffee and Croissants", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 179, "guid": "2b533a4d-926d-5954-a8c4-ed50665d5928", "logo": "", "date": "2020-02-04T11:10:00+01:00", "start": "11:10", "duration": "00:20", "room": "ALL", "slug": "2020-179-tuesday-morning-break", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/UKWAYA/", "title": "Tuesday Morning Break", "subtitle": "", "track": null, "type": "Break", "language": "en", "abstract": "Coffee and Snacks", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 175, "guid": "761131c5-1e79-51fe-ae50-72aea35a1d49", "logo": "", "date": "2020-02-04T13:00:00+01:00", "start": "13:00", "duration": "01:00", "room": "ALL", "slug": "2020-175-tuesday-lunch", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/SBNFM9/", "title": "Tuesday Lunch", "subtitle": "", "track": null, "type": "Lunch", "language": "en", "abstract": "On your own", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 180, "guid": "50c1e059-9fb3-531e-91e6-07f032253828", "logo": "", "date": "2020-02-04T15:40:00+01:00", "start": "15:40", "duration": "00:30", "room": "ALL", "slug": "2020-180-tuesday-afernoon-break", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/KF3CGA/", "title": "Tuesday Afernoon Break", "subtitle": "", "track": null, "type": "Break", "language": "en", "abstract": "Coffee and Snacks", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}], "D Aud": [{"id": 168, "guid": "e5703a96-3d85-5f73-804a-f3c997d5abcf", "logo": "", "date": "2020-02-04T09:30:00+01:00", "start": "09:30", "duration": "00:50", "room": "D Aud", "slug": "2020-168-i-got-99-problems-and-a-bash-dsl-ain-t-one-of-them-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/BW77ZZ/", "title": "I got 99 problems and a bash DSL ain't one of them.", "subtitle": "", "track": "Main", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "I got 99 problems and a bash DSL ain't one of them.", "description": "I got 99 problems and a bash DSL ain't one of them.", "recording_license": "", "do_not_record": false, "persons": [{"id": 123, "code": "3DMH3F", "public_name": "John Willis", "biography": "John Willis has worked in the IT management industry for more than 35 years. He is currently part of the global transformation team at RedHat.   He was formerly Director of Ecosystem Development at Docker. Prior to Docker, Willis was the VP of Solutions for Socketplane (sold to Docker) and Enstratius (sold to Dell). Prior to to Socketplane and Enstratius, Willis was the VP of Training and Services at Opscode, where he formalized the training, evangelism, and professional services functions at the firm. Willis also founded Gulf Breeze Software, an award-winning IBM business partner, which specializes in deploying Tivoli technology for the enterprise. Willis has authored six IBM Redbooks on enterprise systems management and was the founder and chief architect at Chain Bridge Systems.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 1, "guid": "00c831a2-b2c0-5f4d-9b41-e357a42f08a7", "logo": "", "date": "2020-02-04T10:20:00+01:00", "start": "10:20", "duration": "00:50", "room": "D Aud", "slug": "2020-1-how-convenience-is-killing-open-standards", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/FAHZWJ/", "title": "How Convenience Is Killing Open Standards", "subtitle": "", "track": "Main", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "All the technical freedom and diversity we enjoy in our industry is the result of internal, grass root evangelism. Over the last couple of decades, thought leaders have strongly opposed manufacturer-centric strategies and argued the case of Open Source and Open Standards. This ultimately led to the success of Linux and Open Source we have today.\r\n\r\nBut now, two decades later, the IT industry is in upheaval again: All three major cloud providers have been pushing their serverless solutions in order to lure customers into a new form of vendor lock-in. And they succeeded: The number of serverless deployments has already surpassed those of container based ones.\r\n\r\n\u201cSo this is how liberty dies \u2026 with thunderous applause\u201d\r\n\r\nI think there is no time to waste, to remind ourselves about Open Standards, their value to our industry, and why it is worth to fight for them to survive. Open Standards go beyond the boundaries of development and operation. They are the foundation of a barrier free interoperability and independent communications. The lecture aims to inspire the connection between both worlds and paradigms for a modern and flexible application infrastructure.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 4, "code": "WJ3J3P", "public_name": "Bernd Erk", "biography": "Bernd Erk is CEO and co-founder of the Icinga Project. In his day job he is CEO at NETWAYS, an open source service company. His technical expertise stretches across systems management, managed ...", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 14, "guid": "5561bd2f-1161-5eac-83a7-d28017effbfc", "logo": "", "date": "2020-02-04T11:30:00+01:00", "start": "11:30", "duration": "00:50", "room": "D Aud", "slug": "2020-14-nomad-kubernetes-without-the-complexity", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/DKD9YM/", "title": "Nomad: Kubernetes, without the complexity", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Nomad is a container orchestrator which is cross-platform, scalable, stable, and easy to operate. In this session, I will demonstrate how to create a Nomad cluster, and show how it's architecture and configuration differs from Kubernetes; making it easier to operate and cheaper!\r\n\r\nWe will then deploy a dotnet core application and some services into the cluster, and show how integration with other infrastructure and services can be done in a way which can reduce the complexity of your applications.\r\n\r\nBy the end of this session, you should have a good understanding of how most of your deployment problems can be solved without having to resort to the operational complexity and overheads of using Kubernetes.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 15, "code": "XEJLVS", "public_name": "Andy Davies", "biography": "Andy is a software developer working at Reaktor.\r\n\r\nHe likes talking about Strong Typing, EventSourcing, Continuous Delivery, Architecture, Immutable Infrastructure, and Security. He particularly enjoys making other developers lives easier and automates pretty much anything he touches. He hates complexity, especially unnecessary complexity.\r\n\r\nHe blogs at https://andydote.co.uk, and spends most of his free time in the gym, reading, or drinking coffee, sometimes at the same time.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 39, "guid": "708fb885-ab1c-5bfc-baa9-27303f11fc9c", "logo": "/media/2020/images/DW87SJ/puppies.jpg", "date": "2020-02-04T12:30:00+01:00", "start": "12:30", "duration": "00:05", "room": "D Aud", "slug": "2020-39-bare-metal-provisioning-with-ansible-and-cobbler", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/DW87SJ/", "title": "Bare Metal Provisioning with Ansible and Cobbler", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "An overview of an actual bare metal provisioning scheme powered by Ansible and Cobbler, with support for several Linux flavors and virtual machines.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 36, "code": "AA7NTQ", "public_name": "Felix Frank", "biography": "Felix is an old school systems person, Linux user, and self declared automation nerd, with a large soft spot for open source software. He literally wrote the book on Puppet (well, **a** book) and has been (inconsistently) contributing to mgmt since its debut.\r\nKnown to ride a bike through Berlin's inner city, preparing his own food, and reportedly neither scared of dungeons nor dragons.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 41, "guid": "a1fbf09e-9edd-5618-87f3-6675bae4a52f", "logo": "/media/2020/images/Q8H7KX/terraboard_logo_only.png", "date": "2020-02-04T12:35:00+01:00", "start": "12:35", "duration": "00:05", "room": "D Aud", "slug": "2020-41-terraboard-a-web-interface-to-view-terraform-data", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/Q8H7KX/", "title": "Terraboard, a web interface to view Terraform data", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "The Terraform project has grown a lot in popularity since its inception in 2015. Many resources that were not automated as code yet can now be managed this way.\r\n\r\nThe Terraboard project aims to provide a web interface to visualize and query Terraform states.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 23, "code": "8MYDLA", "public_name": "Rapha\u00ebl Pinson", "biography": "Rapha\u00ebl Pinson (aka raphink) is an infrastructure developer and trainer at Camptocamp.\r\n\r\nHe focuses on automation and the implementation of DevOps practices mainly in Puppet, Docker/Kubernetes/OpenShift/Rancher and Terraform.\r\n\r\nHe is also involved in the [Voxpupuli](https://voxpupuli.org/), [Augeas](http://augeas.net/) and Terraform communities.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 45, "guid": "5d9abc98-ccd4-5f61-b5a9-1811e480965c", "logo": "", "date": "2020-02-04T12:40:00+01:00", "start": "12:40", "duration": "00:05", "room": "D Aud", "slug": "2020-45-switching-from-docker-to-cri-o", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/BJYDHK/", "title": "Switching from Docker to CRI-O", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "cri-o is considered safer than Docker lacking the latter\u2019s privileged central daemon and, additionally, produces less overhead because it does not contain techniques already provided by, for instance, kubernetes clusters. That\u2019s why it is gaining popularity as an alternative to Docker. The large distributions already switched to cri-o as a default backend in their container plattforms (OpenShift and CaaS). But I, personally, had to overcome a lot of uncertainties before actually starting to use it.\r\nThere were many open questions regarding the effort needed for a successful transition, change of habits or procedures:\r\n- Is the transition irreversible?\r\n- Where do I get images from? Are the runtimes compatible?\r\n- Which new commands do I have to learn?\r\n- Can I continue using my CI/CD system?\r\n- Do I have to change my workflow?\r\n\r\nSimilar question arose in my work environment, so I started to collect these questions \u2013 and the answers.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 37, "code": "QNEFHU", "public_name": "Jan Bundesmann", "biography": "Jan Bundesmann works as an IT consultant at ATIX. \r\nThis \"Linux & Open Source Company\" concentrates on data center automization.\r\nJan is specialized on infrastructure automation and supports clients establishing their containerized workflows.\r\nA passionate Linux user since the age of 15, automating as much as possible is one of his key drivers.\r\nHis first project was the administration of a scientific compute cluster with the usual collection of bash scripts.\r\nFrom there, he eventually arrived at Puppet, Ansible and orcharhino / Foreman.\r\nAmong the miracles he worked is training Windows admins to use puppet and a German government agency to use docker.\r\n\r\nJan is currently living in Munich - a city most famous for its beer.\r\nAlthough he is originally from there and was raised with the Munich Helles, he got to know a lot of other beer styles while travelling around the world.\r\nSo he started brewing his own beer - of course supperted by a lot of automation.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 96, "guid": "bb5ccea7-b977-5498-b98c-84bd28a76fd4", "logo": "", "date": "2020-02-04T12:45:00+01:00", "start": "12:45", "duration": "00:05", "room": "D Aud", "slug": "2020-96-terraform-pulumi-but-what-do-we-really-need-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/UCZSX3/", "title": "Terraform, Pulumi... but what do we really need!?", "subtitle": "", "track": null, "type": "Ignite - Monday & Tuesday", "language": "en", "abstract": "We may have too many good options to choose from, aren't we? \"Terraform is going to be replaced with Pulumi\" - I was told. Well, I suppose that Pulumi will be replaced with what users actually WANT to use... My observations in infrastructure as management tooling in 5 minutes.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 42, "code": "XFVEB3", "public_name": "Anton Babenko", "biography": "Anton is AWS Community Hero and helps companies around the globe build solutions using AWS and specializing in infrastructure as code, DevOps, and reusable infrastructure components.\r\n\r\nHe spends a large amount of his time as an open-source contributor on various Terraform & AWS projects and enjoys solving real cloud architecture tasks and makes them available as open-source. His most successful projects are a collection of Terraform AWS modules (terraform-aws-modules on GitHub) downloaded more than 5 million times, ebook describing Terraform best practices established in the community (www.terraform-best-practices.com), and modules.tf.\r\n\r\nAnton co-founded and co-organizes AWS, DevOps, HashiCorp User Groups in Norway, DevOpsDays Oslo, and often speaks at various technical meetups and conferences.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 57, "guid": "328ec9cc-cf14-5434-bafc-9cbd0e697840", "logo": "", "date": "2020-02-04T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "D Aud", "slug": "2020-57-designing-and-building-a-large-scale-cd-system", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/AXXBFP/", "title": "Designing and building a Large Scale CD system", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "A look at designing a git driven CD system for software packages used to deploy software to 100s of thousands of nodes continuously", "description": "This talk will discuss the design and implementation of a bespoke Continuous Delivery system suitable for delivering packaged software to 100s of thousands of nodes in a developer driven git based deployment scenario.\r\n\r\nWe will discus:\r\n\r\n * What came before - twice yearly deploys and how that impact velocity and software\r\n * How a system was designed and built that can today support 10s of deploys a day as well as handling initial node provision continuously at scale and in many locations across the world. \r\n * We'll look at developer CLI tooling to interact with the CD system\r\n * Observability of the system for real time global view\r\n * Manageability of the system wrt things like circuit breakers and big red buttons to stop bad deployments\r\n * A contract based packaging approach that was used to embed in each package its configuration management and monitoring.\r\n\r\nWe'll look at the impact this had on software building practices, quality and team happiness.", "recording_license": "", "do_not_record": false, "persons": [{"id": 45, "code": "HLYGNE", "public_name": "R.I.Pienaar", "biography": "A long term member of the DevOps community, architect and author of many tools in this space like Hiera, MCollective, Choria and major key features of CM systems like Puppet.\r\n\r\nEnjoys creating automation tools capable of managing very large infrastructures within Enterprise secure networks.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 117, "guid": "6fb2c289-92f8-50a1-b069-968fb78418b0", "logo": "", "date": "2020-02-04T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "D Aud", "slug": "2020-117-one-tool-to-rule-them-all-infrastructure-testing-and-compliance-with-chef-inspec", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/RUDALG/", "title": "One tool to rule them all, Infrastructure Testing and Compliance with Chef Inspec", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "In this talk, I will demonstrate the use of Chef Inspec for testing all your infrastructure with Inspec, no matter how you build it.\r\n\r\nI will cover traditional testing, and also compliance testing on servers, plus how you can verify the state of other types of Infrastructure using APIs.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 90, "code": "9T8HVY", "public_name": "Kimball Johnson", "biography": "Kimball is a Developer Advocate at Chef Software, where he spends his days creating the best training content for enabling the coded enterprise. His ten plus years of experience in the world of DevOps and Automation with a wide variety of tools with many large enterprises has given him great insight into the benefits of Automation and Testing and will use that experience to lead you in your first steps into your own journey.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 146, "guid": "d02c7616-fe43-5c4f-8037-4c1b5f6edaca", "logo": "/media/2020/images/XHK7LF/IMG_5404.jpg", "date": "2020-02-04T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "D Aud", "slug": "2020-146-challenges-of-internet-of-things-at-scale", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/XHK7LF/", "title": "Challenges of Internet of Things at scale", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "The Internet of Things (IoT) is the extension of Internet connectivity into physical devices and everyday objects. Embedded with electronics, internet connectivity, and other forms of hardware (such as sensors), these devices can communicate and interact with others over the internet, and they can be remotely monitored and controlled.\r\n\r\nThis means that internet connected devices are moving out of the data centers and into a new environment which brings a range of new challenges. A dominating technology in this area is GNU/Linux and although best practices have been established for GNU/Linux in the desktop and server world, the IoT space is still in its infancy and is most accurately comparable to the wild west due to the vast options in hardware configurations and software stacks.\r\n\r\nIn this presentation Mirza will cover specific areas within this space, highlight the challenges and how they are solved today using open-source technologies.\r\n\r\nKey areas that Mirza will cover are:\r\n\r\n- Characteristic of the connected device environment\r\n- Software updates and life cycle management\r\n- Device management (Configuration management)\r\n- Security\r\n\r\nWe will also take a closer look on some of the trends that are emerging, as \u201cserver technologies\u201d are moving towards the edge devices.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 107, "code": "3DWURG", "public_name": "Mirza Krak", "biography": "Mirza Krak is an Embedded Linux Solutions Architect with eight years of experience in the field and is currently employed by Northern.tech, the company behind the CFengine and Mender.io projects. He is involved in various other open source projects and is a Linux kernel contributor. \r\n\r\nMirza's expertise is within Board Support Package development which ranges from hardware bringup, bootloaders, Linux kernel and build systems (Yocto/OE-core). Mirza has spoken at various conferences including Embedded Linux Conference (US & EU), NDC Techtown, and other technology conferences.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 64, "guid": "46dfea56-109a-5fe1-98bb-44d421494e00", "logo": "", "date": "2020-02-04T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "D Aud", "slug": "2020-64-why-you-should-revisit-mgmt", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/SQELLN/", "title": "Why you should revisit mgmt", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "mgmt has been around for 3+ years but unless you have taken the time to dig in, you probably don't know a lot about it.\r\n\r\nAs the project was presented early and and evolved a lot in the last months, I would like to do a special-effect free presentation about what it can do and how it can help you to manage your infrastructure.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 49, "code": "D3YNMK", "public_name": "Julien Pivotto", "biography": "Julien Pivotto is a young Open-Source consultant at Inuits where he is helping organisations with the deployment of long-term solutions based on Open-Source infrastructure. He is a strong believer in the devops movement and has technical focus towards infrastructure automation, continuous integration, monitoring and high availability.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 83, "guid": "4dd06df4-3ef9-52d4-bd1e-79f167ecef3d", "logo": "", "date": "2020-02-04T17:40:00+01:00", "start": "17:40", "duration": "00:50", "room": "D Aud", "slug": "2020-83-mgmt-config-autonomous-datacentres", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/A88LTB/", "title": "Mgmt Config: Autonomous Datacentres", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Mgmt is a real-time automation tool that is fast and safe. One goal of the tool is to allow users to model and manage infrastructure that was previously very difficult or impossible to do so previously.\r\n\r\nThe tool has two main parts: the engine, and the language. This presentation will have a large number of demos of the language.\r\n\r\nTo showcase this future, we'll show some exciting real-time demos that include scheduling, distributed state machines, and reversible resources.\r\n\r\nAs we get closer to a 0.1 release that we'll recommend as \"production ready\", we'll look at the last remaining features that we're aiming to land by then.\r\n\r\nFinally we'll talk about some of the future designs we're planning and discuss our free mentoring program that helps interested hackers get involved and improve their coding, sysadmin, and devops abilities.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 63, "code": "TDWFFT", "public_name": "James (purpleidea)", "biography": "James is a DevOps/Config mgmt. hacker and physiologist from Montreal, Canada.\r\nHe often goes by @purpleidea on the internet, and writes \"The Technical Blog of James\".\r\nHe works on a Next Generation Config Management project that he started called mgmt.\r\nHe studied Physiology at university and sometimes likes to talk about cardiology.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B. Con": [{"id": 135, "guid": "e0b4ba07-39c1-5d97-b935-5b7d909a9c7e", "logo": "", "date": "2020-02-04T10:20:00+01:00", "start": "10:20", "duration": "00:50", "room": "B. Con", "slug": "2020-135-automating-security-response-with-serverless", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/YD8UGG/", "title": "Automating Security Response with Serverless", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Serverless (or Functions as a Service) tends to get thrown in the \"paradigms nice for developers\" bucket, but Serverless can provide meaningful benefits to Operations, DevOps, and SRE teams. In a world where everything is presented or controlled via an API, Serverless' event driven, api first philosophy can help these teams create new levels of automation that were typically the realm of runbook tooling.\r\n\r\nIn this talk we'll cover the various open source Serverless frameworks and platforms available. We'll show how to automate basic day to day operational task with Serverless functions.  Finally, we will show how to build an open source, automated, Serverless based, event driven pipeline to automatically secure and protect a Kubernetes cluster. Attendees will walk away with fresh ideas on how to leverage Serverless based automation in their operational roles.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 105, "code": "9BEFDC", "public_name": "Michael Ducy", "biography": "Michael Ducy currently works as Director of Community & Evangelism for Sysdig where he is responsible for growing adoption of Sysdig\u2019s open source solutions. Previously, Michael worked at Chef where we held a variety of roles helping customers and community members leverage Chef\u2019s open source and paid solutions, as well as implement the ideas and practices of DevOps. Michael has also worked in a variety of roles in his career including Cloud Architecture, Systems Engineering, and Performance Engineering. Michael holds a Masters in Computer Science from the University of Chicago and an MBA from The Ohio State University", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 92, "guid": "e853148a-8ac1-59b7-959d-4c003d7ca307", "logo": "", "date": "2020-02-04T11:30:00+01:00", "start": "11:30", "duration": "00:50", "room": "B. Con", "slug": "2020-92-cross-os-security-hardening", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ZPBPEV/", "title": "Cross-OS security hardening", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "We have created a Rudder policy that covers all OS that we support at our customers, or that will be coming around (i.e. beta of a new version).   \r\nFor our __managed systems__, it covers distro-/OS-specific settings with a generic rule that \u201cwhat makes sense everywhere, will be applied everywhere\u201d.\r\nFor __human eyes__, it needs to have a clear design that eases understanding and maintenance.", "description": "### experiences\r\n\r\nA rough description how to approach building a hardening policy, anyway.\r\n\r\n* kernel module blacklists, limits & sysctls\r\n* fine-tuning addons like auditd or OSSEC for safety and low footprint\r\n* mixing OS-specific and globally applicable settings\r\n* breaking vendor support (my favorite OS ain\u2019t supported?)\r\n* abstracting OS-specific package and service names\r\n* docs docs docs\r\n* the necessity of independent testing (Lynis, Packer/inSpec, Monitoring) and its boundaries\r\n\r\nwhy __independent__ testing? because if we (flawed human) design the policy, we (same flawed human) should not design the final test :-)\r\n\r\n### takeaway\r\n\r\nWe'll wrap it up while looking at some practical stuff, i.e. why nsjail is awesome as a containment technology for services.\r\n\r\nShould you walk into the room and listen you\u2019ll get a rough idea of sustainable policy design but also of what a sec policy looks like if it's not made only for filling checklists.", "recording_license": "", "do_not_record": false, "persons": [{"id": 72, "code": "PNTWFH", "public_name": "Florian Heigl", "biography": "Life is interesting!", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 15, "guid": "35e935a1-0d43-5412-a71a-23e341545981", "logo": "", "date": "2020-02-04T12:20:00+01:00", "start": "12:20", "duration": "00:25", "room": "B. Con", "slug": "2020-15-web-application-firewall-friend-of-your-devops-pipeline-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/8QQMP8/", "title": "Web Application Firewall - Friend of your DevOps pipeline?", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Web Application Firewalls (WAF) often raise concern about false positives, latency and other potential production problems. In addition, it is often said, that DevOps and WAF do not fit together. That is a pity, since the WAF helps to protect us from web application attacks, like those described by the OWASP Top Ten. But what if you could ensure that introducing and using a WAF went smoothly?\r\n\r\nI will show how to integrate a WAF with WAF testing automation into a continuous integration (CI) pipeline. This pipeline ensures that developers receive early and often feedback about their WAF, saves them time and headaches down the line. In fact, DevOps, testing and automation only make sense if all components are part of the process.\r\n\r\nNeedless to mention, I as an [OWASP Core Rule Set (CRS)](https://coreruleset.org) developer and enthusiast introduced the CRS to [Puzzle ITC](https://www.puzzle.ch/) when I joined them in 2019!\r\nBy providing YAML templates, we want to make it easy for developers to introduce WAFs into projects.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 16, "code": "P3L8VT", "public_name": "Franziska B\u00fchler", "biography": "Franziska is currently working as an architect for the Swiss company [Puzzle ITC](https://www.puzzle.ch/), where she combines her passion for IT-security, DevOps and open source software. She is highly experienced in reverse proxy platform and WAF (web application firewalls), from her extensive experience at the Swiss post and as a co-developer of the [OWASP ModSecurity Core Rule Set (CRS)](https://coreruleset.org/). As part of the OWASP DevSlop team, she integrated CRS into DevSlop's pixi-crs module, a Continuous Integration pipeline, to provide developers the chance to tune their WAF earlier in the SDLC. She also blogs, speaks at conferences and provides technical training at conferences. When she isn't disassembling highly optimized regexes or studying technical books, she enjoys spending time with her family.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 89, "guid": "232f3ae2-f0c8-54b7-82e4-c08dc405e1d9", "logo": "", "date": "2020-02-04T12:45:00+01:00", "start": "12:45", "duration": "00:25", "room": "B. Con", "slug": "2020-89-seccomp-your-next-layer-of-defense", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/3HGCT8/", "title": "seccomp \u2014 Your Next Layer of Defense", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Why should you allow all possible system calls from your application when you know that you only need some? If you have ever wondered the same then this is the right talk for you. We are covering:\r\n\r\n* What is seccomp in a nutshell and where could you use it.\r\n* Practical example with Elasticsearch and Beats.\r\n* How to collect seccomp violations with Auditd.\r\n\r\nBecause your security approach can always use an additional layer of protection.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 69, "code": "9ACJ9E", "public_name": "Philipp Krenn", "biography": "Philipp lives to demo interesting technology. Having worked as a web, infrastructure, and database engineer for over ten years, Philipp is now working as a developer advocate at Elastic \u2014 the company behind the Elastic Stack consisting of Elasticsearch, Kibana, Beats, and Logstash. Based in Vienna, Austria, he is constantly traveling Europe and beyond to speak and discuss open source software, search, databases, infrastructure, and security.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 166, "guid": "8d9e6f4b-e221-5e7d-a16e-869616e9c390", "logo": "", "date": "2020-02-04T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B. Con", "slug": "2020-166-automating-and-managing-clusters-with-helm", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/FPHVRW/", "title": "Automating and Managing Clusters with Helm", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Are you are one of the many people migrating their projects to Kubernetes? Have you found setting up and maintaining various app and cluster configurations an ordeal? Enter Helm, the package manager for Kubernetes. \r\n\r\nWhat does a package manager have to do with this? This session has the answer! We will walk through some of the lessons learned about stability and migration with the recently released major version of Helm \u2013 Helm 3. We will cover how to avoid common mistakes and pitfalls. We will also introduce the improvements to the Helm SDK which aid the automation of your deployments in code. To wrap things up, there will be working examples of how to automate deployments and configurations.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 119, "code": "T9KVVD", "public_name": "Taylor Thomas", "biography": "Taylor Thomas is a Senior Software Engineer working on Helm and other open source tooling at Microsoft. He has been involved with containers and Kubernetes platforms at Intel, Nike, and Microsoft and is one of the core maintainers of Helm. He currently lives in Utah, USA and enjoys hiking and camping. He has given talks at several KubeCons, Velocity Conf, and Helm Summit on a wide variety of container-related topics.", "answers": []}, {"id": 121, "code": "GNCZZR", "public_name": "Martin Hickey", "biography": "Martin works on the Open Technology team at IBM focusing on open source software. He is a regular contributor to open source and a core maintainer for Helm. He has also contributed previously to the OpenStack and Elastic communities. Martin enjoys speaking at conferences and meet-ups. He has many years\u2019 experience in the creation of enterprise software for different industries, from Telcos to Cloud.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 123, "guid": "aad9d546-4352-5458-b6d2-36aa6b555a77", "logo": "", "date": "2020-02-04T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B. Con", "slug": "2020-123-tanka-a-tool-for-managing-k8s-ksonnet-rises-again", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/RM8PZH/", "title": "Tanka, a tool for managing K8s: ksonnet Rises Again", "subtitle": "", "track": "Container", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Introducing Tanka, a scalable Jsonnet based tool for deploying and managing Kubernetes Infrastructure", "description": "There are various tools available for managing Kubernetes resources. Whether they be Helm, Kustomize or others. Ksonnet offered a powerful approach with tremendous promise, but was discontinued by developers. In this presentation we will introduce Tanka, a drop in replacement for Ksonnet developed at Grafana labs and available on GitHub. For those not familiar with Ksonnet, we will introduce the Jsonnet language, and demonstrate its power as a way of interacting with Kubernetes. We will then demonstrate some of the enhancements we have already made to Tanka, and then explain our roadmap for the tooling, and how we believe it is already the best of breed configuration management solution for Kubernetes.", "recording_license": "", "do_not_record": false, "persons": [{"id": 95, "code": "9ZKEMT", "public_name": "Malcolm Holmes", "biography": "Malcolm Holmes is a software developer and Buddhist who loves Unix. He's been a member of the Apache Software Foundation since 2005, and more recently has been a part of the infrastructure team at Grafana Labs.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 131, "guid": "14dec0d1-fd35-57ec-9356-24d72a28930b", "logo": "/media/2020/images/VMDCKH/kapitan_logo.png", "date": "2020-02-04T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B. Con", "slug": "2020-131-kapitan-generic-configuration-management-for-kubernetes-terraform-and-other-things", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/VMDCKH/", "title": "Kapitan: generic configuration management for Kubernetes, Terraform and other things", "subtitle": "", "track": "Container", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "When building infrastructure with technologies such as Kubernetes and Terraform, the complexity of configuration quickly becomes hard to manage, especially with multiple engineers contributing code and config. [Kapitan](kapitan.dev) was created at DeepMind to manage complex environments to generate config, documentation and even scripts.", "description": "This talk will give you an overview of how [Kapitan](kapitan.dev) provides a generic approach to promote DRY with modularisation, abstract and parameterise configuration, manage secrets & dependencies, validate config and maintain infrastructure documentation up-to-date.", "recording_license": "", "do_not_record": false, "persons": [{"id": 100, "code": "GMX8VR", "public_name": "Ricardo Amaro", "biography": "Ricardo is currently an SRE lead at Google and previously at DeepMind, where he created http://kapitan.dev. He discovered Linux in the mid 90s and with it found his passion for programming and opensource technologies.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 163, "guid": "62f37cad-545f-510d-9b39-980958480322", "logo": "", "date": "2020-02-04T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B. Con", "slug": "2020-163-scalable-configuration-with-cue", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/37NWX3/", "title": "Scalable configuration with CUE", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "CUE is a new abstract-oriented constraint-based configuration language and set of APIs. This talk dives into how it came about and the problems it solves.", "description": "This talk covers a brief history of configuration at Google as well as the ideas and experience that led to the design of CUE. Aspect-orientation is key to any successful configuration at scale. Although a complete different approach, it is what underpins the philosophy of CRDs in Kubernetes land. CUE shows an alternative constraint-based approach that can scale to very large configurations covering multiple domains. The talk concludes with a demo.", "recording_license": "", "do_not_record": false, "persons": [{"id": 116, "code": "CLFJJM", "public_name": "Marcel van Lohuizen", "biography": "Marcel is an engineer at Google where he works on CUE and Go. He was part of the founding Borg team and was the lead for the development of GCL and borgcfg, currently the largest configuration language in use by Google. By trade, Marcel is a Computer Scientist with a Ph.D. in parallelism and natural language parsing.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.1.015": [{"id": 32, "guid": "94702728-b405-5de7-9086-ca38c6ddc335", "logo": "/media/2020/images/LJ99XY/8bit-vox.png", "date": "2020-02-04T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.1.015", "slug": "2020-32-automating-the-vox-pupuli-yak-shaving", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/LJ99XY/", "title": "Automating the Vox Pupuli Yak Shaving", "subtitle": "", "track": "Puppet", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Vox Pupuli maintains a huge amount of puppet modules and utilizes GitHub heavily for maintenance and daily tasks. We've built an app to support all the module maintainers in their daily work.", "description": "Vox Pupuli Tasks (VPT) is a web application which summarizes various informations for easy access about modules which need some attention. This helps the maintainer to focus more on the actual work rather then figuring out where attention is missing.\r\n\r\nAlso VPT uses the Github API to create comments and monitors open pull requests to notify their autors about things they may have forgotten (merge conflics, outdated states).\r\n\r\nWe also have big plans for the tool and want to bring some attention to it and find out what could be added or changed to enhance it more and more.\r\n\r\nSee [our GitHub project](https://github.com/voxpupuli/vox-pupuli-tasks#vox-pupuli-tasks---the-webapp-for-community-management) if you are curious about the code or contributing.", "recording_license": "", "do_not_record": false, "persons": [{"id": 31, "code": "KMNPF7", "public_name": "Robert", "biography": "Currently SRE (aka YAML-Engineer) and working on the Hetzner Cloud. Worked as an Software Engineer before. Huge fan of Git (hub and Lab) and Ruby.\r\n\r\nAlso basically likes all new fancy stuff (who doesn't?)", "answers": []}, {"id": 32, "code": "J9NUH7", "public_name": "Tim Meusel", "biography": "Tim (bastelfreak) Meusel works as a DevOps Engineer for GoDaddy EMEA in Cologne, Germany where he develops and maintains a big public cloud platform. Tim is the driving force behind various open source solutions at work. He founded the VirtAPI-Stack and is a very active Vox Pupuli Maintainer and Project Management Committee member. Tim has been doing work in the DevOps area since 2009 and is persuing Puppet solutions since 2012. Recently he was reelected to serve on the Vox Pupuli Project Management Committee. He enjoys good BBQ and ice hockey.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 143, "guid": "22a22b99-0a2d-5303-90f6-137727c874e5", "logo": "", "date": "2020-02-04T14:50:00+01:00", "start": "14:50", "duration": "00:25", "room": "B.1.015", "slug": "2020-143-case-study-porting-the-whole-world-to-a-new-api", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/9YDCRA/", "title": "Case study: porting the whole world to a new API", "subtitle": "", "track": "Puppet", "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Designing the perfect v2 of your API is never enough: look at Perl6 or Python3. In the case of Puppet, look at the cleverly named \"modern 4.x function API\". The original function API was kind of a mess. It allowed global object pollution, was slow, leaked across environments, and in general contributed to Puppet master instability. But it was \"good enough\" and so building a new function API that addressed these issues didn't mean that people updated their modules. So I did it for them. I built a tool that ports functions from the old API to the new API and  submitted a few hundred auto-generated pull requests to Puppet modules all over the Internet (maybe even to one of yours\u2026)\r\n\r\nI'll show you how the tool itself works, and the pull request workflow, and then talk about what this means for raising the bar on ecosystem engagement.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 76, "code": "WV7HWH", "public_name": "Ben Ford", "biography": "Developer Advocate at [@puppetlabs](https://puppet.com/community); I get to build neat things -and- talk to people! I am responsible for being the voice of the user at Puppet. This takes many forms. On some days I'm building tooling that can help us identify trends in our community and on some days I literally sit and chat on Slack all day long. Most importantly, what I do is build and maintain relationships between people who use, develop with, or develop on our products both internal and external.\r\n\r\nTo me, this role is the perfect blend of software engineer, training engineer, and community relationship management. *\\o/*\r\n\r\nI run marathons in those funny finger shoes. http://pronoun.is/he", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 99, "guid": "37aa59e4-4682-5643-8782-132a7462725c", "logo": "", "date": "2020-02-04T15:15:00+01:00", "start": "15:15", "duration": "00:25", "room": "B.1.015", "slug": "2020-99-foreman-installer-6-years-of-wrapping-puppet", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/MA73XE/", "title": "foreman-installer: 6 years of wrapping Puppet", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "In 2013 the Foreman project started to wrap Puppet modules into an installer. After 6 years it's good to look back at how it went.", "description": "[foreman-installer](https://github.com/theforeman/foreman-installer) is a feature rich installer built on [kafo](https://github.com/theforeman/kafo) which wraps Puppet modules. The exposed Puppet modules are scanned, parameters extracted (initially only [rdoc](https://github.com/ruby/rdoc), later also [puppet-strings](https://github.com/puppetlabs/puppet-strings)) and saved into an answers file. It can expose multiple scenarios exposing different sets of modules and own defaults. All of this is exposed in to Puppet via Hiera. When upgrading, there are migrations that can be automatically applied.\r\n\r\nIn this talk we'll go over the goals of foreman-installer, how you can build your own installer and lessons learned.", "recording_license": "", "do_not_record": false, "persons": [{"id": 77, "code": "CKTAKY", "public_name": "Ewoud Kohl van Wijngaarden", "biography": "Passionate open source user.\r\nLong time contributor to The Foreman.\r\nRecent(ish) Red Hat employee.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 37, "guid": "c0862217-6c6c-5e13-9434-015e17fa1c4e", "logo": "/media/2020/images/KWWZ9Z/ludicrous-speed.jpg", "date": "2020-02-04T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.1.015", "slug": "2020-37-running-puppet-from-mgmt-on-overdrive", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/KWWZ9Z/", "title": "Running Puppet from mgmt on overdrive", "subtitle": "", "track": "Puppet", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "We added Puppet support to mgmt quite early on. You can run Puppet manifests through mgmt's engine, and mgmt can in turn rely on Puppet to synchronize resources that mgmt does not natively support. This incurs a significant performance overhead to each resource check, though.\r\n\r\nThis presentation showcases a new prototype feature of mgmt that allows for the use of the Puppet bridge with no performance penalties. It features live demos, and the concept and implementation are briefly explained.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 36, "code": "AA7NTQ", "public_name": "Felix Frank", "biography": "Felix is an old school systems person, Linux user, and self declared automation nerd, with a large soft spot for open source software. He literally wrote the book on Puppet (well, **a** book) and has been (inconsistently) contributing to mgmt since its debut.\r\nKnown to ride a bike through Berlin's inner city, preparing his own food, and reportedly neither scared of dungeons nor dragons.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 140, "guid": "6fc491d2-a386-5862-bb5a-ff9f50730ad8", "logo": "", "date": "2020-02-04T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.1.015", "slug": "2020-140-test-your-infrastructure-with-litmus", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/XZMN3A/", "title": "Test your infrastructure with litmus", "subtitle": "", "track": "Puppet", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "We have been able to test our puppet modules using rspec-puppet and  \r\nserverspec for a while now and the quality of our code is improving because  \r\nof it. This talk will introduce the new kid on the block litmus. This talk will show you how  \r\nto use litmus to test puppet modules and how to convert your existing modules to make use of litmus.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 66, "code": "LWKL3U", "public_name": "Bram Vogelaar", "biography": "Bram spent the first part of his career as a Molecular Biologist , he then moved on to supporting his peers by building tools and platforms for them with a lot of Open Source technologies, after which he joined Inuits to focus on helping more people to deliver their software with Open Source tools.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 165, "guid": "e13b5b37-c9a5-5f63-9fd4-0d92add6e7ca", "logo": "", "date": "2020-02-04T17:40:00+01:00", "start": "17:40", "duration": "00:50", "room": "B.1.015", "slug": "2020-165-that-s-not-my-puppet-things-not-to-do-and-some-alternatives-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/MSZWHA/", "title": "That's not my puppet - Things *not* to do (and some alternatives)!", "subtitle": "", "track": "Puppet", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Whilst best practices do involve over time (and sometimes 'advice' changes completely), there's also the other end of the spectrum where\r\nstyle-guides are ignored, house 'styles' take over and the anti-patterns and worse prevail.\r\n\r\nFed up with being told 'it works, why shouldn't I write puppet this way?', I present a selection of puppet code witnessed in the wild.\r\n(All from non Puppet Enterprise setups.  PE users all write beautiful code and none of it ever looks like what follows, right?)\r\n\r\nFrom just old code, (with better and simple to achieve improvements), to the darn right ugly, stupidly fragile or just plain broken.\r\nIncluding\r\n- Old constructs (from a land before puppet 4) (create_resource, anchor etc).\r\n- Abuse of hiera\r\n  - Too much data\r\n  - The super hash.  $data = hiera_hash('data') $jdk_version = $data['oracle']['java']['jdk']['version']\r\n  - Calling hiera from templates with local scope vars used in the hierarchy\r\n  - duplication\r\n- Abuse of `Exec`.\r\n  - Why use a file resource when you can have an exec call `mkdir`?\r\n  - Replacing an old script with 30 chained execs\r\n- Ruby based facts that shell out to `hostname` and `grep`\r\n- Mono repos with forge modules seemingly randomly committed in then modified in place.\r\n- Writing everything from scratch (even when really simple and popular forge modules exist)\r\n\r\nFinally, is there anything we can do about this (other than venting frustration at conferences?).", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"id": 118, "code": "BHUZW9", "public_name": "Alexander Fisher", "biography": "Based in the South West of England, Alex is the director of Linfratech Ltd, a consultancy company specialising in Linux systems, automation and configuration management with Puppet. An IT professional with over 15 years experience, he has been working with Puppet for the last 6 years and is an active community member. He has served on the Vox Pupuli Project Management Committee since the start of 2018. A regular at DevOps and Puppet conferences, he enjoys sharing his experience and knowledge with others as well as learning from all the great people he meets.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.1.017": [{"id": 16, "guid": "874dea8a-8fba-5a97-a8c5-f281f16d2e09", "logo": "/media/2020/images/VQGZUG/Untitled.png", "date": "2020-02-04T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.1.017", "slug": "2020-16-lessons-learned-from-testing-over-200-000-lines-of-infrastructure-code", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/VQGZUG/", "title": "Lessons learned from testing over 200,000 lines of Infrastructure Code", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "If we are talking that infrastructure is code, then we should reuse practices from development for infrastructure, i.e.\r\n \r\n* S.O.L.I.D. for Ansible.\r\n* Pair devopsing as part of XP practices.\r\n* Infrastructure Testing Pyramid: static/unit/integration/e2e tests.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 18, "code": "JAWWPN", "public_name": "Lev Goncharov", "biography": "YML developer, cyclist, camper, engineer & coffee person.\r\n\r\nAs an innovative Senior DevOps Engineer with broad knowledge and understanding of modern technologies, 13+ years of experience in designing, automating and implementing IaC approaches. I believe that infrastructure is code & we must use the same philosophy for infrastructure as for software development. \r\n\r\nAlso you can read some my articles at my website [www.goncharov.xyz](http://www.goncharov.xyz/)", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 26, "guid": "0d11b97e-d448-58ed-af3f-46b90db2cb15", "logo": "", "date": "2020-02-04T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B.1.017", "slug": "2020-26-probing-ansible-bonds-with-molecule-tests", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/AMU8TP/", "title": "Probing Ansible Bonds with Molecule tests", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "The maxim \"Test all the things\" has not only become a winged word, but is also correct in its basic idea.\r\nAnsible is no exception and not least because of the planned restructuring towards a collection system, where single roles including their necessary modules should be available as entities for import, it is necessary to be able to test single Ansible roles.\r\nThe Ansible Molecule Framework - since October 2018 officially in its \"new home under Ansible by RedHat\" - offers these possibilities and tries to support different providers. In this talk we want to provide an insight into  Molecule usage and discuss the possibilities and challenges that it brings.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 28, "code": "MPEXML", "public_name": "Bernhard Hopfenm\u00fcller", "biography": "Bernhard is Senior Consultant@ATIX AG in Munich. He likes to built beautiful automated things using tools like Ansible, Python, Foreman, Saltstack and Kafka. Whenever possible he also loves contributing back to the upstream community.", "answers": []}, {"id": 30, "code": "EPWQGN", "public_name": "Matthias Dellweg", "biography": "Matthias Dellweg is an open source software engineer who develops for different software projects with a focus on IT automation.\r\n\r\nPrior to his current employment with ATIX AG, he has finished a PhD in theoretical physics.\r\nIn his main occupation he works on orcharhino, a product based on Foreman with Katello and Pulp, with a focus on Debian integration.\r\n\r\nHe is an active member in the Foreman/Katello/Pulp community.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 8, "guid": "96b68a7a-bd3c-5db5-a83a-6773f15309ac", "logo": "", "date": "2020-02-04T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.1.017", "slug": "2020-8-ansible-with-ara-on-rhel7-centos7-welcome-to-hell-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/WU37XZ/", "title": "Ansible with ARA on RHEL7/CentOS7, welcome to hell!", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "A lot of servers still run RHEL7 or CentOS7. But running Ansible with ARA on this moves you into dependency hell.\r\nARA needs Python3, CentOS delivers this, but not in `/usr/bin/python`. ARA needs `nodejs`. CentOS only has an old version..........\r\n\r\nI will try to show you how I solved this hell and created a working Ansible with ARA environment", "description": "Installing ARA (https://ara.recordsansible.org/) used to be a breeze, but with the newest version the newest version of NodeJS is required as is Python3. Both are standard not available on RHEL7 and CentOS7, so, so tricks need to be used to get things going,\r\n\r\nIn this presentation I'll try to show the way to solve this problem", "recording_license": "", "do_not_record": false, "persons": [{"id": 12, "code": "KDJGHW", "public_name": "Ton Kersten", "biography": "Ton Kersten is a Linux consultant and trainer at AT Computing in the Netherlands where he helps customers with all kinds of Linux challenges. He also tries to teach them the Linux and Ansible way of life.\r\n\r\nHe enjoys music, photography, playing darts (badly), good food, beer and whisky.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 148, "guid": "db3a0e3e-918e-51c5-b816-6c9c972ecee4", "logo": "", "date": "2020-02-04T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.1.017", "slug": "2020-148-foreman-on-ansible", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/H39JJZ/", "title": "Foreman on Ansible", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Why to integrate Ansible and Foreman with each other and how to get the most value when using Ansible from Foreman. I will describe two primary approaches of using Ansible from Foreman. Firstly usage of ansible as a configuration management, where hosts are kept in a predefined state. The second usage as a more remote execution fashion. The talk goes over several scenarios and demonstrates how Foreman can leverage Ansible to effortlessly solve the issues present in the given scenarios and what approach is better for each use case.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 109, "code": "QWKFPY", "public_name": "Ond\u0159ej Ezr", "biography": "Ondrej is a Satellite Software Engineer at Red Hat. Ond\u0159ej describes himself as lazy developer, thus he love to invest time to DevOps so much, it became his main job. He develops Foreman and some of it's plugins. It combines his passion for Infrastructure management and DevOps with his passion for coding.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.009": [{"id": 3, "guid": "5fc50712-0857-5f19-9a17-36896189ec98", "logo": "", "date": "2020-02-04T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.2.009", "slug": "2020-3-infrastructure-as-code-in-action-how-we-built-a-platform-during-a-cloud-migration", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ZMJUP8/", "title": "Infrastructure as code in action ! - How we built a platform during a cloud migration", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "A large application landscape, handling 96.000 requests per minute has been successfully migrated to the cloud.\r\nThat migration was not only about focussing on the application.\r\nWhile we applied an lift'n'shift approach to the application, managing the target infrastructure became crucial.\r\nWe needed to make sure that a team of 40 people was able to reproduce environments consistently across many geographies.  Introducing Infrastructure as code was one of the best decisions we made.\r\n\r\nThis talk is about our journey from a client's datacenter to a fully customized cloud platform on Azure.\r\nYou will see how we used Terraform and Azure DevOps to create a platform for a connected vehicle backend.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 6, "code": "KNDWJG", "public_name": "Thorsten Jakoby", "biography": "Thorsten Jakoby is a consultant for IT-Architectures and Cloud Migrations at Novatec in Germany. He is currently technical lead for an enterprise-scale cloud migration at a global automotive client. With a background of 10 years in distributed applications Thorsten enables both customers building cloud architectures and students entering the IT and cloud world. Prior to his role at Novatec he led a company specialized in cloud-based startup projects. Besides his role as consultant, he also speaks on meetups and conferences (like Cloud Foundry Summit EU, W-JAX, OOP).", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 82, "guid": "9696210d-f9e4-5613-8471-be0c08ee736f", "logo": "", "date": "2020-02-04T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B.2.009", "slug": "2020-82-migrating-a-build-farm-from-on-prem-to-aws", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/EGJCKT/", "title": "Migrating a build farm from on-prem to AWS", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "If you are considering a lift-and-shift from on-prem to public cloud, this talk is for you. Our team runs a centralized build farm for Nokia's software division. The build farm consists of a fleet of Jenkins Masters, a Kubernetes cluster, artifact storage, and various back-office services for monitoring and automation. This talk gives an overview of how we migrated our build farm from an on-prem OpenStack-based datacenter to AWS. It was a successful migration, but we made several mistakes along the way and would like to share what we learned.\r\n\r\nStack: Ansible, AWX, Terraform, Jenkins, Artifactory, Prometheus, Grafana, Elasticsearch, Kubernetes, AWS EKS", "description": "Slides: https://www.slideshare.net/ClaesBuckwalter/migrating-a-build-farm-from-onprem-to-aws", "recording_license": "", "do_not_record": false, "persons": [{"id": 62, "code": "L9PH3V", "public_name": "Claes Buckwalter", "biography": "https://www.linkedin.com/in/claesbuckwalter", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 120, "guid": "2d4552d4-b779-55b3-b26a-ee4bdd6ede5b", "logo": "", "date": "2020-02-04T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.2.009", "slug": "2020-120-modernizing-the-cfengine-project", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/J7H39V/", "title": "Modernizing the CFEngine project", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Mark Burgess released the initial version of CFEngine in 1993. It's been used, and developed by people all around the world since then. It's a large C codebase, with a lot of history. In the last few years, we've been taking important steps to prepare the codebase for the future. We are making it more modular, reusable, safe, and maintainable.", "description": "This talk will touch on various aspects of maintaining a large open source code base. Modularity, code quality / style, contribution guidelines, collaboration. We are using parts of the codebase to develop new projects, like a new syntax checker for CFEngine policy language, and invite developers to use our codebase in their software.\r\n\r\nWe will also show some modern technologies used for code analysis and testing. We are using Jenkins, Travis, Codecov, LGTM / GitHub CodeQL, ASAN, valgrind, in our CI setup. These tools help us uncover memory leaks, bugs, security issues, regressions, etc. in an efficient way. We will focus on how easy it is to introduce these tools, even to large projects with several dependencies.\r\n\r\nThe speakers are working on the CFEngine project full time, employed by Northern.tech, the company behind Mender.io and CFEngine.", "recording_license": "", "do_not_record": false, "persons": [{"id": 93, "code": "TJL78Z", "public_name": "Ole Herman Schumacher Elgesem", "biography": "Core developer on the CFEngine project. Write a lot of C and Python. Love Open Source.", "answers": []}, {"id": 128, "code": "9NACTJ", "public_name": "Vratislav Podzimek", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 35, "guid": "483b0179-897f-551d-bfc3-772040318810", "logo": "", "date": "2020-02-04T16:50:00+01:00", "start": "16:50", "duration": "00:25", "room": "B.2.009", "slug": "2020-35-data-driven-configuration-with-cfengine-s-classfiltercsv-function", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/7CHYSH/", "title": "Data-Driven Configuration with CFEngine's classfiltercsv function", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Data-driven configuration management is a design pattern that can reduce complexity, improve outcomes, and empower engineers to make configuration changes without having to modify code.  The new classfiltercsv function in CFEngine 3.14 makes it straightforward to implement a data-driven approach, allowing for:\r\n\r\n- Using configuration rather than code to do configuration management\r\n- Deploying simpler code that is easier to use and maintain\r\n- Focusing on higher-order issues\r\n\r\nWhile this talk demonstrates how to use CFEngine's classfiltercsv function to produce these results, the discussion of the approach to data-driven configuration may be of interest to anyone in the configuration management community.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 19, "code": "EQNDHZ", "public_name": "Jay Goldberg", "biography": "Jay Goldberg is a Unix greybeard since 1989. He used to develop the Unix operating system, then started down the system management path at Unix System Labs.  He has been doing configuration management in some form since 1995.  He has built and managed infrastructure at a number of investment banks and is currently working to keep Linux easy to manage at scale at Two Sigma, a New York financial services firm. He lives in Brooklyn with his wife and daughter.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.010": [{"id": 77, "guid": "a0dba1c6-0b8f-5618-9a33-2eff10c5c76b", "logo": "", "date": "2020-02-04T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.2.010", "slug": "2020-77-a-rudder-walkthrough-manage-your-configurations-through-compliance", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/QVNQHD/", "title": "A RUDDER walkthrough: manage your configurations through compliance", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "This talk is designed for people wanting to discover or learn more about how things are done on a day-to-day basis with Rudder. Based on our experience helping Rudder users achieve their automation and compliance goals, this session will detail real-world examples, and describe and explain step-by-step the development and application of policies.\r\nWe will cover:\r\n\r\n* policy development workflow (advanced reporting analysis, debugging methods)\r\n* best practices in policy organization\r\n* various productivity tips\r\n* reporting and compliance focused policies (component names, rules organization, et.)\r\n* commonly encountered problems\r\n* API usage to collect information (Excel export, ...)\r\n* audit vs. configuration", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 58, "code": "USTRMB", "public_name": "Alexis Mousset", "biography": "Alexis is a system engineer, and a Rudder developer since 2015.        \r\nHe works on Rudder's configuration policies library, agents and\r\ninternal server components, and he (almost) enjoys documenting things.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 60, "guid": "c7d0299f-b961-5435-8850-3c0f5360ce77", "logo": "", "date": "2020-02-04T14:50:00+01:00", "start": "14:50", "duration": "00:25", "room": "B.2.010", "slug": "2020-60-what-s-new-in-rudder-and-future-roadmap", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/VVJCGQ/", "title": "What\u2019s new in RUDDER and future roadmap", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "This year, we have only released one major version. After 5.0, we moved on to... the 6.0!\r\n\r\nWhat has happened in RUDDER since last year? Let's discover together this new version, as well as all the new plugins: Ansible, OpenSCAP, Zabbix... And finally, let's discuss the next development of RUDDER for 2020!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 47, "code": "E9HRLV", "public_name": "Alexandre Brianceau", "biography": "After studying Cybersecurity, Alexandre worked for several years at several French integrators and IT services companies to ensure production security missions as a solution integrator as well as a consultant. For more than two years, he has been working for the RUDDER open-source continuous configuration solution.\r\n\r\nIt supports the success of users and ensures the follow-up of customers, making it possible to capitalize on a large number of feedback experiences.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 69, "guid": "d8c428cd-4a4d-50ac-9646-eb7874ad778a", "logo": "", "date": "2020-02-04T15:15:00+01:00", "start": "15:15", "duration": "00:25", "room": "B.2.010", "slug": "2020-69-using-rudder-plugins-to-package-tools-and-configuration-policies", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/S9BS7Q/", "title": "Using RUDDER plugins to package tools and configuration policies", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "In Rudder 5.0 we have introduced a plugins\u2019 ecosystem to make Rudder more flexible and adaptable to user needs. Plugins aim to bring new functionalities to Rudder: to plug it with other tools or simply package re-usable policy sets for example. Even though the currently available plugins cover a large range of functionalities, you may need to create new ones or extend current ones to meet your specific needs.\r\n\r\nThis talk will go through the process of plugin creation and maintaining, focusing on the ones involving proper configuration elements. This will let us see the current possibilities to import, export, share and maintain subsets of configuration policies between distinct Rudder environments.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 51, "code": "3LG8FD", "public_name": "F\u00e9lix Dallidet", "biography": "F\u00e9lix is working as a System Engineer for Rudder since 2017.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 80, "guid": "370232c6-115e-5ad3-9073-5481faa2cb99", "logo": "", "date": "2020-02-04T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.2.010", "slug": "2020-80-introduction-to-rudder-language", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/A7QTCP/", "title": "Introduction to RUDDER Language", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Rudder is a graphical configuration management tool, which is quite an unusual approach in this domain. This talk is about the why and how we are now introducing a new DSL for RUDDER. If you had never considered RUDDER because he didn't have a DSL, or if you want to discuss language with us, now is the right time to attend this talk!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 60, "code": "3PWDXE", "public_name": "Beno\u00eet Pecatte", "biography": "Beno\u00eet has been a system & software architect and senior consultant et RUDDER since 2014. His great expertise makes him the ideal contact person to handle the most complex cases during client missions.\r\n\r\nBeyond ensuring the coherence of RUDDER's architecture, he contributes to improving development processes and tools:\r\n- He developed the rudder-dev tool to facilitate and accelerate the development of RUDDER.\r\n- He set up the rudder-test system to automate integration testing.\r\n- He has deployed an integrated package publishing infrastructure with the support to facilitate the arrival of new customers.\r\n\r\nBefore joining the RUDDER team, Beno\u00eet worked in several fields such as IT security and the implementation of electronic safes or PKIs, system administration of large web infrastructures and the development of multimodal interfaces.\r\n\r\nWhen he doesn't work in RUDDER, Beno\u00eet learns Korean, automates his house with raspberry pi or teaches manners to his cat.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 63, "guid": "fc65730a-b2d7-5538-a3ad-775204d66107", "logo": "", "date": "2020-02-04T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.2.010", "slug": "2020-63-feedback-on-scalability-and-load-testing-of-a-configuration-management-software", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/TFCCBM/", "title": "Feedback on scalability and load testing of a configuration management software", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Rudder is based on API/Web application that allows users to configure and verify their configurations. Relying on agents on every system, itchecks and remediates configurations every 5 minutes and centralizes the result of application. Each result is made up of hundreds of events that are historized, and each configuration changes involves calculating and displaying the configurations and conformities for users within a reasonable time.\r\n\r\nA Rudder instance can handle 20 000 nodes. Can you imagine what this implies from a network, CPU and storage point of view? How to reach and maintain these performances? What are the different steps that made this possible? And what tools have been put in place? \r\n\r\nThis presentation will explain the technical stack used (Scala, PostgreSQL, C and Rust), as well as the path, failures and successes that allow us today to reproduce the environments, and also to test and validate the hypotheses to achieve and keep these results.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 48, "code": "THKVNB", "public_name": "Nicolas CHARLES", "biography": "Co-founder of RUDDER, he supports RUDDER customers and users in the complex deployments of RUDDER, both from an organizational and technical point of view. Technically, he intervenes in particular on the scalability and performance aspects of the solution, as well as on the interconnection between the policy engine and the agent. He also translates customer needs into specifications, supports users in defining the target architecture, migration to RUDDER and the transition of business processes.\r\n\r\nBefore founding RUDDER, Nicolas explored many fields as a developer and integrator, from very low level hardware (hard disk emulation in FPGA) to neural networks.\r\n\r\nIn his spare time, Nicolas is a happy father, a former Salsa dancer, and an alternative music lover.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 87, "guid": "93855137-823c-5286-941a-e73f80a00b52", "logo": "", "date": "2020-02-04T17:40:00+01:00", "start": "17:40", "duration": "00:25", "room": "B.2.010", "slug": "2020-87-designing-the-future-of-agent-server-communication-in-rudder", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/EFSE7S/", "title": "Designing the future of agent-server communication in RUDDER", "subtitle": "", "track": null, "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Rudder is currently used to manage more than 10k machines from the same central server,\r\nbut our agent-server communication (using HTTP for inventory collection,\r\nsyslog for reporting and a custom protocol for policy updates) was limiting us in terms of \r\nsecurity, performance and extensibility.          \r\n\r\nWith Rudder 6, we have introduced a new communication infrastructure              \r\nto match present and future challenges with consistent security,      \r\nbetter performance, improved continuity through\r\nimmediate action triggers, while staying compatible with our \r\nfully asynchronous, pull-based workflow.\r\n\r\nThe talk will focus on the design choices we made, from the use of Rust for our new\r\nserver component, to the network and message protocols we use.\r\nIt will also highlight the reasons and constraints behind them,\r\nincluding ensuring a minimal operation overhead and an easy and smooth transition with no breaking change.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 58, "code": "USTRMB", "public_name": "Alexis Mousset", "biography": "Alexis is a system engineer, and a Rudder developer since 2015.        \r\nHe works on Rudder's configuration policies library, agents and\r\ninternal server components, and he (almost) enjoys documenting things.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.011": [{"id": 125, "guid": "968f8a25-30dc-5779-8446-251d9674c91a", "logo": "", "date": "2020-02-04T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.2.011", "slug": "2020-125-agentless-saltstack", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/Z99XJE/", "title": "Agentless SaltStack", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Using an automation system such as SaltStack is a great way to ensure that traditional servers and desktops are kept in a consistent state.  Commonly run tasks such as software updates and system configuration can be done in a way that the results are always consistent.  But what about network devices? Or devices where security restrictions prevent a Salt minion from running?    The solution is the SaltStack Proxy minion system and Salt SSH.", "description": "Using an automation system such as SaltStack is a great way to ensure that traditional servers and desktops are kept in a consistent state.  Commonly run tasks such as software updates and system configuration can be done in a way that the results are always consistent.  But what about other devices that are commonly found in a typical infrastructure setup such as routers and switches?  It would be great to be able to manage these devices in a similar automated fashion.  This is where the Salt Proxy minions come in.  Additionally there might be situations where having a Salt minion running on a server is not allowed or possible, for these situations there is the Salt SSH system.\r\n\r\nThe talk will include:\r\n\r\n* A brief introduction to SaltStack.\r\n* Using SaltStack via SSH.\r\n* A look at using Salt via Proxy Minions.\r\n* The future of Salt-SSH and the Heist project.", "recording_license": "", "do_not_record": false, "persons": [{"id": 96, "code": "X3CMGE", "public_name": "Gareth J Greenaway", "biography": "Gareth is the senior software developer at Saltstack, an occasional FLOSS Weekly co-host, and co-founder and former leader of the Southern California Linux Expo. Gareth lives in Southern California with his wife, where they are owned by several pets.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 181, "guid": "7ff25ceb-db9c-5a99-a255-7122f0f21a49", "logo": "", "date": "2020-02-04T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B.2.011", "slug": "2020-181-pop-culture-an-intro-to-plugin-oriented-programming", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/QQDEPN/", "title": "POP Culture: An intro to Plugin Oriented Programming", "subtitle": "", "track": "Salt", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Plugin Oriented Programing, also known as POP, is a new programming paradigm and open source project developed by SaltStack. Like any programming paradigm learning POP means thinking about programming differently. Using POP to create a plugin oriented project is easy. This introduction will help you learn how POP works and how to get started with a new POP project. In this talk we'll look at ways POP breaks new ground in:\r\n- Memory management\r\n- Dealing with complexity\r\n- Subs and patterns\r\n- App merging\r\n\r\nWe will also provide a demonstration of POP in action.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 131, "code": "YDK7RD", "public_name": "Tyler Johnson", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 144, "guid": "6155456d-f460-59fe-ab9d-2b01ebd78723", "logo": "", "date": "2020-02-04T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.2.011", "slug": "2020-144-advanced-salt-states-going-beyond-yaml", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/UZ9XPL/", "title": "Advanced Salt States: Going Beyond YAML", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Using an automation system such as SaltStack is a great way to ensure that traditional servers and desktops are kept in a consistent state.  Commonly run tasks such as software updates and configurations can be done in a way that the results are always consistent.  When using SaltStack this is accomplished using state files.  \r\n\r\nThese state files are usually  written using YAML,  a human-readable data-serialization language, that presents the dictionaries and lists that SaltStack uses into a friendly format.  Occasionally we need to go beyond the capabilities of what YAML can provide.  \r\n\r\nIn this talk we'll explore some of the other ways that Salt states can be written, including using Jinja formatting and writing state files in programming languages such as Python.", "description": "Using an automation system such as SaltStack is a great way to ensure that traditional servers and desktops are kept in a consistent state.  Commonly run tasks such as software updates and configurations can be done in a way that the results are always consistent.  When using SaltStack this is accomplished using state files.  \r\n\r\nThese state files are usually  written using YAML,  a human-readable data-serialization language, that presents the dictionaries and lists that SaltStack uses into a friendly format.  Occasionally we need to go beyond the capabilities of what YAML can provide.  \r\n\r\nIn this talk we'll explore some of the other ways that Salt states can be written, including using Jinja formatting and writing state files in programming languages such as Python.", "recording_license": "", "do_not_record": false, "persons": [{"id": 96, "code": "X3CMGE", "public_name": "Gareth J Greenaway", "biography": "Gareth is the senior software developer at Saltstack, an occasional FLOSS Weekly co-host, and co-founder and former leader of the Southern California Linux Expo. Gareth lives in Southern California with his wife, where they are owned by several pets.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 138, "guid": "12984f25-4d11-58d1-9c9a-003bb0861786", "logo": "/media/2020/images/XPFAWX/uyuni-logo.png", "date": "2020-02-04T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.2.011", "slug": "2020-138-yomi-installation-of-the-os-using-saltstack", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/XPFAWX/", "title": "Yomi - Installation of the OS using SaltStack", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Yomi (Yet one more installer) is a new proposal for an OS installer\r\nthat is build on top of the features that a Software Configuration Tool\r\n(StalStack) provides.", "description": "Yomi (Yet one more installer) is a new proposal for an OS installer\r\nthat is build on top of the features that a Software Configuration Tool\r\n(StalStack) provides.\r\n\r\nIn this talk we will present the objectives of the project, the\r\ntechnical decisions made, how it works internally, ways of integration\r\nwith other elements in the infrastructure (Uyuni),  and an small demo\r\nthat will present the installation of MicroOS (with transactional\r\nupdates) and a normal openSUSE Tumbleweed with LVM/RAID.", "recording_license": "", "do_not_record": false, "persons": [{"id": 163, "code": "JNAXSV", "public_name": "Alberto Planas", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.015": [{"id": 28, "guid": "45d60266-2249-5ba7-a132-b30dafd417f4", "logo": "/media/2020/images/JZ8GMU/katello.png", "date": "2020-02-04T14:00:00+01:00", "start": "14:00", "duration": "00:50", "room": "B.2.015", "slug": "2020-28-developer-stories-how-to-upgrade-to-a-moving-target-without-disturbing-users-or-your-sanity", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/JZ8GMU/", "title": "Developer Stories: How to Upgrade to a Moving Target Without Disturbing Users or Your Sanity", "subtitle": "", "track": "Pulp", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "*A Tale of Upgrading From MongoDB-based Pulp 2 to PostgreSQL-based Pulp 3 in Katello*\r\n\r\nWhether you are a developer, system administrator, or simply a consumer of software, upgrades can be a painful experience.  When was the last time your prescribed hour-long upgrade turned into a full-day endeavor?  Have you been procrastinating upgrading your project\u2019s EOL\u2019d backend service for fear of breaking APIs?  In the Katello project, we certainly have experienced these issues ourselves.  After learning lessons the hard way when upgrading our backend service Pulp years ago, we\u2019ve created a plan and are currently executing our latest upgrade to Pulp 3 now.  The upgrade could be painful if we\u2019re not careful.  How can we switch to an in-development service with completely new concepts and APIs in a way that is easy for developers but still produces stable releases?\r\n\r\nIn this presentation, I will share a development story that covers prior mistakes we made and the lessons learned, the planning and architecture of incrementally introducing Pulp 3, and how we\u2019ve maintained clear communication across the Katello and Pulp 3 teams to keep our efforts aligned.\r\nThis talk\u2019s audience isn\u2019t limited to developers alone; anyone in configuration management, system administration, or management fields should find it relatable as well.", "description": "The topics that will be covered are as follows:\r\n* Introduction to Foreman, Katello, and Pulp for context\r\n* What is so great about Pulp 3 that\u2019s driving our upgrade plans?\r\n* What is our final plan to migrate from Pulp 2 to Pulp 3?\r\n* How does the upstream community affect this plan?\r\n* Why is it bad to migrate to Pulp 3 all at once?\r\n* What have our day-to-day challenges been during the migration and how have we handled it?", "recording_license": "", "do_not_record": false, "persons": [{"id": 29, "code": "VF8HXR", "public_name": "Ian Ballou", "biography": "Ian Ballou is a Software Engineer on the Red Hat Satellite team.  He currently works on upstream Katello, both developing new features centered mostly around the Pulp 3 integration and performing maintenance as well.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 31, "guid": "0d914482-bf1b-50d7-ae28-edfc952f89af", "logo": "", "date": "2020-02-04T14:50:00+01:00", "start": "14:50", "duration": "00:50", "room": "B.2.015", "slug": "2020-31-developing-ansible-modules-for-foreman-and-katello", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/KZCMLR/", "title": "Developing Ansible modules for Foreman and Katello", "subtitle": "", "track": "Foreman", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "The [Foreman](https://theforeman.org) community maintains a [collection of over 40 Ansible modules](https://github.com/theforeman/foreman-ansible-modules) for interaction with the Foreman API and the various plugin APIs. This all started with two modules in `ansible/ansible` in 2016 and escalated from there.\r\n\r\nToday we want to show how development of our modules works:\r\n1. setting up a test environment (Foreman/Katello VM)\r\n2. preparing a development environment (Python virtualenv with Ansible and dependencies)\r\n3. understanding and adjusting the test playbooks\r\n4. recording test fixtures (it's 2020 and we still \u2665 VCR)\r\n5. extending and fixing existing modules\r\n6. writing completely new modules", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 22, "code": "JZ937Y", "public_name": "Evgeni Golov", "biography": "Debian Developer, Red Hat Engineer, \u2665 automation", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 50, "guid": "c2f31edd-e072-5b60-8194-6a1ca2f38d51", "logo": "", "date": "2020-02-04T16:00:00+01:00", "start": "16:00", "duration": "00:50", "room": "B.2.015", "slug": "2020-50-squeeze-the-last-drop-out-of-pulp-with-ansible", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ZEGEQL/", "title": "Squeeze the last drop out of pulp with ansible", "subtitle": "", "track": "Pulp", "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "Ansible, the radically simple IT automation engine is not stranger to pulp, the juicy software repository management tool.\r\n\r\nIn addition to its ansible based installer and its plugin for ansible content, we present the third way for pulp to interact with ansible:\r\n'Ansible Modules for Pulp', alias Squeezer, is a collection of ansible modules to leverage the feature rich REST-API of pulp in a convenient way.\r\nTo this end we show, how repeated repository workflows can be mapped to ansible tasks.\r\nWe also discuss the possiblility to enrich bug reports with reproducers in form of playbook snippets.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 30, "code": "EPWQGN", "public_name": "Matthias Dellweg", "biography": "Matthias Dellweg is an open source software engineer who develops for different software projects with a focus on IT automation.\r\n\r\nPrior to his current employment with ATIX AG, he has finished a PhD in theoretical physics.\r\nIn his main occupation he works on orcharhino, a product based on Foreman with Katello and Pulp, with a focus on Debian integration.\r\n\r\nHe is an active member in the Foreman/Katello/Pulp community.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 128, "guid": "a60a298c-6578-58e8-8347-1caa7cfc4f0b", "logo": "", "date": "2020-02-04T16:50:00+01:00", "start": "16:50", "duration": "00:50", "room": "B.2.015", "slug": "2020-128-the-baremetal-discovery-and-secureboot-provisioning-using-foreman", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/RF7EVU/", "title": "The Baremetal Discovery and SecureBoot provisioning using Foreman", "subtitle": "", "track": null, "type": "Full Talk - Monday & Tuesday", "language": "en", "abstract": "The Baremetal Discovery and SecureBoot provisioning using Foreman\r\n\r\nBaremetal Discovery:\r\n\r\nThis feature enables to do bare-metal discovery of unknown systems of the network. The systems sends the facts to Foreman which then can be used to provision hosts with different parameters. The plugin also provides ability to auto provision the system as per the rules which can be defined beforehand. The talk covers,\r\n\r\n\t1. Introduction to discovery plugin\r\n\t2. Requirements to use discovery.\r\n\t3. PXELess and PXE scenario of discovery.\r\n\t4. Demo.\r\n\r\nSecureBoot Provisioning:\r\n\r\nThe security is most important aspect of any department and so secure booting should be because its possible to have intrusion and malicious code running at the time of booting operating system. The UEFI Secure Boot was created to secure booting process from malicious component replacement attacks. Latest operating systems offers support for this by including kernel and associated drivers signed by UEFI CA certificate. The Foreman also supports provisioning over the secureboot.This talk covers,\r\n\r\n\t1. What is Secure Boot ?\r\n\t2. Introduction to basic Foreman provisioning ?\r\n\t3. The secure boot provisioning using Foreman.\r\n\t4. Challenges.\r\n\t5. Demo.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 74, "code": "CQMQ7T", "public_name": "Amit Upadhye", "biography": "My name is Amit and I am Senior Software Engineer at Red Hat. Most of my contributions are in Foreman related components like Foreman Maintain, Foreman and Keycloak integration, Release Management etc. The Foreman application uses Rails framework and I am involved in developing new features, fix existing problems. I also like to integrate multiple applications and technologies to solve enterprise use cases. Prior to joining development team I was part of support at Red Hat and enjoyed troubleshooting issues of different types which helped me to gain good knowledge around Linux, strace, networking, python debugger, code walk-through.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 76, "guid": "3f86ca25-d072-57fe-add7-3463f89c2658", "logo": "", "date": "2020-02-04T17:40:00+01:00", "start": "17:40", "duration": "00:25", "room": "B.2.015", "slug": "2020-76-using-openapi-to-maximise-your-pulp-3-experience", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/89XVDD/", "title": "Using OpenAPI to Maximise Your Pulp 3 Experience", "subtitle": "", "track": "Pulp", "type": "Short Talk - Monday & Tuesday", "language": "en", "abstract": "Pulp ([pulpproject.org](https://pulpproject.org)) enables users to organize and distribute software. Now that Pulp 3.0 is generally available, it\u2019s time to integrate it into your software delivery workflows. While the REST API is the primary integration point, it is the OpenAPI schema definition of that API that enables users to build client libraries in various languages. These clients simplify the integration with Pulp 3.\r\n\r\nThis talk will provide a brief introduction to OpenAPI. This will be followed by a demonstration of how to use the Pulp\u2019s OpenAPI schema to generate a Python client for Pulp\u2019s REST API. The Python client will then be used to perform various workflows in Pulp 3.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 57, "code": "AVZLPE", "public_name": "Dennis Kliban", "biography": "I am a Senior Software Engineer at Red Hat. I am a full time contributor to Pulp (pulpproject.org).\r\n\r\nI have been contributing to open source projects since 2010. I joined Red Hat in 2013. During my time at Red Hat I have contributed to ImageFactory, OpenStack Nova, and Pulp.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}, {"index": 3, "date": "2020-02-05", "day_start": "2020-02-05T04:00:00+01:00", "day_end": "2020-02-06T03:59:00+01:00", "rooms": {"ALL": [{"id": 173, "guid": "beb125ea-8d3b-59d5-b03a-d97909e1d031", "logo": "", "date": "2020-02-05T09:00:00+01:00", "start": "09:00", "duration": "01:00", "room": "ALL", "slug": "2020-173-wednesday-breakfast", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/UPXEZN/", "title": "Wednesday Breakfast", "subtitle": "", "track": null, "type": "Break Fast", "language": "en", "abstract": "Cofee and Croissants", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 176, "guid": "0dc8d473-918c-50f1-b8fa-eec576bd0b5b", "logo": "", "date": "2020-02-05T13:05:00+01:00", "start": "13:05", "duration": "01:00", "room": "ALL", "slug": "2020-176-wednesday-lunch", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ZAX9MB/", "title": "Wednesday Lunch", "subtitle": "", "track": null, "type": "Lunch", "language": "en", "abstract": "On your own", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 129, "code": "JVEKBM", "public_name": "Everyone", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}], "B. Con": [{"id": 161, "guid": "325235d3-c4d5-5541-bb7c-b3344f919887", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "03:00", "room": "B. Con", "slug": "2020-161-hands-on-with-kubernetes", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/LVVXJG/", "title": "Hands on with Kubernetes", "subtitle": "", "track": null, "type": "Workshop - Wednesday", "language": "en", "abstract": "A half to full day training session aimed at people that are new to Containers and Kubernetes. Each attendee will have access to a Kubernetes cluster and will finish the training with the confidence to say \u201cI Know Kubernetes\u201d.", "description": "A half to full day training session aimed at people that are new to Kubernetes.\r\n\r\nThe goal is to take participants from zero experience to feeling comfortable deploying applications.\r\n\r\nThe training is based on the popular https://container.training, modified slightly to use a large shared cluster.\r\n\r\nA set of slides from the previous workshop done at OSDN in Kiev can be found here - http://k8s.camp/osdn/#1", "recording_license": "", "do_not_record": false, "persons": [{"id": 115, "code": "83QD3N", "public_name": "Paul Czarkowski", "biography": "Paul Czarkowski is a recovering Systems Administrator who has run infrastructure for longer than he cares to admit. After cutting his teeth in the ISP and Gaming industries Paul changed his focus to using (and contributing to) Open Source Software to improve the Operability of complex distributed systems such as Kubernetes and OpenStack. At Pivotal Paul works to improve the Operator experience by taking Cloud Native software development concepts and applying them to Operations to create platforms that reduce toil and improve software.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.009": [{"id": 33, "guid": "621fb4ae-77e3-55c3-bc95-25e822e1447e", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "08:00", "room": "B.2.009", "slug": "2020-33-foreman-construction-day", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/SC9T7K/", "title": "Foreman Construction Day", "subtitle": "", "track": null, "type": "Fringe - Wednesday", "language": "en", "abstract": "Foreman will be holding its usual Foreman Construction Day on Wednesday 5th February 2020, right after CfgMgmtCamp. Please join us!\r\n\r\nThe aim is to build upon on the previous 2-4 days of talks and discussions, and put it to use! We\u2019re open to all members of our community, such as\r\n\r\n    New users looking for help getting started with Foreman\r\n    Users looking to start contributing\r\n    Code contributors to any of the core projects\r\n    UX design / improvement\r\n    Plugin authors (new or existing plugins)\r\n    Translators / documentors\r\n\r\nThis is a great opportunity to get (more) involved in the community, and spend some face-to-face hack time with other Foreman devs. Hope to see you there!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 25, "code": "9V3HB7", "public_name": "Tomer Brisker", "biography": "Tomer is currently the release manager of the Foreman project. He has been an active contributor and maintainer of the project for over 5 years as part of his job as a Software Engineer at Red Hat.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.010": [{"id": 47, "guid": "3c24f70d-1719-5f85-8343-afbf352b8cce", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "08:00", "room": "B.2.010", "slug": "2020-47-kubernetes-mobprogramming-experiment", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/RLECKH/", "title": "Kubernetes mobprogramming experiment", "subtitle": "", "track": null, "type": "Fringe - Wednesday", "language": "en", "abstract": "We are going to do two tings in one workshop (how is that even possible): \r\n\r\n- Inspired by mob programming \u2013 we are going to try an experiment in mob operations. We will get a big screen, and do everything together. \r\n- The thing we are going to mob operate is Kubernetes - we will start from scratch and see how far we can get in one day. \r\n\r\nWe want to make this a learning experience for everyone in the room, so beginners and people experienced in mob programming and/or Kubernetes are welcome. The workshop facilitators are beginners as well, so we are here to learn together with you!\r\n\r\nWe want to have fun, so bring your best self and get your YAML editors ready!", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 39, "code": "YDDLFT", "public_name": "Anders Bruvik", "biography": "Anders is an infrastructure engineer at the nordic cloud provider Safespring. Before that, he spent years in different technical and management positions at a large Norwegian university where he worked with everything from config management on Unix servers to end user computing, mobile platforms, project management to virtual desktop infrastructure. When he\u2019s not engineering stuff, he spends time organizing DevOpsDays in Oslo. Anders lives in Nesodden south of Oslo.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.2.011": [{"id": 98, "guid": "c75f40f4-74c4-56fb-b6cb-6c254c93582c", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "03:00", "room": "B.2.011", "slug": "2020-98-foreman-basics-and-provisioning", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/SF3ASE/", "title": "Foreman - Basics and Provisioning", "subtitle": "", "track": null, "type": "Workshop - Wednesday", "language": "en", "abstract": "This workshop will focus on basic knowledge, provisioning and orchestration for those new to Foreman.", "description": "This workshop is a shortened version of the two day long official [Foreman Training](https://github.com/NETWAYS/foreman-training/) focusing on those new to Foreman. In the workshop you will get basic knowledge of the architecture of Foreman. You will install and configure Foreman to provide several ways of provisioning. Furthermore orchestration will be added to the Foreman using the Remote Execution plugin.\r\n\r\nWhile most tasks will be done in the Foreman WebUI, students should bring basic knowledge of Linux and be comfortable to use the command line for looking behind the curtain and debugging. Configuration management (Puppet or Ansible) knowledge is not required but helpful and the same applies to DNS, DHCP and Linux provisioning basics.\r\n\r\nYou should bring a Linux system with KVM and libvirt as virtualization solution, a virtual network with DHCP disabled and a CentOS 7 or Debian 9 virtual machine in this network prepared to run the foreman-installer. For preparation instructions see [the Foreman manual](https://theforeman.org/manuals/latest/index.html#2.Quickstart). Using another virtualization solution will limit your options for provisioning, but it should be possible to work around that to participate in the other exercises.", "recording_license": "", "do_not_record": false, "persons": [{"id": 75, "code": "SVB733", "public_name": "Dirk G\u00f6tz", "biography": "Dirk G\u00f6tz is working as Principal Consultant and Trainer for NETWAYS.\r\nAs part of his daily work he writes concepts, implements, reviews and teaches Puppet, Ansible and Foreman in many different environments.\r\nHe created a training course based on Open Source Puppet for his employer and the official Foreman Training as corporate project of NETWAYS and the Foreman Project.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"id": 108, "guid": "65001bf5-1f9a-5cd1-9b95-7496eec51ab7", "logo": "", "date": "2020-02-05T14:00:00+01:00", "start": "14:00", "duration": "03:00", "room": "B.2.011", "slug": "2020-108-writing-ansible-module-for-fun-and-profit", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/HH9T93/", "title": "Writing Ansible module for fun and profit", "subtitle": "", "track": null, "type": "Workshop - Wednesday", "language": "en", "abstract": "Ansible provides a pluggable architecture that makes it easy to extend functionalities of Ansible. This workshop will be a hands-on session where I will discuss development process of the Ansible Module.", "description": "This workshop is helpful for developers and system administrators with some knowledge of Python to develop their custom modules and contribute back to the community. \r\n\r\nIn this session, I will also explain the development process and open source contribution process followed in Ansible Open Source Project.\r\n\r\nI will focus on - \r\nAnsible Module Architecture\r\nAnsible development environment\r\nAnsible Module development \r\nAnsible Contribution process\r\n\r\nIn this workshop we will create a custom module and tests its functionality with Ansible.", "recording_license": "", "do_not_record": false, "persons": [{"id": 81, "code": "8Q7PJS", "public_name": "Abhijeet Kasurde", "biography": "I am a full-time Python Developer working in Ansible Core team. I am maintainer of Ansible VMware modules and community lead. I am also international speaker, presented my talks at VMworld 2019, VMworld 2018, AnsibleFest 2019, AnsibleFest 2018, and Devconf.cz 2019", "answers": []}, {"id": 82, "code": "KMW8SU", "public_name": "Ganesh B Nalawade", "biography": "Ganesh Nalawade works as a Principal Engineer with the Ansible network team. He has 12+ experience in developing software for network management plane to enhance network automation and programmability.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.3.026": [{"id": 139, "guid": "28435791-3d35-58d8-9ced-6c28a5b878a2", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "08:00", "room": "B.3.026", "slug": "2020-139-puppet-contributor-session", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/TZJE3T/", "title": "Puppet Contributor Session", "subtitle": "", "track": "Puppet", "type": "Fringe - Wednesday", "language": "en", "abstract": "Collaboration session for the Puppet ecosystem.", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"id": 76, "code": "WV7HWH", "public_name": "Ben Ford", "biography": "Developer Advocate at [@puppetlabs](https://puppet.com/community); I get to build neat things -and- talk to people! I am responsible for being the voice of the user at Puppet. This takes many forms. On some days I'm building tooling that can help us identify trends in our community and on some days I literally sit and chat on Slack all day long. Most importantly, what I do is build and maintain relationships between people who use, develop with, or develop on our products both internal and external.\r\n\r\nTo me, this role is the perfect blend of software engineer, training engineer, and community relationship management. *\\o/*\r\n\r\nI run marathons in those funny finger shoes. http://pronoun.is/he", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.3.036": [{"id": 84, "guid": "d7d8f914-5436-5649-9078-b673d05a0428", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "03:00", "room": "B.3.036", "slug": "2020-84-mgmt-config-hands-on-with-autonomous-datacentres", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/8VQU7P/", "title": "Mgmt Config: Hands on with Autonomous Datacentres", "subtitle": "", "track": null, "type": "Fringe - Wednesday", "language": "en", "abstract": "Mgmt is a real-time automation tool that is fast and safe.\r\nIt uses a real-time, reactive programming language to model the desired state over time, and a powerful event-driven engine to apply this state.\r\nIn this workshop, we'll present a number of live demos, and get you running mgmt yourself, and writing your first module.\r\nThis is the modelling language and tool that will let module authors build autonomous self-hosted mail servers, well-managed personal \"home clouds\", and other useful bits.\r\n\r\nFinally we'll talk about some of the future designs we're planning and make it easy for new users to get involved and help shape the project.\r\n\r\nA number of blog posts on the subject are available: https://purpleidea.com/tags/mgmtconfig/\r\nAttendees are encouraged to read some before the workshop if they want a preview!\r\n\r\nAttendees must arrive with a modern GNU+Linux machine, running golang 1.11 or newer or an equivalent virtual machine.\r\nYou will also need to complete the mgmt \"quick start guide\" to get mgmt running before you arrive.\r\nhttps://github.com/purpleidea/mgmt/blob/master/docs/quick-start-guide.md\r\nDoing this will leave us a maximum amount of time for hands on experience with mgmt.\r\nIf you have any difficulties, please join the #mgmtconfig IRC channel on Freenode and ask purpleidea for help.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 63, "code": "TDWFFT", "public_name": "James (purpleidea)", "biography": "James is a DevOps/Config mgmt. hacker and physiologist from Montreal, Canada.\r\nHe often goes by @purpleidea on the internet, and writes \"The Technical Blog of James\".\r\nHe works on a Next Generation Config Management project that he started called mgmt.\r\nHe studied Physiology at university and sometimes likes to talk about cardiology.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.3.037": [{"id": 22, "guid": "c6bf5a02-291d-51a4-8a94-d470a12987ec", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "03:00", "room": "B.3.037", "slug": "2020-22-modern-infrastructure-as-code", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/N8ZQMU/", "title": "Modern Infrastructure as Code", "subtitle": "", "track": null, "type": "Workshop - Wednesday", "language": "en", "abstract": "Learn all about Infrastructure as Code: from concepts, to serverless and container technologies, including several hands-on labs to teach you best practices for managing infrastructure in public cloud and Kubernetes.\r\n\r\nIn this workshop, we will be using a new Infrastructure as Code tool, Pulumi.\r\n\r\nYou will leave this workshop with a better understanding of modern cloud architectures, the role infrastructure as code has to play in them, and with actionable best practices you can bring back to your teams today.\r\n\r\nWhat You'll Learn:\r\n\r\nWe will begin with an introduction talk, briefly covering a number of topic, and then transition to hands-on labs to teach you the practicalities of using infrastructure as code to manage public cloud infrastructure on AWS and Kubernetes. You will leave knowing everything you need to be successful with infrastructure as code in your team.\r\n\r\nModern Cloud Architectures: Networking, clustering, containers, Kubernetes, serverless\r\n\r\nModern Infrastructure as Code: immutable infrastructure, automated delivery, policy as code\r\n\r\nInfrastructure Patterns: provisioning infrastructure, versioning infrastructure, scaling applications, building and publishing container images, packaging and reusing infrastructure best practices", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 21, "code": "EUFDQQ", "public_name": "Paul Stack", "biography": "Paul Stack is an infrastructure coder and has spoken at various events throughout the world about his passion for continuous integration, continuous delivery and good operational procedures and why they should be part of what developers and system administrators do on a day to day basis. He believes that reliably delivering software is more important as its development. Paul\u2019s passions are the DevOps and Continuous Delivery movements and how they help the entire business and its customers.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.4.027": [{"id": 145, "guid": "4993c062-57da-5e09-9999-2b45de8f857c", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "03:00", "room": "B.4.027", "slug": "2020-145-learn-configuration-management-and-sdi-from-scratch-using-uyuni", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/FAYVSX/", "title": "Learn configuration management and SDI from scratch using Uyuni", "subtitle": "", "track": null, "type": "Workshop - Wednesday", "language": "en", "abstract": "Uyuni is a software-defined infrastructure and configuration management solution. You can use it to bootstrap physical servers, deploy and update packages and patches -even with content lifecycle management features- create VMs for virtualization and cloud, builds container images, tracks what runs on your Kubernetes clusters, CVE audit your machines and containers, etc. All using Salt under the hood!", "description": "In this workshop we will start from scratch: install Uyuni, register some clients machines, deploy software, subscribe machine to software channels, learn how to use the content lifecycle management features, create and manage virtual machines, etc.", "recording_license": "", "do_not_record": false, "persons": [{"id": 106, "code": "UCFGKT", "public_name": "Pau Garcia Quiles", "biography": "Product Owner & Technical Project Manager, SUSE Manager.\r\nFormerly: IT PMO & Project Manager, R&D Software Manager, Software Developer, Systems Administrator.\r\nRetrocomputing afficionado.", "answers": []}, {"id": 94, "code": "QRZWE9", "public_name": "Pablo Su\u00e1rez Hern\u00e1ndez", "biography": "Pablo holds a BEng. Computer System Engineering from University of La Laguna. Tenerife. Spain.\r\nHe is a Backend Software Engineer Engineer at SUSE Linux and part of the SUSE Manager & Salt Team where he is actively developing on SUSE Manager & Uyuni and its integration with Salt.\r\nHe has lots of contributions to the Salt project, such the Snapper and Kubernetes modules, core improvements and bug fixing.\r\n\r\nPablo is also involved in the local communities of Arduino, Raspberry-Pi, FLOSS and Linux.\r\nBefore joining SUSE he was working as Python/Django developer on different projects and companies in Spain.\r\n\r\nHe is currently developing Free Software from Tenerife, Spain.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.4.039": [{"id": 75, "guid": "645366c6-e330-5f60-8053-d0be25553082", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "03:00", "room": "B.4.039", "slug": "2020-75-pulp-install-fest-ansible-container-registry-or-rpms-", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/WRR7GC/", "title": "Pulp install - Fest (Ansible, Container Registry, or RPMs)", "subtitle": "", "track": null, "type": "Workshop - Wednesday", "language": "en", "abstract": "Come by and install pulp_ansible, pulp_container, or pulp_rpm with the developers who make them!\r\n\r\nhttps://github.com/pulp/pulp_ansible\r\nhttps://github.com/pulp/pulp_container/\r\nhttps://github.com/pulp/pulp_rpm\r\n\r\nWe'll be using the Ansible installer: https://github.com/pulp/ansible-pulp", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"id": 55, "code": "MBJSKS", "public_name": "Brian Bouterse", "biography": "Brian Bouterse is a Principle Software Engineer at Red Hat. He is a developer with pulpproject.org which is written in Python and deploys Python software among other types (rpm, puppet, docker, etc).", "answers": []}, {"id": 57, "code": "AVZLPE", "public_name": "Dennis Kliban", "biography": "I am a Senior Software Engineer at Red Hat. I am a full time contributor to Pulp (pulpproject.org).\r\n\r\nI have been contributing to open source projects since 2010. I joined Red Hat in 2013. During my time at Red Hat I have contributed to ImageFactory, OpenStack Nova, and Pulp.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.4.041": [{"id": 68, "guid": "16c6ea23-89dd-5eeb-bad9-539bc2daa3aa", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "03:00", "room": "B.4.041", "slug": "2020-68-getting-started-with-rudder-the-most-secops-configuration-management-tool", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/ZCUYEF/", "title": "Getting started with RUDDER, the most \"secops\" configuration management tool", "subtitle": "", "track": null, "type": "Workshop - Wednesday", "language": "en", "abstract": "Security policies are increasingly complex and demanding to be implemented by operational teams. How can we be sure that our security policies are properly applied on all our servers other than through a massive and costly audit? Even if they were when they were created, how do you know if they remain perfectly compliant after a few days / weeks / months?\r\n\r\nMore generally, the problem can be generalized to a devsecops approach: how to ensure that teams work together to make system infrastructures more reliable and secure?\r\n\r\nDiscover how RUDDER, a solution based on the devops spirit that allows teams to work together, can bring its know-how during a first-hand workshop and deploy your first rules together.", "description": "Prerequisites:\r\n* Hardware: Any machine able to run virtualization and enough RAM for the VM (4Gb of RAM seems a minimum).\r\n* Software: Virtualbox must be installed and the network for virtualbox must be working with NAT and local network (test with one VM before coming).\r\n* Skills: Basic linux administration", "recording_license": "", "do_not_record": false, "persons": [{"id": 51, "code": "3LG8FD", "public_name": "F\u00e9lix Dallidet", "biography": "F\u00e9lix is working as a System Engineer for Rudder since 2017.", "answers": []}], "links": [], "attachments": [], "answers": []}], "B.4.042": [{"id": 170, "guid": "d2c06351-2d11-5275-a0c2-3fbbfc23e747", "logo": "", "date": "2020-02-05T10:00:00+01:00", "start": "10:00", "duration": "08:00", "room": "B.4.042", "slug": "2020-170-cfengine-workshop-room", "url": "https://cfp.cfgmgmtcamp.org/2020/talk/JUCUT9/", "title": "CFEngine Workshop Room", "subtitle": "", "track": null, "type": "Fringe - Wednesday", "language": "en", "abstract": "Hack Day Room", "description": "We welcome you to a day of discovering what CFEngine can do and how you make use of it. \r\n\r\n- Influence the development of new features. \r\n- Get help writing policy / free enterprise support\r\n- Meet the developers\r\n- See cool demos and upcoming features\r\n- Share what you are working on or have a chat with fellow CFEngineers", "recording_license": "", "do_not_record": false, "persons": [{"id": 125, "code": "XU9DQP", "public_name": "Nils Christian Flinder Roscher-Nielsen", "biography": null, "answers": []}, {"id": 126, "code": "BJ9TQV", "public_name": "Nick Anderson", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}]}}]}}}