Atlas v0.3.7 is a patch release that includes many small improvements to both the Atlas CLI and the Management UI.
This version introduces several new features:
Persistent storage encryption
In this version, we enabled encryption of sensitive fields when using atlas serve
against a persistent storage. Atlas uses tink, a battle-tested encryption library created at Google, to encrypt information.
Following recommendations from the developers of tink, Atlas uses AEAD encryption with an AES256_GCM type key.
Docker image
Following requests from the community and to enable easier deployment of Atlas to your team's cloud account, starting from this version on, an official Atlas image is available on DockerHub.
The image is based on Distroless, a bare-bones base Docker image for improved security and smaller download size.
To get the Atlas CLI with management UI image, run from the command line:
# latest
docker pull arigaio/atlas:latest
# tagged version
docker pull arigaio/altas:0.3.7
To run Atlas in serve
mode against persistent storage using Docker:
# mount the encryption key to persist it between runs, note that is an example for macOS.
docker run -v $HOME/.atlas/keyset.json:/root/.atlas/keyset.json -p 5800:5800 arigaio/atlas serve --storage "mysql://root:pass@host.docker.internal:3306/atlas"
In addition, we've enhanced the "Activity & History" view with a brand new design and some minor UI fixes.
Changelog:
- Persistent storage encryption by @yonidavidson
- New Activity & History by @elad-n & @rotemtam
- Docker image by @zeevmoney
Installation
MacOS
curl -LO https://release.ariga.io/atlas/atlas-darwin-amd64-v0.3.7
chmod +x ./atlas-darwin-amd64-v0.3.7
sudo mv ./atlas-darwin-amd64-v0.3.7 /usr/local/bin/atlas
sudo chown root: /usr/local/bin/atlas
Linux
curl -LO https://release.ariga.io/atlas/atlas-linux-amd64-v0.3.7
sudo install -o root -g root -m 0755 ./atlas-linux-amd64-v0.3.7 /usr/local/bin/atlas
Windows
Docker
docker pull arigaio/atlas:0.3.7
docker run -p 5800:5800 arigaio/atlas:0.3.7
What's Changed
- sql/postgres: fix statements generation when IfExists/IfNotExists is used by @a8m in #601
- sql/postgres: support capital tables by @kinggor1010 in #600
- sql/TiDB: break down alter statements by @hedwigz in #596
- sql: add twin-driver and support postgres normalize by @a8m in #602
- cmd/atlas: rename dsn to url by @a8m in #605
- sql/tidb: add more integration tests by @hedwigz in #603
- sql/sqlx: replace md5 hash and run gosec on ci by @hedwigz in #607
- cmd/atlas: add support for simple mysql url format by @a8m in #608
- doc/md: improve url doc by adding examples by @a8m in #609
- cmd/atlas: introduce the dev-url to apply command by @a8m in #611
- internal/integration: enable schema normalization in script tests by @a8m in #612
- cmd/action: make env command public by @zeevmoney in #613
- sql/mysql: fix mysql information_schema escaping by @a8m in #615
- sql/migrate: (BC) read from state from migration directory instead of an extra state reader by @masseelch in #616
- cmd/atlas: add atlas serve docs by @yonidavidson in #618
- sql/internal/sqlx: rename TwinDriver to DevDriver by @a8m in #617
- serving docs part 2 by @yonidavidson in #619
- sql/mysql: support index expressions by @a8m in #620
- sql: remove dead code by @a8m in #621
- sql/postgres: support index expressions by @a8m in #622
- Update docusaurus.config.js by @a8m in #628
- cmd/action: change defualt listen address to work on all cases by @zeevmoney in #627
- Default value of string like field can be empty string
""
or"null"
by @fishead in #626 - sql/sqlite: initial support for index expression scanning by @a8m in #629
- sql: use smarter approach to ensure expressions are wrapped by @a8m in #630
- sql/sqlite: add support for index expressions on migrate by @a8m in #631
- sql/migrate: add hash integrity file by @masseelch in #624
- cmd/action: use cobra context to cancel operations on interrupt / kill by @masseelch in #632
- sql/internal/specutil: fix empty ondelete or onupdate in fk by @zeevmoney in #633
New Contributors
- @kinggor1010 made their first contribution in #600
- @fishead made their first contribution in #626
Full Changelog: v0.3.6...v0.3.7