Operations Specification (ops-spec.json)
Several third-party dependencies are required to build and deploy the Elastic Path Commerce source code. These are documented in Supported Technologies. However, rather than hard-coding these dependencies into operations tooling, the Elastic Path Commerce source provides a machine-readable file with these details for use by build and deployment tools, such as CloudOps for Kubernetes.
File Specification
The machine-readable operations specification file is in JSON
format. It has the following structure:
java
version
: The Java version required for builds and at runtime.downloadUrl
: The URL to download a Linux x86 64-bit module of the Azul Zulu JDK.downloadChecksum
: A SHA1 checksum of the downloaded file for tamper verification.path
: The expected path to the JDK once the module is installed.jvmRuntimeArguments
: The JVM arguments that should be passed to the application server at runtime.
maven
version
: The Maven version required for builds.downloadUrl
: The URL to download a tar gunzip archive of Maven.downloadChecksum
: A SHA1 checksum of the downloaded file for tamper verification.path
: The expected path contained within the tar archive.
applicationServer
version
: The Tomcat version required at runtime.downloadUrl
: The URL to download a tar gunzip archive of Tomcat.downloadChecksum
: A SHA1 checksum of the downloaded file for tamper verification.
activemq
version
: The ActiveMQ version required at runtime.downloadUrl
: The URL to download a tar gunzip archive of ActiveMQ.downloadChecksum
: A SHA1 checksum of the downloaded file for tamper verification.
databases
- Array of database options with the following structure:
id
: A unique identifier for the database option.type
: The database type; usuallymysql
,postgresql
, ororacle
.deployment
: The AWS deployment option; usuallyrds
oraurora
.versionChoice
: The database version choice for the user. Not a complete version specification; just what is needed to provide the user with a version choice.mavenProfile
: The Maven profile to pass to the build for using this database in a development environment.awsDbEngine
: The database engine version supported by the AWS. The parameter value must be accurate per AWS documentation. See the "EngineVersion" section of AWS::RDS::DBInstance.
- Array of database options with the following structure:
healthchecks
readinessPath
: The path to the health check readiness endpoint for an Elastic Path web app.livenessPath
: The path to the health check liveness endpoint for an Elastic Path web app.
Availability
The ops-spec.json
file can be accessed from two locations:
- In the
devops/ops-spec/src/main/resources/ops-spec.json
file in theep-commerce
source code repository, and is the primary instance. - A copy of the above file is put into
ops-spec.json
in the root of the deployment package at build time.