4 Commits

Author SHA1 Message Date
27a1ec6d2c chore(release): v0.4.1 2026-02-26 17:45:58 -05:00
1b1f9a31ed feat: add -L to docker cp 2026-02-26 17:45:28 -05:00
e5eddb39f7 chore(release): v0.4.0 2026-02-24 08:53:28 -05:00
2000204250 feat: update default service names 2026-02-24 08:52:08 -05:00
8 changed files with 9 additions and 10 deletions

2
Cargo.lock generated
View File

@@ -4,7 +4,7 @@ version = 4
[[package]]
name = "ahab"
version = "0.3.2"
version = "0.4.1"
dependencies = [
"anyhow",
"clap",

View File

@@ -2,7 +2,7 @@
name = "ahab"
description = "docker cli wrapper"
readme = "README.md"
version = "0.3.2"
version = "0.4.1"
edition = "2021"
license = "MIT"
authors = ["Matej Janežič <janezic.mj@gmail.com>"]

View File

@@ -21,5 +21,5 @@ Completion files are generated **during build process** in `target/*/build/*/out
Currently `ahab` respects three environment variables.
- `COMPOSE_FILE`: control which docker-compose file is used - defaults to `docker/local/docker-compose.yaml`
- `AHAB_DJANGO_CONTAINER`: control which compose service is used for sending django commands - defaults to `appserver`
- `AHAB_POSTGRES_CONTAINER`: control which compose service is used for sending postgres commands - defaults to `postgresdb`
- `AHAB_DJANGO_CONTAINER`: control which compose service is used for sending django commands - defaults to `django`
- `AHAB_POSTGRES_CONTAINER`: control which compose service is used for sending postgres commands - defaults to `db`

View File

@@ -20,7 +20,7 @@ pub enum DockerCompose {
rest: Vec<String>,
},
/// Print services
/// Print services
Ps,
/// Stop, build and start containers.

View File

@@ -34,8 +34,7 @@ fn main() -> Result<()> {
cli::Django::Test => scripts::django::test(),
},
cli::Commands::Postgres { command } => {
let db_container =
std::env::var("AHAB_POSTGRES_CONTAINER").unwrap_or("postgresdb".to_string());
let db_container = std::env::var("AHAB_POSTGRES_CONTAINER").unwrap_or("db".to_string());
match command {
cli::Postgres::Import { path } => scripts::postgres::import(&db_container, &path),
cli::Postgres::Dump { path } => scripts::postgres::dump(&db_container, &path),

View File

@@ -55,7 +55,7 @@ pub fn make_command(app: &PathBuf, name: &str) -> Result<()> {
}
pub fn manage(rest: &[String]) -> Result<()> {
let container = env::var("AHAB_DJANGO_CONTAINER").unwrap_or("appserver".to_string());
let container = env::var("AHAB_DJANGO_CONTAINER").unwrap_or("django".to_string());
let joined = rest.join(" ");
let command = format!("run --rm {container} python manage.py {joined}");
CommandBuilder::docker_compose().args(&command).exec()

View File

@@ -12,7 +12,7 @@ pub fn down() -> Result<()> {
}
pub fn exec(rest: &[String]) -> Result<()> {
let container = std::env::var("AHAB_DJANGO_CONTAINER").unwrap_or("appserver".to_string());
let container = std::env::var("AHAB_DJANGO_CONTAINER").unwrap_or("django".to_string());
CommandBuilder::docker_compose()
.args("exec")
.args(&container)

View File

@@ -48,7 +48,7 @@ pub fn import(container: &str, file: &Path) -> Result<()> {
eprintln!("restoring database");
let commands = [
format!("cp {dump_file} {db_container}:/tmp/dbdump"),
format!("cp -L {dump_file} {db_container}:/tmp/dbdump"),
format!("exec {db_container} dropdb -U db db"),
format!("exec {db_container} createdb -U db -E utf8 -T template0 db"),
format!("exec {db_container} pg_restore -U db --dbname=db /tmp/dbdump"),