SlideShare a Scribd company logo
Auto-Cascading
Security Updates
Through Docker Images
Andrey Falko
Salesforce Infrastructure
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize
or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by
the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any
projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding
strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or
technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality
for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and
rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with
completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our
ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment,
our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on
potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent
fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important
disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and
may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are
currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Forward-Looking Statements
The problem
Security Researcher
Vulnerability
Code Patch Distribution Package
Public Disclosure
OS Base Image Java Base Image Application Image
Python Base Image Application Image
Application Image
Application ImageRuby Base Image
The problem
Security Researcher
Vulnerability
Code Patch Distribution Package
Public Disclosure
OS Base Image Java Base Image Application Image
Python Base Image Application Image
Application Image
Application ImageRuby Base Image
The problem
Security Researcher
Vulnerability
Code Patch Distribution Package
Public Disclosure
OS Base Image Java Base Image Application Image
Python Base Image Application Image
Application Image
Application ImageRuby Base Image
MANUAL
Our Solution
How do you automatically keep all of these images up-to-date?
Create Pull Request to every child image
Developer review and merge
Our Solution
We run tests for our pull requests
Pull request pipeline
Path to production
Our Solution: Dockerfile Image Update
Command line tool invoked as Docker container
# dockerfile-image-update parent <PARENT-IMG> <VERSION-TAG> <IMG_TAG_STORE-GIT-REPO>
Command Line
● PARENT-IMG - Base image whose children we want to update
● VERSION-TAG - Docker tag that we intend children to be updated to
● IMG_TAG_STORE-GIT-REPO - Git repository where you want to persist intended outcome
Our Solution: Dockerfile Image Update
Command line tool invoked as Docker container
# dockerfile-image-update parent <PARENT-IMG> <VERSION-TAG> <IMG_TAG_STORE-GIT-REPO>
Command Line
● PARENT-IMG - Base image whose children we want to update
● VERSION-TAG - Docker tag that we intend children to be updated to
● IMG_TAG_STORE-GIT-REPO - Git repository where you want to persist intended outcome
Our Solution: Dockerfile Image Update
Command line tool invoked as Docker container
# dockerfile-image-update parent centos_jdk 8 version-persistence-repo
Command Line
Example:
We open sourced it: https://github.com/salesforce/dockerfile-image-update
Our Solution
Why do we need to track image versions?
# dockerfile-image-update all <IMG_TAG_STORE-GIT-REPO>
Command Line
● Scans all images in IMG_TAG_STORE and updates child images
● Run nightly for all images
○ Ensures no one bypassed CI system
○ Developer race conditions
○ Github can’t fork a fork
Our Solution
Why do we need to track image versions?
# dockerfile-image-update all <IMG_TAG_STORE-GIT-REPO>
Command Line
● Scans all images in IMG_TAG_STORE and updates child images
● Run nightly for all images
○ Ensures no one bypassed CI system
○ Developer race conditions
○ Github can’t fork a fork
Software that writes code
The Result
The Result
I had an uninterrupted vacation in Florida
The Result
● Hundreds of docker images are patched using this tool
● Hundreds of developers migrated services to major OS and language versions safely
In all seriousness...
Future Improvements
● Users and Contributors Welcome!
○ https://github.com/salesforce/dockerfile-image-update
● Feature wishlist:
○ Auto-merge option
○ Maven spotify docker plugin support
○ Update versions in docker-compose and kubernetes pod.yaml
○ Expand the tool to other packaging formats beyond just Docker
What we can do better
Future Improvements
● Users and Contributors Welcome!
○ https://github.com/salesforce/dockerfile-image-update
● Feature wishlist:
○ Auto-merge option
○ Maven spotify docker plugin support
○ Update versions in docker-compose and kubernetes pod.yaml
○ Expand the tool to other packaging formats beyond just Docker
What we can do better
Future Improvements
● Users and Contributors Welcome!
○ https://github.com/salesforce/dockerfile-image-update
● Feature wishlist:
○ Auto-merge option
○ Maven spotify docker plugin support
○ Update versions in docker-compose and kubernetes pod.yaml
○ Expand the tool to other packaging formats beyond just Docker
What we can do better
Future Improvements
● Users and Contributors Welcome!
○ https://github.com/salesforce/dockerfile-image-update
● Feature wishlist:
○ Auto-merge option
○ Maven spotify docker plugin support
○ Update versions in docker-compose and kubernetes pod.yaml
○ Expand the tool to other packaging formats beyond just Docker
What we can do better
Thank you!
Wouldn’t be possible without these Engineers
● Former Salesforce intern wrote initial version
○ Min Ho Park
● Helped with design, fixes, and production support
○ Justin Harringa
○ Nelson Wolf
○ Jinesh Doshi
https://github.com/salesforce/dockerfile-image-update

