Sign inSign up

cisagov/admiral

By cisagov

•Updated 25 days ago

Docker components for the dreaded Rear Admiral

Image
0

10K+

cisagov/admiral repository overview

⁠admiral-docker 💀🐳

GitHub Build Status License CodeQL

⁠Docker Image

Docker Pulls Docker Image Size (latest by date) Platforms

This Docker project serves as the vessel for certificate transparency scanning performed by the admiral Python library⁠.

⁠Running

⁠Running with Docker Compose
  1. Change the credentials in secrets

  2. Choose configuration options for admiral.yml

  3. Start the container and detach:

    docker compose up --detach
    

⁠Monitoring

The following web services are started for monitoring the underlying components:

⁠Using secrets

This composition passes credentials and configuration options via Docker secrets⁠. You need to modify the files listed in the secrets⁠ section below. To prevent yourself from inadvertently committing sensitive values to the repository, run git update-index --assume-unchanged src/secrets/*.

⁠Updating your container

⁠Docker Compose
  1. Pull the new image from Docker Hub:

    docker compose pull
    
  2. Recreate the running container by following the previous instructions⁠:

    docker compose up --detach
    

⁠Updating Python dependencies

This image uses [Pipenv] to manage Python dependencies using a Pipfile⁠. Both updating dependencies and changing the [Pipenv] configuration in src/Pipfile will result in a modified src/Pipfile.lock file that should be committed to the repository.

⁠Updating dependencies

If you want to update existing dependencies you would run the following command in the src/ subdirectory:

pipenv lock
⁠Modifying dependencies

If you want to add or remove dependencies you would update the src/Pipfile file and then update dependencies as you would above.

Note

You should only specify packages that are direct requirements of your Docker configuration. Allow [Pipenv] to manage the dependencies of the specified packages.

⁠Image tags

The images of this container are tagged with semantic versions⁠ of the admiral⁠ Python library that they containerize. It is recommended that most users use a version tag (e.g. :3.0.0).

Image:tagDescription
cisagov/admiral:3.0.0An exact release version.
cisagov/admiral:3.0The most recent release matching the major and minor version numbers.
cisagov/admiral:3The most recent release matching the major version number.
cisagov/admiral:edgeThe most recent image built from a merge into the develop branch of this repository.
cisagov/admiral:nightlyA nightly build of the develop branch of this repository.
cisagov/admiral:latestThe most recent release image pushed to a container registry. Pulling an image using the :latest tag should be avoided.⁠

See the tags tab⁠ on Docker Hub for a list of all the supported tags.

⁠Volumes

Mount pointPurpose
mongo-init.jsStores the initialization script for MongoDB

⁠Ports

The following ports are exposed by this container:

PortPurpose
5555Celery Flower
6379Redis
8081Redis Commander
8083Mongo Express

⁠Environment variables

⁠Required

There are no required environment variables.

⁠Optional
NamePurposeDefault
ADMIRAL_CONFIG_FILECelery configurationadmiral.yml
ADMIRAL_CONFIG_SECTIONConfiguration section to usedev-mode
ADMIRAL_WORKER_NAMEWorker namesdev
CISA_HOMEHome folder/home/cisa
CISA_GROUPGroup identifiercisa

⁠Secrets

FilenamePurpose
admiral.ymlCelery configuration
mongo.ymlMongoDB configuration
mongo-root-passwd.txtMongoDB root password
redis.confRedis configuration
sslmate-api-key.txtAPI key for SSLMate's Certificate Transparency Search API

⁠Building from source

Build the image locally using this git repository as the build context⁠:

docker build \
  --build-arg VERSION=3.0.0 \
  --tag cisagov/admiral:3.0.0 \
  https://github.com/cisagov/admiral-docker.git#develop

⁠Cross-platform builds

To create images that are compatible with other platforms, you can use the buildx⁠ feature of Docker:

  1. Copy the project to your machine using the Code button above or the command line:

    git clone https://github.com/cisagov/admiral-docker.git
    cd example
    
  2. Create the Dockerfile-x file with buildx platform support:

    ./buildx-dockerfile.sh
    
  3. Build the image using buildx:

    docker buildx build \
      --file Dockerfile-x \
      --platform linux/amd64 \
      --build-arg VERSION=3.0.0 \
      --output type=docker \
      --tag cisagov/admiral:3.0.0 .
    

⁠Contributing

We welcome contributions! Please see CONTRIBUTING.md⁠ for details.

⁠License

This project is in the worldwide public domain⁠.

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication⁠.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

Tag summary

Content type

Image

Digest

sha256:5b0c6f3bb…

Size

136 MB

Last updated

25 days ago

docker pull cisagov/admiral:sha-9daf2e4