a8b21575ff
enables using [docker compose secrets](https://docs.docker.com/compose/use-secrets/) from arion, which includes: - [top-level `secrets` element](https://docs.docker.com/compose/compose-file/09-secrets/) defining the secrets to be used for the below two use-cases, exposing them at `/run/secrets/<secret_name>`. comes in flavors `file` vs `environment`. - run-time: [`services` top-level `secrets` element](https://docs.docker.com/compose/compose-file/05-services/#secrets) - build time: [build secrets](https://docs.docker.com/build/building/secrets/) (to be [mounted](https://docs.docker.com/build/building/secrets/#secret-mounts) in the `Dockerfile` like `RUN --mount=type=secret,id=<secret_name> ...`) unlike #52, i did not so far add support for their [long syntax](https://docs.docker.com/compose/compose-file/05-services/#long-syntax-4), which despite the confusing documentation appears [limited to Docker Swarm](https://github.com/docker/compose/issues/9648#issuecomment-1380290233), in my understanding limiting its use in Arion.
91 lines
3 KiB
Text
91 lines
3 KiB
Text
cabal-version: 2.4
|
|
|
|
name: arion-compose
|
|
version: 0.2.1.0
|
|
synopsis: Run docker-compose with help from Nix/NixOS
|
|
description: Arion is a tool for building and running applications that consist of multiple docker containers using NixOS modules. It has special support for docker images that are built with Nix, for a smooth development experience and improved performance.
|
|
homepage: https://github.com/hercules-ci/arion#readme
|
|
-- bug-reports:
|
|
license: Apache-2.0
|
|
license-file: LICENSE
|
|
author: Robert Hensing
|
|
maintainer: robert@hercules-ci.com
|
|
-- copyright:
|
|
category: Distribution, Network, Cloud, Distributed Computing
|
|
extra-source-files: CHANGELOG.md, README.asciidoc,
|
|
src/haskell/testdata/**/*.nix
|
|
src/haskell/testdata/**/*.json
|
|
data-files: nix/*.nix
|
|
, nix/modules/composition/*.nix
|
|
, nix/modules/networks/*.nix
|
|
, nix/modules/nixos/*.nix
|
|
, nix/modules/secrets/*.nix
|
|
, nix/modules/service/*.nix
|
|
, nix/modules/lib/*.nix
|
|
|
|
-- all data is verbatim from some sources
|
|
data-dir: src
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/hercules-ci/arion
|
|
|
|
common common
|
|
build-depends: base >=4.12.0.0 && <4.99
|
|
, aeson >=2
|
|
, aeson-pretty
|
|
, async
|
|
, bytestring
|
|
, directory
|
|
, lens
|
|
, lens-aeson
|
|
, process
|
|
, temporary
|
|
, text
|
|
, protolude >= 0.2
|
|
, unix
|
|
ghc-options: -Wall
|
|
|
|
flag ghci
|
|
default: False
|
|
manual: True
|
|
|
|
library
|
|
import: common
|
|
exposed-modules: Arion.Nix
|
|
Arion.Aeson
|
|
Arion.DockerCompose
|
|
Arion.ExtendedInfo
|
|
Arion.Images
|
|
Arion.Services
|
|
other-modules: Paths_arion_compose
|
|
autogen-modules: Paths_arion_compose
|
|
-- other-extensions:
|
|
hs-source-dirs: src/haskell/lib
|
|
default-language: Haskell2010
|
|
|
|
executable arion
|
|
import: common
|
|
main-is: Main.hs
|
|
-- other-modules:
|
|
-- other-extensions:
|
|
build-depends: optparse-applicative
|
|
, arion-compose
|
|
hs-source-dirs: src/haskell/exe
|
|
default-language: Haskell2010
|
|
|
|
test-suite arion-unit-tests
|
|
import: common
|
|
if flag(ghci)
|
|
hs-source-dirs: src/haskell/lib
|
|
ghc-options: -Wno-missing-home-modules
|
|
type: exitcode-stdio-1.0
|
|
main-is: TestMain.hs
|
|
other-modules: Spec
|
|
, Arion.NixSpec
|
|
-- other-extensions:
|
|
build-depends: arion-compose
|
|
, hspec
|
|
, QuickCheck
|
|
hs-source-dirs: src/haskell/test
|
|
default-language: Haskell2010
|