SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
With CommandBox and CFConfig
Managing CFML Servers
About Me
• ColdFusion Architect
• Blogger (codersrevolution.com)
• ColdBox Developer Advocate
• CommandBox Lead Developer
• Musician
• Shade-Tree Mechanic
• Husband
• Dad
Brad Wood
Ortus Solutions
@bdw429s
About You
Brad Wood
Ortus Solutions
@bdw429s
What our friends think we do
Brad Wood
Ortus Solutions
@bdw429s
What our mom thinks we do
Brad Wood
Ortus Solutions
@bdw429s
What our coworkers think...
Brad Wood
Ortus Solutions
@bdw429s
What we really do
Brad Wood
Ortus Solutions
@bdw429s
Commandbox CLI
• Command line tool
• Runs CFML from the console
○ REPL
○ CFM execution
○ Custom Commands
• Manages code libraries
•Use as a build tool
•Publish packages to ForgeBox
•Start/stop/manage servers
Brad Wood
Ortus Solutions
@bdw429s
What is CommandBox?
• Native binary
○ Windows
○ Mac
○ Linux
• No installation
•Small (~37MB)
•Downloads CF engines on demand
•Local artifacts
•Free open source
•Professionally supported
•www.patreon.com/ortussolutions
Brad Wood
Ortus Solutions
@bdw429s
Start servers
● Params
○ port
○ SSLEnable
○ rewritesEnable
○ cfengine
○ heapSize
● Separate process for each server
● Start more than one
Brad Wood
Ortus Solutions
@bdw429s
> start
> start port=8080 --rewritesEnabled
> start heapSize=1024 --!openBrowser
CF Engines
● Adobe ColdFusion
○ 9, 10, 11, 2016,
2018
● Lucee, Railo
● All recent updates
● Custom Wars
Brad Wood
Ortus Solutions
@bdw429s
> start cfengine=adobe
> start cfengine=adobe@11
> start cfengine=adobe@10.0.21+300068
> start cfengine=”adobe@>9 <=11”
> start warPath=jenkins.war
Configure Server
• Ports/host
○ HTTP
○ HTTPS
• Certs
• Bind to host
•JVM Settings
•Built in support for heap size
•Any other JVM args supported
○ Java agents
○ Debugger
○ System Properties
Brad Wood
Ortus Solutions
@bdw429s
server.json
● Persists all settings for starting a server
● Portable
● Created automatically
● Commands to manage
○ server set
○ server show
○ server clear
Brad Wood
Ortus Solutions
@bdw429s
{
"name":"myServer",
"app":{
"cfengine":"adobe@2016"
},
"web":{
"http":{
"port":8000
},
"rewrites":{
"enable":true
}
},
"jvm":{
"heapsize":1024
}
}
Managing multiple servers
• Named servers
• Different server.json files
• Listing & managing servers
• Server info
• Server cd
Brad Wood
Ortus Solutions
@bdw429s
Web aliases
• Map web URL to any file system path
• For static files or CFML
• Set in server.json
• Set in config setting server defaults
Brad Wood
Ortus Solutions
@bdw429s
{
"web":{
"aliases":{
"/bar":"foo"
}
}
}
Custom error pages
● Customize responses for
missing files
● Redirects to a file in the web
root
● Can be static or .cfm
● Any status code
○ 404
○ 500
○ default
Brad Wood
Ortus Solutions
@bdw429s
{
"web":{
"errorpages":{
"404":"/missing.htm",
"500":"/sorry.htm"
}
}
}
FusionReactor
• CommandBox Module
• Downloads on demand (and caches)
• Uses onServerStart interceptor to load JVM args
• Set license to use for all servers
• commands
○ fr register
○ fr open
Brad Wood
Ortus Solutions
@bdw429s
CFConfig
● Import Config
● Export Config
● Diff Config
● Transfer Config
● Set/show Config
Brad Wood
Ortus Solutions
@bdw429s
CFConfig Engine Support
● Adobe 9
● Adobe 10
● Adobe 11
● Adobe 2016
● Adobe 2018
● Lucee 4
● Lucee 5
● Railo
Brad Wood
Ortus Solutions
@bdw429s
CFConfig CommandBox CLI
CFConfig Architecture
Brad Wood
Ortus Solutions
@bdw429s
CFConfig Service Layer
Base Adobe support
Base Lucee
support
2016 112018 45
Base Config Items
Property
Files
Password
encryption
JSON
Formatting
Semver
support
CLI Helper
Utilities
CFConfig Service
Server
Interceptors
CLI
Commands
10
CFConfig Architecture
● Over 200 separate config items supported
○ Datasources
○ Custom tags
○ Mail servers
○ Caches
○ Timeouts
○ Security settings
○ Anything in the Web Admin UI
Brad Wood
Ortus Solutions
@bdw429s
CFConfig Features
● Can read/write from/to
○ A JSON file
○ A CommandBox server
○ ANY server installation accessible via the file system
● The JSON file is engine/version agnostic!
○ Move settings from Lucee 4 to Adobe 11
○ Diff settings between Adobe 2016 and Adobe 11
Brad Wood
Ortus Solutions
@bdw429s
CFConfig Commands
● cfconfig set
● cfconfig show
● cfconfig export
● cfconfig import
● cfconfig transfer
● cfconfig diff
Brad Wood
Ortus Solutions
@bdw429s
CFConfig Commands
● cfconfig cache list / save / delete
● cfconfig cfmapping list / save / delete
● cfconfig datasource list / save / delete
● cfconfig mailserver list / save / delete
Brad Wood
Ortus Solutions
@bdw429s
CFConfig Commands
● Every setting can be viewed/set individually from the CLI
○ cfconfig show requestTimeout
○ cfconfig set requestTimeout=0,0,5,0
● Separate commands for “complex” settings
○ cfconfig datasource list
○ cfconfig datasource save …
○ cfconfig datasource delete …
Brad Wood
Ortus Solutions
@bdw429s
CFConfig Password Support
Brad Wood
Ortus Solutions
@bdw429s
● CF Admin passwords will transfer between like servers,
but not across engines (hashed)
● Mail server, datasource, and keystore passwords will
transfer anywhere! (decrypted and re-encrypted)
● Decryptable passwords are stored in JSON as plain text!!
○ More on how to avoid this later
CFConfig Interceptors
Brad Wood
Ortus Solutions
@bdw429s
● CommandBox server interceptors
○ Auto-import settings via JSON
■ .cfconfig.json file in webroot
■ Or specify a path in server.json
■ Or specify a path in `cfconfigfile` environment var
○ Auto-transfer previous settings on server upgrade
■ The original idea that sparked CFConfig!!
○ Auto-save settings on server stop
■ Disabled by default. Enable with config setting
CFConfig System Settings
Brad Wood
Ortus Solutions
@bdw429s
● System Settings
○ For portability
○ Can be different for user/environment
○ For Security
● Combination of JVM properties and OS Env vars
○ JVM props get precedence
● Placeholders can be used in CLI shell, box.json,
server.json and .cfconfig.json!
● Actually a core feature of CommandBox 3.7.0+
CFConfig System Settings
Brad Wood
Ortus Solutions
@bdw429s
● Placeholders look like this:
○ ${my.jvm.prop.name}
○ ${MY_OS_ENV_VAR}
● Supply Default like so:
○ ${HTTP_PORT:8080}
○ ${HTTP_HOST:127.0.0.1}
● Default default value is empty string
CFConfig System Settings
Brad Wood
Ortus Solutions
@bdw429s
● You need to quote them in JSON.
● The JSON is parsed first, then the system settings are
expanded
{
“name” : “myServer”,
“debug” : “${DEBUG_START:false}”,
“web” : {
“http” : {
“port” : “${HTTP_PORT:8080}”
}
}
}
CFConfig System Settings
Brad Wood
Ortus Solutions
@bdw429s
● Use them in your CFConfig JSON to externalize passwords
or settings
● More than one system setting can be expanded in a value
{
“adminPassword” : “${ADMIN_PASS}”,
“mySetting” : “text${foo}here${bar}too”
}
Environment Overrides
Brad Wood
Ortus Solutions
@bdw429s
● Environment variables whose names start with
“cfconfig_” are picked up automatically and stored
● Loaded AFTER .cfconfig.json
● Great for ad-hoc setting overrides
cfconfig_adminPassword=$uper$ecure
cfconfig_license=123abcEnterprise
cfconfig_flashRemotingEnable=false
CFConfig System Settings
Brad Wood
Ortus Solutions
@bdw429s
● Set in your local Operating System
● Set on your cloud deploy
○ Docker
○ Travis-CI
○ etc
● Use commandbox-dotenv!
○ “.env” file in the web root (git ignore it)
○ Loads properties into server automatically!
Case Study
Brad Wood
Ortus Solutions
@bdw429s
● Govt client needed to configure CF11 STIG on new servers
● Dozens of specific settings needed to be set in the CF admin
● Usually a manual process
● We created a JSON file to represent all the Govt CF11 STIG
lockdown settings
● Client is now able to script the import of all settings in a single
command with CFConfig
$> box cfconfig import STIG.json
Ortus Docker Images
Brad Wood
Ortus Solutions
@bdw429s
● Based on CommandBox
● Fully configurable via CFConfig
● Professionally supported via Ortus
● In use with multiple clients including the US Navy
● Built in URL Rewrites
● CF Admin automatically locked down
● Health check URIs for Docker Swarm
● Available on Docker Hub
$> docker pull ortussolutions/commandbox
Resources
Home page
https://www.ortussolutions.com/products/commandbox
Docs
https://cfconfig.ortusbooks.com/
Forum
https://groups.google.com/a/ortussolutions.com/forum/#!forum/commandbox
Issues
https://ortussolutions.atlassian.net/browse/CFCONFIG
Pull Requests!
https://github.com/Ortus-Solutions/cfconfig
https://github.com/Ortus-Solutions/commandbox-cfconfig
Brad Wood
Ortus Solutions
@bdw429s

