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!