packages feed

salmon-ops-recipes-0.1.0.0: salmon-ops-recipes.cabal

cabal-version:      2.4
name:               salmon-ops-recipes
version:            0.1.0.0
synopsis:           Opinionated recipes built from Salmon builtins.
description:        Higher-level recipes (postgres migrations, postgres primary/standby pairs, micro DNS, ...) composed from salmon-ops builtins.
homepage:           https://lucasdicioccio.github.io/salmon/
bug-reports:        https://github.com/lucasdicioccio/salmon/issues
license:            BSD-3-Clause
license-file:       LICENSE
author:             Lucas DiCioccio
maintainer:         lucas@dicioccio.fr
copyright:          2022-2026 Lucas DiCioccio
category:           Development
build-type:         Simple
tested-with:        GHC == 9.10.3
extra-doc-files:    CHANGELOG.md

source-repository head
    type:     git
    location: https://github.com/lucasdicioccio/salmon
    subdir:   salmon-ops-recipes

library
    exposed-modules: SreBox.PostgresMigrations
                   , SreBox.CabalBuilding
                   , SreBox.Environment
                   , SreBox.Initialize
                   , SreBox.DNSRegistration
                   , SreBox.MicroDNS
                   , SreBox.PostgresInit
                   , SreBox.Postgrest
                   , SreBox.PostgresTls
                   , SreBox.PostgresBackup
                   , SreBox.PostgresTemplate
                   , SreBox.PostgresPair
                   , SreBox.JWTSigning
                   , SreBox.WireGuardVpn
                   , SreBox.Gcp.VmProvision
                   , SreBox.Gcp.CloudRunDeploy
                   , SreBox.Gcp.CloudRunAlerts
                   , SreBox.Gcp.PostgrestCloudRun
                   , SreBox.Gcp.PreviewEnvironment
    build-depends:    base >=4.16.3.0 && <4.22
                    , aeson
                    , base16-bytestring
                    , base64-bytestring
                    , bytestring
                    , case-insensitive
                    , comonad
                    , containers
                    , contravariant
                    , cryptohash-sha256
                    , crypton-connection
                    , crypton-x509
                    , crypton-x509-store
                    , crypton-x509-validation
                    , directory
                    , filepath
                    , free
                    , hashable
                    , http-client
                    , http-client-tls
                    , jose
                    , jose-jwt
                    , mtl
                    , optparse-applicative
                    , optparse-generic
                    , process
                    , process-extras
                    , salmon-core ^>=0.1.0.0
                    , salmon-ops ^>=0.1.0.0
                    , text
                    , time
                    , tls
    hs-source-dirs:   src
    default-language: Haskell2010
    default-extensions: KindSignatures
                      , DataKinds
                      , OverloadedStrings
                      , DeriveFunctor
                      , OverloadedRecordDot
                      , TypeApplications
                      , ScopedTypeVariables

test-suite salmon-ops-recipes-test
    type:             exitcode-stdio-1.0
    main-is:          Main.hs
    hs-source-dirs:   test
    other-modules:    Test.Harness
                    , Test.CheckSpec
                    , Test.ClientModelSpec
                    , Test.AptRepositorySpec
                    , Test.DebianPackageSpec
                    , Test.LlamaServerSpec
                    , Test.ServeApi
                    , Test.ServeApiSpec
                    , Test.PgVectorSpec
                    , Test.PlakarSpec
                    , Test.WireGuardSpec
                    , Test.DebootstrapSpec
                    , Test.ConcurrentSpec
                    , Test.DaemonSpec
                    , Test.DagSpec
                    , Test.DownTreeSpec
                    , Test.FilesystemSpec
                    , Test.FollowCacheSpec
                    , Test.FollowRegistrySpec
                    , Test.FollowSchedulerSpec
                    , Test.FollowSignatureSpec
                    , Test.FollowSpec
                    , Test.GcpSpec
                    , Test.PodmanCommandSpec
                    , Test.JWTSigningSpec
                    , Test.LedgerSpec
                    , Test.MigratorTemplateSpec
                    , Test.PgBackupSpec
                    , Test.PodmanSpec
                    , Test.PostgresBackupSpec
                    , Test.PostgresInitSpec
                    , Test.PostgresReplicationSpec
                    , Test.PostgresClusterSpec
                    , Test.PgBouncerSpec
                    , Test.EtcdSpec
                    , Test.PgPairDemoSpec
                    , Test.PatroniHarnessSpec
                    , Test.PatroniVms
                    , Test.PostgresPairSpec
                    , Test.PostgresSwitchoverSpec
                    , Test.PostgresVms
                    , Test.PostgresTemplateSpec
                    , Test.PostgresTlsSpec
                    , Test.PostgrestCloudRunSpec
                    , Test.QemuResolveKernelSpec
                    , Test.QemuShutdownSpec
                    , Test.QemuSmokeSpec
                    , Test.QuerySpec
                    , Test.ReportJsonSpec
                    , Test.RewriteSpec
                    , Test.ServeEventsSpec
                    , Test.ServeHttpSpec
                    , Test.ServeModelSpec
                    , Test.ServeSocketSpec
                    , Test.ServeSpec
                    , Test.ServeTlsSpec
                    , Test.StatusSinkSpec
                    , Test.SystemdSpec
                    , Test.UpTreeSpec
                    , Test.UpkeepSpec
                    , Test.WindowSpec
    build-depends:    QuickCheck
                    , base >=4.16.3.0 && <4.22
                    , aeson
                    , bytestring
                    , comonad
                    , containers
                    , contravariant
                    , crypton-connection
                    , crypton-x509-store
                    , directory
                    , filepath
                    , free
                    , http-client
                    , http-client-tls
                    , http-types
                    , mtl
                    , network
                    , optparse-applicative
                    , process
                    , process-extras
                    , stm
                    , salmon-core ^>=0.1.0.0
                    , salmon-ops ^>=0.1.0.0
                    , salmon-ops-recipes ^>=0.1.0.0
                    , tasty
                    , tasty-hunit
                    , tasty-quickcheck
                    , temporary
                    , text
                    , time
                    , tls
                    , unix
                    , wai
                    , warp
    -- Salmon.Actions.Serve reads its input handle on a forked thread, so a
    -- test driving the loop wants a runtime where a blocking read does not
    -- stall every other Haskell thread.
    ghc-options:      -threaded
    default-language: Haskell2010
    default-extensions: DataKinds
                      , KindSignatures
                      , OverloadedStrings
                      , OverloadedRecordDot
                      , ScopedTypeVariables
                      , TypeApplications