Más contenido relacionado

La actualidad más candente

Cocoa + HTTP
Cocoa + HTTPCocoa + HTTP
Cocoa + HTTPrentzsch
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Serversupertom
 
Usint Charles Proxy to understand REST
Usint Charles Proxy to understand RESTUsint Charles Proxy to understand REST
Usint Charles Proxy to understand RESTAnatoliy Odukha
 
WebHDFS at King - May 2014 Hadoop MeetUp
WebHDFS at King - May 2014 Hadoop MeetUpWebHDFS at King - May 2014 Hadoop MeetUp
WebHDFS at King - May 2014 Hadoop MeetUphuguk
 
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg BrunoStackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg BrunoStackIQ
 
Integration with hdfs using WebDFS and NFS
Integration with hdfs using WebDFS and NFSIntegration with hdfs using WebDFS and NFS
Integration with hdfs using WebDFS and NFSChristophe Marchal
 
Introducing TokuMX: The Performance Engine for MongoDB (NYC.rb 2013-12-10)
Introducing TokuMX: The Performance Engine for MongoDB (NYC.rb 2013-12-10)Introducing TokuMX: The Performance Engine for MongoDB (NYC.rb 2013-12-10)
Introducing TokuMX: The Performance Engine for MongoDB (NYC.rb 2013-12-10)leifwalsh
 
