What is Antithesis? How we’re different Security approach Demo Problems we solve Case studies Working with Antithesis Contact us Backstory Leadership Careers Brand

Deploy to Antithesis

Now that you’ve added a test template and enabled your software to tell Antithesis to begin fault injection, you’re ready to deploy to the Antithesis environment for testing!

8. Building a configuration image

Once you have everything working locally, you’ll need to package your configuration directory as well. Since you’re already going to be sending us a bunch of container images, the easiest thing to do is to create one more container image to hold the contents of the configuration directory, which we call the “configuration image”.

A Dockerfile that copies the configuration files and adds the directories into a scratch image is generally sufficient:

FROM scratch
COPY config/docker-compose.yaml /docker-compose.yaml
ADD config/license /license

9. Push your containers

In response to your initial outreach, we will have configured a container registry for you and sent you a credential file $TENANT_NAME.key.json.

To authenticate to your container registry, run the following command:

$ cat $TENANT_NAME.key.json | docker login -u _json_key https://us-central1-docker.pkg.dev --password-stdin

Now you’re locally authenticated to the registry, and can run all other docker commands as normal.

Push your containers and config image to: us-central1-docker.pkg.dev/molten-verve-216720/$TENANT_NAME-repository/

For example, if your local image is named app, you would tag and push it as follows:

$ docker tag app us-central1-docker.pkg.dev/molten-verve-216720/$TENANT_NAME-repository/app
$ docker push us-central1-docker.pkg.dev/molten-verve-216720/$TENANT_NAME-repository/app

Note that this will cause docker to automatically apply the latest tag. The tag command reassigns the registry without actually pushing yet; the file is still local.

You now have basic integration with Antithesis and are ready to run your first test!

  • Introduction
  • How Antithesis Works
  • Getting started
  • Package your software
  • Make it go
  • Deploy to Antithesis
  • 8. Building a configuration image
  • 9. Push your containers
  • Launch a test run
  • User manual
  • Properties and Assertions
  • Properties in Antithesis
  • Assertions in Antithesis
  • Properties to Test For
  • Sometimes Assertions
  • Test Composer
  • Test Composer Basics
  • Test Composer Reference
  • Principles of Test Composition
  • Checking Test Templates Locally
  • Webhooks
  • Launching a test
  • Retrieving logs
  • Launching a debugging session
  • Webhook API
  • Reports
  • Triage report
  • Bug report
  • Multiverse debugging
  • Overview
  • Exploring the multiverse
  • Querying with event sets
  • The Environment and its utilities
  • Using the Antithesis Notebook
  • Cookbook
  • The Environment and Multiverse
  • The Antithesis Environment
  • Fault Injection
  • CPUID
  • Reference
  • Handling External Dependencies
  • SDK reference
  • Go
  • Tutorial
  • Instrumentor
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Java
  • Tutorial
  • Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • C
  • C++
  • Tutorial
  • C/C++ Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • JavaScript
  • Python
  • Tutorial
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • Rust
  • Tutorial
  • Instrumentation
  • Assert (reference)
  • Lifecycle (reference)
  • Random (reference)
  • .NET
  • Languages not listed above
  • Assert (reference)
  • Lifecycle (reference)
  • Tooling integrations
  • CI integration
  • Discord and Slack integrations
  • Configuring Antithesis
  • Instrumentation
  • User management
  • Sizing your deployment
  • Best practices
  • Is Antithesis working?
  • Optimizing for Antithesis
  • Finding more bugs
  • FAQ
  • About Antithesis POCs
  • Release notes
  • Release notes