Skip to main content
Version: 8.8.x

Operations Specification (ops-spec.json)

Several third-party dependencies are required to build and deploy the Self-Managed Commerce source code. These are documented in Supported Technologies. However, rather than hard-coding these dependencies into operations tooling, the Self-Managed 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: An MD5 checksum of the downloaded file for tamper verification. (Deprecated; tooling uses downloadChecksumWithAlgorithm going forward.)
    • downloadChecksumWithAlgorithm: A checksum of the downloaded file for tamper verification in <algorithm>:<checksum> format. Supported algorithms: sha256, md5, sha1, sha224, sha384, sha512.
    • 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: An MD5 checksum of the downloaded file for tamper verification. (Deprecated; tooling uses downloadChecksumWithAlgorithm going forward.)
    • downloadChecksumWithAlgorithm: A checksum of the downloaded file for tamper verification in <algorithm>:<checksum> format. Supported algorithms: sha256, md5, sha1, sha224, sha384, sha512.
    • 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: An MD5 checksum of the downloaded file for tamper verification. (Deprecated; tooling uses downloadChecksumWithAlgorithm going forward.)
    • downloadChecksumWithAlgorithm: A checksum of the downloaded file for tamper verification in <algorithm>:<checksum> format. Supported algorithms: sha256, md5, sha1, sha224, sha384, sha512.
  • activemq
    • version: The ActiveMQ version required at runtime.
    • downloadUrl: The URL to download a tar gunzip archive of ActiveMQ.
    • downloadChecksum: An MD5 checksum of the downloaded file for tamper verification. (Deprecated; tooling uses downloadChecksumWithAlgorithm going forward.)
    • downloadChecksumWithAlgorithm: A checksum of the downloaded file for tamper verification in <algorithm>:<checksum> format. Supported algorithms: sha256, md5, sha1, sha224, sha384, sha512.
    • jvmRuntimeArguments: The JVM arguments that should be passed to the ActiveMQ broker at runtime.
  • databases
    • Array of database options with the following structure:
      • id: A unique identifier for the database option.
      • type: The database type; usually mysql, postgresql, or oracle.
      • deployment: The AWS deployment option; usually rds or aurora.
      • 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.
      • version: The full version of the database that is supported by Self-Managed Commerce.
      • 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.
  • 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 the ep-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.