HipHop VM: overclocking Symfony
HipHop VM: overclocking SymfonyHipHop VM: overclocking Symfony
HipHop VM: overclocking SymfonyVadim Borodavko
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & LuaKit Chan
 
CORS review
CORS reviewCORS review
CORS reviewEric Ahn
 
Cache hcm-topdev
Cache hcm-topdevCache hcm-topdev
Cache hcm-topdevThanh Chau
 
Deployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredDeployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredSarwar Javaid
 
Varnish Configuration Step by Step
Varnish Configuration Step by StepVarnish Configuration Step by Step
Varnish Configuration Step by StepKim Stefan Lindholm
 
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...LumoSpark
 

La actualidad más candente (20)

Cocoa + HTTP
Cocoa + HTTPCocoa + HTTP
Cocoa + HTTP
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
 
Usint Charles Proxy to understand REST
Usint Charles Proxy to understand RESTUsint Charles Proxy to understand REST
Usint Charles Proxy to understand REST
 
WebHDFS at King - May 2014 Hadoop MeetUp
WebHDFS at King - May 2014 Hadoop MeetUpWebHDFS at King - May 2014 Hadoop MeetUp
WebHDFS at King - May 2014 Hadoop MeetUp
 
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg BrunoStackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
 
Oscon 2010 - ATS
Oscon 2010 - ATSOscon 2010 - ATS
Oscon 2010 - ATS
 
Integration with hdfs using WebDFS and NFS
Integration with hdfs using WebDFS and NFSIntegration with hdfs using WebDFS and NFS
Integration with hdfs using WebDFS and NFS
 
Introducing TokuMX: The Performance Engine for MongoDB (NYC.rb 2013-12-10)
Introducing TokuMX: The Performance Engine for MongoDB (NYC.rb 2013-12-10)Introducing TokuMX: The Performance Engine for MongoDB (NYC.rb 2013-12-10)
Introducing TokuMX: The Performance Engine for MongoDB (NYC.rb 2013-12-10)
 
HipHop VM: overclocking Symfony
HipHop VM: overclocking SymfonyHipHop VM: overclocking Symfony
HipHop VM: overclocking Symfony
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & Lua
 
Fluentd and WebHDFS
Fluentd and WebHDFSFluentd and WebHDFS
Fluentd and WebHDFS
 
Velocity 2010 - ATS
Velocity 2010 - ATSVelocity 2010 - ATS
Velocity 2010 - ATS
 
CORS review
CORS reviewCORS review
CORS review
 
Cache hcm-topdev
Cache hcm-topdevCache hcm-topdev
Cache hcm-topdev
 
Deployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server requiredDeployment ibm connections - No Http Server required
Deployment ibm connections - No Http Server required
 
Varnish Configuration Step by Step
Varnish Configuration Step by StepVarnish Configuration Step by Step
Varnish Configuration Step by Step
 