More Related Content

PPT
Dreamforce 13 developer session: Git for Force.com developers
PDF
Introduction to Git for Force.com Developers
PDF
Salesforce API Series: Release Management with the Metadata API webinar
PDF
Build Together And Deliver Continuously With Salesforce DX
PPTX
Get Started with Salesforce DX!
PDF
Rational Rhapsody Workflow Integration with Visual Studio
PPTX
Team Development & Continuous Integration on the Salesforce Platform
PDF
AppExchange Tech Enablement June 2017
Dreamforce 13 developer session: Git for Force.com developers
Introduction to Git for Force.com Developers
Salesforce API Series: Release Management with the Metadata API webinar
Build Together And Deliver Continuously With Salesforce DX
Get Started with Salesforce DX!
Rational Rhapsody Workflow Integration with Visual Studio
Team Development & Continuous Integration on the Salesforce Platform
AppExchange Tech Enablement June 2017

What's hot (20)

PDF
Teams progress presenation
PDF
IBM Rational Rhapsody support for Microsoft Visual Studio 2015
PDF
Salesforce.com API Series: Service Cloud Console Deep Dive
PDF
Salesforce Winter 14 Release - Summary
PDF
Summer '13 Developer Preview Webinar
PPTX
AngularJS App In Two Weeks
PDF
Fun with Jenkins & Salesforce
DOCX
Resume_Lakshmi Chaitanya_Technical Specialist_Thirdware Solutions
PDF
Best Practices for Successful Deployment
PDF
Continuous Integration - Software development lifecycle for Force.com projects
PDF
Automating the Impossible: End to End Team Development for ISVs (October 14, ...
PDF
Team Development on Force.com with Github and Ant
PPTX
Scaling Continuous Integration for Puppet
PDF
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
PDF
Max Yekaterinenko - Magento 2 & Quality
PDF
Resume_Arindom-March-3rd
PDF
Manage Org Changes Using the Force.com Migration Tool and Git
POTX
Building End To End Lightning Apps - Dreamforce 2014
DOCX
Resume - Varghese John
PPTX
Techniques and Tools to Improve the Salesforce Development Cycle
Teams progress presenation
IBM Rational Rhapsody support for Microsoft Visual Studio 2015
Salesforce.com API Series: Service Cloud Console Deep Dive
Salesforce Winter 14 Release - Summary
Summer '13 Developer Preview Webinar
AngularJS App In Two Weeks
Fun with Jenkins & Salesforce
Resume_Lakshmi Chaitanya_Technical Specialist_Thirdware Solutions
Best Practices for Successful Deployment
Continuous Integration - Software development lifecycle for Force.com projects
Automating the Impossible: End to End Team Development for ISVs (October 14, ...
Team Development on Force.com with Github and Ant
Scaling Continuous Integration for Puppet
Build Customer Centric Applications Using the Salesforce Toolkits for .NET
Max Yekaterinenko - Magento 2 & Quality
Resume_Arindom-March-3rd
Manage Org Changes Using the Force.com Migration Tool and Git
Building End To End Lightning Apps - Dreamforce 2014
Resume - Varghese John
Techniques and Tools to Improve the Salesforce Development Cycle
Ad

Similar to Srecon18americas lightning talk: Auto-Cascading Security Updates Through Docker Images (20)

PPTX
Heroku Introduction: Scaling customer facing apps & services
PPTX
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
PDF
TDX19 - Accelerate DevOps with GitLab and Salesforce
PPTX
Using Python on Heroku and Force.com Canvas to Enhance Salesforce.com
PPTX
Simplify your code with Salesforce DX and module development
PDF
Modern App Dev: Modular Development Strategies
PPTX
Introduction to Heroku - CCT London 2013
PDF
Lightning Web Components - A new era, René Winkelmeyer
PDF
Reusable Build Scripts for Managed Package Development (October 14, 2014)
PPTX
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
PDF
Salesforce DX Pilot Product Overview
PDF
San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...
PDF
Developer Preview Live – Release Readiness LIVE, Spring '18
PDF
Introduction to Heroku
PDF
Spring '14 Release Developer Preview Webinar
PPT
Dreamforce 13 developer session: Introduction to Heroku
POTX
Hands-on Workshop: Intermediate Development with Heroku and Force.com
PPTX
Lightning Developer Experience, Eclipse IDE Evolved
PPT
Packaging It Up Latest Enhancements for App Distribution
PPTX
TrailheaDX and Summer '19: Developer Highlights
Heroku Introduction: Scaling customer facing apps & services
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
TDX19 - Accelerate DevOps with GitLab and Salesforce
Using Python on Heroku and Force.com Canvas to Enhance Salesforce.com
Simplify your code with Salesforce DX and module development
Modern App Dev: Modular Development Strategies
Introduction to Heroku - CCT London 2013
Lightning Web Components - A new era, René Winkelmeyer
Reusable Build Scripts for Managed Package Development (October 14, 2014)
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
Salesforce DX Pilot Product Overview
San Francisco Jenkins Area Meetup October 2016: Self-service secure test and ...
Developer Preview Live – Release Readiness LIVE, Spring '18
Introduction to Heroku
Spring '14 Release Developer Preview Webinar
Dreamforce 13 developer session: Introduction to Heroku
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Lightning Developer Experience, Eclipse IDE Evolved
Packaging It Up Latest Enhancements for App Distribution
TrailheaDX and Summer '19: Developer Highlights
Ad

Recently uploaded (20)

PPTX
L1 - Introduction to python Backend.pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
Digital Strategies for Manufacturing Companies
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
medical staffing services at VALiNTRY
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
AI in Product Development-omnex systems
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Design an Analysis of Algorithms I-SECS-1021-03
L1 - Introduction to python Backend.pptx
Odoo POS Development Services by CandidRoot Solutions
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Nekopoi APK 2025 free lastest update
Digital Strategies for Manufacturing Companies
VVF-Customer-Presentation2025-Ver1.9.pptx
medical staffing services at VALiNTRY
CHAPTER 2 - PM Management and IT Context
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Which alternative to Crystal Reports is best for small or large businesses.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Odoo Companies in India – Driving Business Transformation.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Design an Analysis of Algorithms II-SECS-1021-03
AI in Product Development-omnex systems
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Design an Analysis of Algorithms I-SECS-1021-03

Srecon18americas lightning talk: Auto-Cascading Security Updates Through Docker Images

  • 1. Auto-Cascading Security Updates Through Docker Images Andrey Falko Salesforce Infrastructure
  • 2. Statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements. Forward-Looking Statements
  • 3. The problem Security Researcher Vulnerability Code Patch Distribution Package Public Disclosure OS Base Image Java Base Image Application Image Python Base Image Application Image Application Image Application ImageRuby Base Image
  • 4. The problem Security Researcher Vulnerability Code Patch Distribution Package Public Disclosure OS Base Image Java Base Image Application Image Python Base Image Application Image Application Image Application ImageRuby Base Image
  • 5. The problem Security Researcher Vulnerability Code Patch Distribution Package Public Disclosure OS Base Image Java Base Image Application Image Python Base Image Application Image Application Image Application ImageRuby Base Image MANUAL
  • 6. Our Solution How do you automatically keep all of these images up-to-date? Create Pull Request to every child image
  • 7. Developer review and merge Our Solution We run tests for our pull requests Pull request pipeline Path to production
  • 8. Our Solution: Dockerfile Image Update Command line tool invoked as Docker container # dockerfile-image-update parent <PARENT-IMG> <VERSION-TAG> <IMG_TAG_STORE-GIT-REPO> Command Line ● PARENT-IMG - Base image whose children we want to update ● VERSION-TAG - Docker tag that we intend children to be updated to ● IMG_TAG_STORE-GIT-REPO - Git repository where you want to persist intended outcome
  • 9. Our Solution: Dockerfile Image Update Command line tool invoked as Docker container # dockerfile-image-update parent <PARENT-IMG> <VERSION-TAG> <IMG_TAG_STORE-GIT-REPO> Command Line ● PARENT-IMG - Base image whose children we want to update ● VERSION-TAG - Docker tag that we intend children to be updated to ● IMG_TAG_STORE-GIT-REPO - Git repository where you want to persist intended outcome
  • 10. Our Solution: Dockerfile Image Update Command line tool invoked as Docker container # dockerfile-image-update parent centos_jdk 8 version-persistence-repo Command Line Example: We open sourced it: https://github.com/salesforce/dockerfile-image-update
  • 11. Our Solution Why do we need to track image versions? # dockerfile-image-update all <IMG_TAG_STORE-GIT-REPO> Command Line ● Scans all images in IMG_TAG_STORE and updates child images ● Run nightly for all images ○ Ensures no one bypassed CI system ○ Developer race conditions ○ Github can’t fork a fork
  • 12. Our Solution Why do we need to track image versions? # dockerfile-image-update all <IMG_TAG_STORE-GIT-REPO> Command Line ● Scans all images in IMG_TAG_STORE and updates child images ● Run nightly for all images ○ Ensures no one bypassed CI system ○ Developer race conditions ○ Github can’t fork a fork
  • 13. Software that writes code The Result
  • 14. The Result I had an uninterrupted vacation in Florida
  • 15. The Result ● Hundreds of docker images are patched using this tool ● Hundreds of developers migrated services to major OS and language versions safely In all seriousness...
  • 16. Future Improvements ● Users and Contributors Welcome! ○ https://github.com/salesforce/dockerfile-image-update ● Feature wishlist: ○ Auto-merge option ○ Maven spotify docker plugin support ○ Update versions in docker-compose and kubernetes pod.yaml ○ Expand the tool to other packaging formats beyond just Docker What we can do better
  • 17. Future Improvements ● Users and Contributors Welcome! ○ https://github.com/salesforce/dockerfile-image-update ● Feature wishlist: ○ Auto-merge option ○ Maven spotify docker plugin support ○ Update versions in docker-compose and kubernetes pod.yaml ○ Expand the tool to other packaging formats beyond just Docker What we can do better
  • 18. Future Improvements ● Users and Contributors Welcome! ○ https://github.com/salesforce/dockerfile-image-update ● Feature wishlist: ○ Auto-merge option ○ Maven spotify docker plugin support ○ Update versions in docker-compose and kubernetes pod.yaml ○ Expand the tool to other packaging formats beyond just Docker What we can do better
  • 19. Future Improvements ● Users and Contributors Welcome! ○ https://github.com/salesforce/dockerfile-image-update ● Feature wishlist: ○ Auto-merge option ○ Maven spotify docker plugin support ○ Update versions in docker-compose and kubernetes pod.yaml ○ Expand the tool to other packaging formats beyond just Docker What we can do better
  • 20. Thank you! Wouldn’t be possible without these Engineers ● Former Salesforce intern wrote initial version ○ Min Ho Park ● Helped with design, fixes, and production support ○ Justin Harringa ○ Nelson Wolf ○ Jinesh Doshi