Skip to content

Spotty 1.3.0

Compare
Choose a tag to compare
@apls777 apls777 released this 25 Oct 09:55
· 15 commits to master since this release
  • Massive code refactoring.
  • AWS and GCP instances are on-demand by default. To run a spot instance use the spotInstance: true parameter for AWS and preemptibleInstance: true for GCP.
  • AWS EC2 volumes and GCP disks are retained by default.
  • Changes for the spotty run command:
    • It syncs the project with the instance before running a script (the -S, --sync flag was replaced with the --no-sync flag).
    • Added support for custom arguments. They can be provided to the script after the double-dash ("--") argument.
    • Scripts now support shebang (!#) to use custom interpreters.
    • The "restart" flag was removed as it doesn't work well with the "docker exec" process.
  • Added the spotty exec command to execute custom commands in the container (for example, to run python scripts in the container with PyCharm).
  • Added the -C flag to the spotty start command to start or restart a container without restarting the instance itself.
  • Added the instanceProfileArn parameter to specify custom instance profiles for AWS instances (@tsdalton, #42).
  • Nitro-based instances support (#64, #66).
  • Added support for multiple container configurations in the spotty.yaml file (#44).
  • Container configuration supports custom environmental variables.
  • cfn-init logs automatically downloaded to the local machine if the instance failed to start (#52, #44, #48).
  • Added support for the spotty.override.yaml file. It overrides the values of the main spotty.yaml file and supposed to be added to the .gitignore file.
  • Added the "local" provider to build and run docker containers locally.
  • Added the "remote" provider to run containers on any accessible via SSH machine with the Docker installed.
  • spotty ssh command was renamed to spotty sh as it didn't make sense for the "local" provider and also it's shorter.
  • ports parameter was moved from the container config to the instance config.
  • Disabled the host network mode by default as it doesn't work on macOS (added the ports parameter to the container configuration to publish specific ports to the host OS).
  • GCP provider uses the "common-gce-gpu-image" image as a base image by default.
  • Dropped support for the custom AWS AMI and the custom GCP image.
  • Added the runAsHostUser parameter to run containers as a host user.
  • Added the -u flag to spotty run and spotty sh commands to connect to the container as a root user.