HTTP/2 (2017)
HTTP/2 (2017)HTTP/2 (2017)
HTTP/2 (2017)
 
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...
How to turn any dynamic website into a static site | 24.01.2018 | Artem Danil...
 
Os Bunce
Os BunceOs Bunce
Os Bunce
 
Scaling PHP web apps
Scaling PHP web appsScaling PHP web apps
Scaling PHP web apps
 

Similar a Cf camp 2019 cfconfig - a new way to manage your cold-fusion engine config

Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxColdFusionConference
 
Itb2018 cf apps to dev to production with command box cf-config docker
Itb2018   cf apps to dev to production with command box cf-config dockerItb2018   cf apps to dev to production with command box cf-config docker
Itb2018 cf apps to dev to production with command box cf-config dockerOrtus Solutions, Corp
 
ITB2019 Scaling with CommandBox in Production! - Brad Wood
ITB2019 Scaling with CommandBox in Production! - Brad WoodITB2019 Scaling with CommandBox in Production! - Brad Wood
ITB2019 Scaling with CommandBox in Production! - Brad WoodOrtus Solutions, Corp
 
Debugging IBM Connections for the Impatient Admin - Social Connections VII
Debugging IBM Connections for the Impatient Admin - Social Connections VIIDebugging IBM Connections for the Impatient Admin - Social Connections VII
Debugging IBM Connections for the Impatient Admin - Social Connections VIIMartin Leyrer
 
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 20161049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016panagenda
 
Best And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM ConnectionsBest And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM ConnectionsLetsConnect
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Ortus Solutions, Corp
 
Brad Wood 5 command box modules you should be using
Brad Wood   5 command box modules you should be usingBrad Wood   5 command box modules you should be using
Brad Wood 5 command box modules you should be usingOrtus Solutions, Corp
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...Ortus Solutions, Corp
 
Soccnx10: Best and worst practices deploying IBM Connections
Soccnx10: Best and worst practices deploying IBM ConnectionsSoccnx10: Best and worst practices deploying IBM Connections
Soccnx10: Best and worst practices deploying IBM Connectionspanagenda
 
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdf
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdfDACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdf
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdfDNUG e.V.
 
Die ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratorenpanagenda
 
Apache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual HostingApache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual Hostingwebhostingguy
 

Similar a Cf camp 2019 cfconfig - a new way to manage your cold-fusion engine config (20)

Herding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandboxHerding cats managing ColdFusion servers with commandbox
Herding cats managing ColdFusion servers with commandbox
 
Itb2018 cf apps to dev to production with command box cf-config docker
Itb2018   cf apps to dev to production with command box cf-config dockerItb2018   cf apps to dev to production with command box cf-config docker
Itb2018 cf apps to dev to production with command box cf-config docker
 
ITB2019 Scaling with CommandBox in Production! - Brad Wood
ITB2019 Scaling with CommandBox in Production! - Brad WoodITB2019 Scaling with CommandBox in Production! - Brad Wood
ITB2019 Scaling with CommandBox in Production! - Brad Wood
 
Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI
 
Debugging IBM Connections for the Impatient Admin - Social Connections VII
Debugging IBM Connections for the Impatient Admin - Social Connections VIIDebugging IBM Connections for the Impatient Admin - Social Connections VII
Debugging IBM Connections for the Impatient Admin - Social Connections VII
 
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 20161049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
 
Best And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM ConnectionsBest And Worst Practices Deploying IBM Connections
Best And Worst Practices Deploying IBM Connections
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
 
Brad Wood 5 command box modules you should be using
Brad Wood   5 command box modules you should be usingBrad Wood   5 command box modules you should be using
Brad Wood 5 command box modules you should be using
 
eurobsd2013
eurobsd2013eurobsd2013
eurobsd2013
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
 
Ilf2013
Ilf2013Ilf2013
Ilf2013
 
Soccnx10: Best and worst practices deploying IBM Connections
Soccnx10: Best and worst practices deploying IBM ConnectionsSoccnx10: Best and worst practices deploying IBM Connections
Soccnx10: Best and worst practices deploying IBM Connections
 
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdf
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdfDACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdf
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdf
 
Die ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratoren
 
Apache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual HostingApache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual Hosting
 
Apache1.ppt
Apache1.pptApache1.ppt
Apache1.ppt
 
BSDCan2013
BSDCan2013BSDCan2013
BSDCan2013
 
Into The Box 2018 Ortus Keynote
Into The Box 2018 Ortus KeynoteInto The Box 2018 Ortus Keynote
Into The Box 2018 Ortus Keynote
 
Self 2013
Self 2013Self 2013
Self 2013
 

