on master help sign in
Merge branch 'develop' into ts@fix-ghcjs-assets
980c3f8Elliot Cameron
ChangeLog.md+4−1
@@ -2,8 +2,11 @@
2
2
3This project's release branch is `master`. This log is written from the perspective of the release branch: when changes hit `master`, they are considered released.
3This project's release branch is `master`. This log is written from the perspective of the release branch: when changes hit `master`, they are considered released.
4
4
5−## Unreleased
5+## v0.9.0.0
6
6
7+* **(Breaking change)** Backport nixpkgs upgrades to ACME/Let's Encrypt handling so that HTTPS deployments continue to work flawlessly. If your deployment is having trouble renewing [Let's Encrypt](https://letsencrypt.org/) certificates, upgrade to this version.
8+ * **IMPORTANT:** In order to use [Let's Encrypt](https://letsencrypt.org/) you must now accept their [terms of service](https://letsencrypt.org/repository/). To do that, add `terms.security.acme.acceptTerms = true;` to the `import ./.obelisk/impl {` section in your `default.nix`. The new skeleton application may serve as an [example](https://github.com/obsidiansystems/obelisk/blob/4759342ab3570888c027d4c58cb5694cb832d624/skeleton/default.nix#L13).
9+* Update reflex-platform dependency to v0.6.0.0
7* ([#715](https://github.com/obsidiansystems/obelisk/pull/715)) In `Obelisk.Route` deprecate `isoEncoder` and `prismEncoder` in favor of more precisely named `viewEncoder` and `reviewEncoder` (respectively) and improve documentation regarding contravariance of `reviewEncoder`.
10* ([#715](https://github.com/obsidiansystems/obelisk/pull/715)) In `Obelisk.Route` deprecate `isoEncoder` and `prismEncoder` in favor of more precisely named `viewEncoder` and `reviewEncoder` (respectively) and improve documentation regarding contravariance of `reviewEncoder`.
8* ([#739](https://github.com/obsidiansystems/obelisk/pull/739)) Improve `ob shell` by allowing commands to be passed verbatim after a `--` argument. For example, `ob shell 'run command'` can now be written `ob shell -- run command`.
11* ([#739](https://github.com/obsidiansystems/obelisk/pull/739)) Improve `ob shell` by allowing commands to be passed verbatim after a `--` argument. For example, `ob shell 'run command'` can now be written `ob shell -- run command`.
9* ([#735](https://github.com/obsidiansystems/obelisk/pull/735)) Fix regression causing custom `Prelude`s to break `ob run`/`ob watch`/`ob repl`.
12* ([#735](https://github.com/obsidiansystems/obelisk/pull/735)) Fix regression causing custom `Prelude`s to break `ob run`/`ob watch`/`ob repl`.
README.md+1−1
@@ -114,7 +114,7 @@ First create a new EC2 instance:
1141. Launch a NixOS 19.09 EC2 instance (we recommend [this AMI](https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-00a8eeaf232a74f84))
1141. Launch a NixOS 19.09 EC2 instance (we recommend [this AMI](https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard:ami=ami-00a8eeaf232a74f84))
1151. In the instance configuration wizard ensure that your instance has at least 1GB RAM and 10GB disk space.
1151. In the instance configuration wizard ensure that your instance has at least 1GB RAM and 10GB disk space.
1161. When prompted save your AWS private key (`~/myaws.pem`) somewhere safe. We'll need it later during deployment.
1161. When prompted save your AWS private key (`~/myaws.pem`) somewhere safe. We'll need it later during deployment.
117−1. Go to "Security Groups", select your instance's security group and under "Inbound" tab add a new rule for HTTP port 80 and 443.
117+1. Go to "Security Groups", select your instance's security group and under "Inbound" tab add a new rule for HTTP port 80 and HTTPS port 443.
118
118
119At this stage your instance should be booting and become accessible shortly. Note down the hostname of your EC2 instance.
119At this stage your instance should be booting and become accessible shortly. Note down the hostname of your EC2 instance.
120
120
default.nix+4−1
@@ -2,6 +2,9 @@
2, profiling ? false
2, profiling ? false
3, iosSdkVersion ? "10.2"
3, iosSdkVersion ? "10.2"
4, config ? {}
4, config ? {}
5+, terms ? { # Accepted terms, conditions, and licenses
6+ security.acme.acceptTerms = false;
7+ }
5, reflex-platform-func ? import ./dep/reflex-platform
8, reflex-platform-func ? import ./dep/reflex-platform
6}:
9}:
7let
10let
@@ -114,7 +117,7 @@ in rec {
114 "${routeHost}".email = adminEmail;
117 "${routeHost}".email = adminEmail;
115 } else {};
118 } else {};
116
119
117− security.acme.${if enableHttps then "acceptTerms" else null} = true;
120+ security.acme.${if enableHttps && (terms.security.acme.acceptTerms or false) then "acceptTerms" else null} = true;
118 };
121 };
119
122
120 mkObeliskApp =
123 mkObeliskApp =
dep/reflex-platform/github.json+3−3
@@ -1,8 +1,8 @@
1{
1{
2 "owner": "reflex-frp",
2 "owner": "reflex-frp",
3 "repo": "reflex-platform",
3 "repo": "reflex-platform",
4− "branch": "develop",
4+ "branch": "rc/0.6.0.0",
5 "private": false,
5 "private": false,
6− "rev": "c21ec7036c8351185cd2feef9ce577b6a61c4f22",
6+ "rev": "8d421e9e06b0477cbc065346aaf596c9db6cc387",
7− "sha256": "0m4sdpz6qvngralpyprrbvsyi2zmfh2l3q5vhihwfp3842blvbfg"
7+ "sha256": "06fy5b0mk5k2ps1h78yihf4j76cb855r86y9p4jv5d91nfyl2dck"
8}
8}
lib/command/obelisk-command.cabal+1−1
@@ -1,5 +1,5 @@
1name: obelisk-command
1name: obelisk-command
2−version: 0.8.0.0
2+version: 0.9.0.0
3cabal-version: >= 1.8
3cabal-version: >= 1.8
4build-type: Simple
4build-type: Simple
5
5
lib/executable-config/lookup/src/Obelisk/Configs.hs+2
@@ -22,6 +22,7 @@ import Control.Applicative (Alternative)
22import Control.Monad (MonadPlus)
22import Control.Monad (MonadPlus)
23import Control.Monad.Base (MonadBase)
23import Control.Monad.Base (MonadBase)
24import Control.Monad.Catch (MonadThrow)
24import Control.Monad.Catch (MonadThrow)
25+import Control.Monad.Fail (MonadFail)
25import Control.Monad.Fix (MonadFix)
26import Control.Monad.Fix (MonadFix)
26import Control.Monad.IO.Class (MonadIO)
27import Control.Monad.IO.Class (MonadIO)
27import Control.Monad.Morph (MFunctor)
28import Control.Monad.Morph (MFunctor)
@@ -87,6 +88,7 @@ newtype ConfigsT m a = ConfigsT { unConfigsT :: ReaderT (Map Text ByteString) m
87 , Monad
88 , Monad
88 , MonadPlus
89 , MonadPlus
89 , Alternative
90 , Alternative
91+ , MonadFail
90 , MonadFix
92 , MonadFix
91 , MonadThrow
93 , MonadThrow
92 , MonadIO
94 , MonadIO
skeleton/default.nix+9−2
@@ -1,10 +1,17 @@
1+{ system ? builtins.currentSystem
1−{ obelisk ? import ./.obelisk/impl {
2+, obelisk ? import ./.obelisk/impl {
2− system = builtins.currentSystem;
3+ inherit system;
3 iosSdkVersion = "10.2";
4 iosSdkVersion = "10.2";
5+
4 # You must accept the Android Software Development Kit License Agreement at
6 # You must accept the Android Software Development Kit License Agreement at
5 # https://developer.android.com/studio/terms in order to build Android apps.
7 # https://developer.android.com/studio/terms in order to build Android apps.
6 # Uncomment and set this to `true` to indicate your acceptance:
8 # Uncomment and set this to `true` to indicate your acceptance:
7 # config.android_sdk.accept_license = false;
9 # config.android_sdk.accept_license = false;
10+
11+ # In order to use Let's Encrypt for HTTPS deployments you must accept
12+ # their terms of service at https://letsencrypt.org/repository/.
13+ # Uncomment and set this to `true` to indicate your acceptance:
14+ # terms.security.acme.acceptTerms = false;
8 }
15 }
9}:
16}:
10with obelisk;
17with obelisk;