Más de Ortus Solutions, Corp

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionOrtus Solutions, Corp
 
Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Ortus Solutions, Corp
 
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfOrtus Solutions, Corp
 
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfOrtus Solutions, Corp
 
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfOrtus Solutions, Corp
 
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfOrtus Solutions, Corp
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfOrtus Solutions, Corp
 
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfOrtus Solutions, Corp
 
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdfITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdfOrtus Solutions, Corp
 
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdfITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdfOrtus Solutions, Corp
 
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdfITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdfOrtus Solutions, Corp
 
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdfITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdfOrtus Solutions, Corp
 
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfOrtus Solutions, Corp
 
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdfITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdfOrtus Solutions, Corp
 
ITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdfITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdfOrtus Solutions, Corp
 
Enterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfOrtus Solutions, Corp
 

Más de Ortus Solutions, Corp (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Ortus Government.pdf
Ortus Government.pdfOrtus Government.pdf
Ortus Government.pdf
 
Luis Majano The Battlefield ORM
Luis Majano The Battlefield ORMLuis Majano The Battlefield ORM
Luis Majano The Battlefield ORM
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusion
 
Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023
 
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
 
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
 
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
 
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
 
ITB_2023_CBWire_v3_Grant_Copley.pdf
ITB_2023_CBWire_v3_Grant_Copley.pdfITB_2023_CBWire_v3_Grant_Copley.pdf
ITB_2023_CBWire_v3_Grant_Copley.pdf
 
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdfITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
 
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdfITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
 
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdfITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
 
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdfITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
 
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
 
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdfITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
ITB_2023_Create_as_many_web_sites_or_web_apps_as_you_want_George_Murphy.pdf
 
ITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdfITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdf
 
Enterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdf
 

Último

Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Sherazi Tours
 
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday SafarisKibera Holiday Safaris Safaris
 
Hire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
Hire 💕 8617697112 Chamba Call Girls Service Call Girls AgencyHire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
Hire 💕 8617697112 Chamba Call Girls Service Call Girls AgencyNitya salvi
 
Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Sherazi Tours
 
ITALY - Visa Options for expats and digital nomads
ITALY - Visa Options for expats and digital nomadsITALY - Visa Options for expats and digital nomads
ITALY - Visa Options for expats and digital nomadsMarco Mazzeschi
 
Texas Tales Brenham and Amarillo Experiences Elevated by Find American Rental...
Texas Tales Brenham and Amarillo Experiences Elevated by Find American Rental...Texas Tales Brenham and Amarillo Experiences Elevated by Find American Rental...
Texas Tales Brenham and Amarillo Experiences Elevated by Find American Rental...Find American Rentals
 
High Profile 🔝 8250077686 📞 Call Girls Service in Siri Fort🍑
High Profile 🔝 8250077686 📞 Call Girls Service in Siri Fort🍑High Profile 🔝 8250077686 📞 Call Girls Service in Siri Fort🍑
High Profile 🔝 8250077686 📞 Call Girls Service in Siri Fort🍑Damini Dixit
 
Top 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxTop 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxdishha99
 
Genesis 1:6 || Meditate the Scripture daily verse by verse
Genesis 1:6  ||  Meditate the Scripture daily verse by verseGenesis 1:6  ||  Meditate the Scripture daily verse by verse
Genesis 1:6 || Meditate the Scripture daily verse by versemaricelcanoynuay
 
Hire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
Hire 💕 8617697112 Champawat Call Girls Service Call Girls AgencyHire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
Hire 💕 8617697112 Champawat Call Girls Service Call Girls AgencyNitya salvi
 
"Embark on the Ultimate Adventure: Top 10 Must-Visit Destinations for Thrill-...
"Embark on the Ultimate Adventure: Top 10 Must-Visit Destinations for Thrill-..."Embark on the Ultimate Adventure: Top 10 Must-Visit Destinations for Thrill-...
"Embark on the Ultimate Adventure: Top 10 Must-Visit Destinations for Thrill-...Ishwaholidays
 
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779Delhi Call girls
 
DARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxDARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxBeEducate
 
❤Personal Contact Number Varanasi Call Girls 8617697112💦✅.
❤Personal Contact Number Varanasi Call Girls 8617697112💦✅.❤Personal Contact Number Varanasi Call Girls 8617697112💦✅.
❤Personal Contact Number Varanasi Call Girls 8617697112💦✅.Nitya salvi
 
08448380779 Call Girls In Shahdara Women Seeking Men
08448380779 Call Girls In Shahdara Women Seeking Men08448380779 Call Girls In Shahdara Women Seeking Men
08448380779 Call Girls In Shahdara Women Seeking MenDelhi Call girls
 
A tour of African gastronomy - World Tourism Organization
A tour of African gastronomy - World Tourism OrganizationA tour of African gastronomy - World Tourism Organization
A tour of African gastronomy - World Tourism OrganizationJuan Carlos Fonseca Mata
 

Último (20)

Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236Visa Consultant in Lahore || 📞03094429236
Visa Consultant in Lahore || 📞03094429236
 
Rohini Sector 18 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 18 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 18 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 18 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
9 Days Kenya Ultimate Safari Odyssey with Kibera Holiday Safaris
 
Hire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
Hire 💕 8617697112 Chamba Call Girls Service Call Girls AgencyHire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
Hire 💕 8617697112 Chamba Call Girls Service Call Girls Agency
 
Discover Mathura And Vrindavan A Spritual Journey.pdf
Discover Mathura And Vrindavan A Spritual Journey.pdfDiscover Mathura And Vrindavan A Spritual Journey.pdf
Discover Mathura And Vrindavan A Spritual Journey.pdf
 
Call Girls Service !! New Friends Colony!! @9999965857 Delhi 🫦 No Advance VV...
Call Girls Service !! New Friends Colony!! @9999965857 Delhi 🫦 No Advance  VV...Call Girls Service !! New Friends Colony!! @9999965857 Delhi 🫦 No Advance  VV...
Call Girls Service !! New Friends Colony!! @9999965857 Delhi 🫦 No Advance VV...
 
Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236Study Consultants in Lahore || 📞03094429236
Study Consultants in Lahore || 📞03094429236
 
ITALY - Visa Options for expats and digital nomads
ITALY - Visa Options for expats and digital nomadsITALY - Visa Options for expats and digital nomads
ITALY - Visa Options for expats and digital nomads
 
Texas Tales Brenham and Amarillo Experiences Elevated by Find American Rental...
Texas Tales Brenham and Amarillo Experiences Elevated by Find American Rental...Texas Tales Brenham and Amarillo Experiences Elevated by Find American Rental...
Texas Tales Brenham and Amarillo Experiences Elevated by Find American Rental...
 
High Profile 🔝 8250077686 📞 Call Girls Service in Siri Fort🍑
High Profile 🔝 8250077686 📞 Call Girls Service in Siri Fort🍑High Profile 🔝 8250077686 📞 Call Girls Service in Siri Fort🍑
High Profile 🔝 8250077686 📞 Call Girls Service in Siri Fort🍑
 
Top 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptxTop 10 Traditional Indian Handicrafts.pptx
Top 10 Traditional Indian Handicrafts.pptx
 
Genesis 1:6 || Meditate the Scripture daily verse by verse
Genesis 1:6  ||  Meditate the Scripture daily verse by verseGenesis 1:6  ||  Meditate the Scripture daily verse by verse
Genesis 1:6 || Meditate the Scripture daily verse by verse
 
Hire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
Hire 💕 8617697112 Champawat Call Girls Service Call Girls AgencyHire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
Hire 💕 8617697112 Champawat Call Girls Service Call Girls Agency
 
"Embark on the Ultimate Adventure: Top 10 Must-Visit Destinations for Thrill-...
"Embark on the Ultimate Adventure: Top 10 Must-Visit Destinations for Thrill-..."Embark on the Ultimate Adventure: Top 10 Must-Visit Destinations for Thrill-...
"Embark on the Ultimate Adventure: Top 10 Must-Visit Destinations for Thrill-...
 
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
Night 7k Call Girls Noida Sector 93 Escorts Call Me: 8448380779
 
DARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda BuxDARK TRAVEL AGENCY presented by Khuda Bux
DARK TRAVEL AGENCY presented by Khuda Bux
 
❤Personal Contact Number Varanasi Call Girls 8617697112💦✅.
❤Personal Contact Number Varanasi Call Girls 8617697112💦✅.❤Personal Contact Number Varanasi Call Girls 8617697112💦✅.
❤Personal Contact Number Varanasi Call Girls 8617697112💦✅.
 
08448380779 Call Girls In Shahdara Women Seeking Men
08448380779 Call Girls In Shahdara Women Seeking Men08448380779 Call Girls In Shahdara Women Seeking Men
08448380779 Call Girls In Shahdara Women Seeking Men
 
A tour of African gastronomy - World Tourism Organization
A tour of African gastronomy - World Tourism OrganizationA tour of African gastronomy - World Tourism Organization
A tour of African gastronomy - World Tourism Organization
 
CYTOTEC DUBAI ☎️ +966572737505 } Abortion pills in Abu dhabi,get misoprostal ...
CYTOTEC DUBAI ☎️ +966572737505 } Abortion pills in Abu dhabi,get misoprostal ...CYTOTEC DUBAI ☎️ +966572737505 } Abortion pills in Abu dhabi,get misoprostal ...
CYTOTEC DUBAI ☎️ +966572737505 } Abortion pills in Abu dhabi,get misoprostal ...
 

Cf camp 2019 cfconfig - a new way to manage your cold-fusion engine config

  • 1. With CommandBox and CFConfig Managing CFML Servers
  • 2. About Me • ColdFusion Architect • Blogger (codersrevolution.com) • ColdBox Developer Advocate • CommandBox Lead Developer • Musician • Shade-Tree Mechanic • Husband • Dad Brad Wood Ortus Solutions @bdw429s
  • 3. About You Brad Wood Ortus Solutions @bdw429s
  • 4. What our friends think we do Brad Wood Ortus Solutions @bdw429s
  • 5. What our mom thinks we do Brad Wood Ortus Solutions @bdw429s
  • 6. What our coworkers think... Brad Wood Ortus Solutions @bdw429s
  • 7. What we really do Brad Wood Ortus Solutions @bdw429s
  • 8. Commandbox CLI • Command line tool • Runs CFML from the console ○ REPL ○ CFM execution ○ Custom Commands • Manages code libraries •Use as a build tool •Publish packages to ForgeBox •Start/stop/manage servers Brad Wood Ortus Solutions @bdw429s
  • 9. What is CommandBox? • Native binary ○ Windows ○ Mac ○ Linux • No installation •Small (~37MB) •Downloads CF engines on demand •Local artifacts •Free open source •Professionally supported •www.patreon.com/ortussolutions Brad Wood Ortus Solutions @bdw429s
  • 10. Start servers ● Params ○ port ○ SSLEnable ○ rewritesEnable ○ cfengine ○ heapSize ● Separate process for each server ● Start more than one Brad Wood Ortus Solutions @bdw429s > start > start port=8080 --rewritesEnabled > start heapSize=1024 --!openBrowser
  • 11. CF Engines ● Adobe ColdFusion ○ 9, 10, 11, 2016, 2018 ● Lucee, Railo ● All recent updates ● Custom Wars Brad Wood Ortus Solutions @bdw429s > start cfengine=adobe > start cfengine=adobe@11 > start cfengine=adobe@10.0.21+300068 > start cfengine=”adobe@>9 <=11” > start warPath=jenkins.war
  • 12. Configure Server • Ports/host ○ HTTP ○ HTTPS • Certs • Bind to host •JVM Settings •Built in support for heap size •Any other JVM args supported ○ Java agents ○ Debugger ○ System Properties Brad Wood Ortus Solutions @bdw429s
  • 13. server.json ● Persists all settings for starting a server ● Portable ● Created automatically ● Commands to manage ○ server set ○ server show ○ server clear Brad Wood Ortus Solutions @bdw429s { "name":"myServer", "app":{ "cfengine":"adobe@2016" }, "web":{ "http":{ "port":8000 }, "rewrites":{ "enable":true } }, "jvm":{ "heapsize":1024 } }
  • 14. Managing multiple servers • Named servers • Different server.json files • Listing & managing servers • Server info • Server cd Brad Wood Ortus Solutions @bdw429s
  • 15. Web aliases • Map web URL to any file system path • For static files or CFML • Set in server.json • Set in config setting server defaults Brad Wood Ortus Solutions @bdw429s { "web":{ "aliases":{ "/bar":"foo" } } }
  • 16. Custom error pages ● Customize responses for missing files ● Redirects to a file in the web root ● Can be static or .cfm ● Any status code ○ 404 ○ 500 ○ default Brad Wood Ortus Solutions @bdw429s { "web":{ "errorpages":{ "404":"/missing.htm", "500":"/sorry.htm" } } }
  • 17. FusionReactor • CommandBox Module • Downloads on demand (and caches) • Uses onServerStart interceptor to load JVM args • Set license to use for all servers • commands ○ fr register ○ fr open Brad Wood Ortus Solutions @bdw429s
  • 18. CFConfig ● Import Config ● Export Config ● Diff Config ● Transfer Config ● Set/show Config Brad Wood Ortus Solutions @bdw429s
  • 19. CFConfig Engine Support ● Adobe 9 ● Adobe 10 ● Adobe 11 ● Adobe 2016 ● Adobe 2018 ● Lucee 4 ● Lucee 5 ● Railo Brad Wood Ortus Solutions @bdw429s
  • 20. CFConfig CommandBox CLI CFConfig Architecture Brad Wood Ortus Solutions @bdw429s CFConfig Service Layer Base Adobe support Base Lucee support 2016 112018 45 Base Config Items Property Files Password encryption JSON Formatting Semver support CLI Helper Utilities CFConfig Service Server Interceptors CLI Commands 10
  • 21. CFConfig Architecture ● Over 200 separate config items supported ○ Datasources ○ Custom tags ○ Mail servers ○ Caches ○ Timeouts ○ Security settings ○ Anything in the Web Admin UI Brad Wood Ortus Solutions @bdw429s
  • 22. CFConfig Features ● Can read/write from/to ○ A JSON file ○ A CommandBox server ○ ANY server installation accessible via the file system ● The JSON file is engine/version agnostic! ○ Move settings from Lucee 4 to Adobe 11 ○ Diff settings between Adobe 2016 and Adobe 11 Brad Wood Ortus Solutions @bdw429s
  • 23. CFConfig Commands ● cfconfig set ● cfconfig show ● cfconfig export ● cfconfig import ● cfconfig transfer ● cfconfig diff Brad Wood Ortus Solutions @bdw429s
  • 24. CFConfig Commands ● cfconfig cache list / save / delete ● cfconfig cfmapping list / save / delete ● cfconfig datasource list / save / delete ● cfconfig mailserver list / save / delete Brad Wood Ortus Solutions @bdw429s
  • 25. CFConfig Commands ● Every setting can be viewed/set individually from the CLI ○ cfconfig show requestTimeout ○ cfconfig set requestTimeout=0,0,5,0 ● Separate commands for “complex” settings ○ cfconfig datasource list ○ cfconfig datasource save … ○ cfconfig datasource delete … Brad Wood Ortus Solutions @bdw429s
  • 26. CFConfig Password Support Brad Wood Ortus Solutions @bdw429s ● CF Admin passwords will transfer between like servers, but not across engines (hashed) ● Mail server, datasource, and keystore passwords will transfer anywhere! (decrypted and re-encrypted) ● Decryptable passwords are stored in JSON as plain text!! ○ More on how to avoid this later
  • 27. CFConfig Interceptors Brad Wood Ortus Solutions @bdw429s ● CommandBox server interceptors ○ Auto-import settings via JSON ■ .cfconfig.json file in webroot ■ Or specify a path in server.json ■ Or specify a path in `cfconfigfile` environment var ○ Auto-transfer previous settings on server upgrade ■ The original idea that sparked CFConfig!! ○ Auto-save settings on server stop ■ Disabled by default. Enable with config setting
  • 28. CFConfig System Settings Brad Wood Ortus Solutions @bdw429s ● System Settings ○ For portability ○ Can be different for user/environment ○ For Security ● Combination of JVM properties and OS Env vars ○ JVM props get precedence ● Placeholders can be used in CLI shell, box.json, server.json and .cfconfig.json! ● Actually a core feature of CommandBox 3.7.0+
  • 29. CFConfig System Settings Brad Wood Ortus Solutions @bdw429s ● Placeholders look like this: ○ ${my.jvm.prop.name} ○ ${MY_OS_ENV_VAR} ● Supply Default like so: ○ ${HTTP_PORT:8080} ○ ${HTTP_HOST:127.0.0.1} ● Default default value is empty string
  • 30. CFConfig System Settings Brad Wood Ortus Solutions @bdw429s ● You need to quote them in JSON. ● The JSON is parsed first, then the system settings are expanded { “name” : “myServer”, “debug” : “${DEBUG_START:false}”, “web” : { “http” : { “port” : “${HTTP_PORT:8080}” } } }
  • 31. CFConfig System Settings Brad Wood Ortus Solutions @bdw429s ● Use them in your CFConfig JSON to externalize passwords or settings ● More than one system setting can be expanded in a value { “adminPassword” : “${ADMIN_PASS}”, “mySetting” : “text${foo}here${bar}too” }
  • 32. Environment Overrides Brad Wood Ortus Solutions @bdw429s ● Environment variables whose names start with “cfconfig_” are picked up automatically and stored ● Loaded AFTER .cfconfig.json ● Great for ad-hoc setting overrides cfconfig_adminPassword=$uper$ecure cfconfig_license=123abcEnterprise cfconfig_flashRemotingEnable=false
  • 33. CFConfig System Settings Brad Wood Ortus Solutions @bdw429s ● Set in your local Operating System ● Set on your cloud deploy ○ Docker ○ Travis-CI ○ etc ● Use commandbox-dotenv! ○ “.env” file in the web root (git ignore it) ○ Loads properties into server automatically!
  • 34. Case Study Brad Wood Ortus Solutions @bdw429s ● Govt client needed to configure CF11 STIG on new servers ● Dozens of specific settings needed to be set in the CF admin ● Usually a manual process ● We created a JSON file to represent all the Govt CF11 STIG lockdown settings ● Client is now able to script the import of all settings in a single command with CFConfig $> box cfconfig import STIG.json
  • 35. Ortus Docker Images Brad Wood Ortus Solutions @bdw429s ● Based on CommandBox ● Fully configurable via CFConfig ● Professionally supported via Ortus ● In use with multiple clients including the US Navy ● Built in URL Rewrites ● CF Admin automatically locked down ● Health check URIs for Docker Swarm ● Available on Docker Hub $> docker pull ortussolutions/commandbox