Skip to content

Commit 9968ebb

Browse files
committed
Deployment: initial templated version
1 parent aea03c5 commit 9968ebb

File tree

5 files changed

+26
-10
lines changed

5 files changed

+26
-10
lines changed

Codingteam.Devops.sln

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fabricator.Core", "Fabricat
2626
EndProject
2727
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fabricator.Resources", "Fabricator\Fabricator.Resources\Fabricator.Resources.fsproj", "{414C5063-3201-43AC-9DA1-B18A18802C0D}"
2828
EndProject
29+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fabricator.Templates", "Fabricator\Fabricator.Templates\Fabricator.Templates.fsproj", "{E4F7858D-B0F7-4B42-928F-02688E843566}"
30+
EndProject
2931
Global
3032
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3133
Debug|Any CPU = Debug|Any CPU
@@ -51,11 +53,16 @@ Global
5153
{414C5063-3201-43AC-9DA1-B18A18802C0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
5254
{414C5063-3201-43AC-9DA1-B18A18802C0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
5355
{414C5063-3201-43AC-9DA1-B18A18802C0D}.Release|Any CPU.Build.0 = Release|Any CPU
56+
{E4F7858D-B0F7-4B42-928F-02688E843566}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
57+
{E4F7858D-B0F7-4B42-928F-02688E843566}.Debug|Any CPU.Build.0 = Debug|Any CPU
58+
{E4F7858D-B0F7-4B42-928F-02688E843566}.Release|Any CPU.ActiveCfg = Release|Any CPU
59+
{E4F7858D-B0F7-4B42-928F-02688E843566}.Release|Any CPU.Build.0 = Release|Any CPU
5460
EndGlobalSection
5561
GlobalSection(NestedProjects) = preSolution
5662
{67164D20-A669-4BC3-A40E-751D3045BA89} = {C4672A21-FB21-4BBF-A0A1-512AC1B66C9A}
5763
{0157906C-006C-45F8-A79A-0D55F16B16B2} = {853E359A-18C5-4472-A712-D5C80EE99D6B}
5864
{C57439E9-20AF-4EEB-8C91-5D74D346374B} = {853E359A-18C5-4472-A712-D5C80EE99D6B}
5965
{414C5063-3201-43AC-9DA1-B18A18802C0D} = {853E359A-18C5-4472-A712-D5C80EE99D6B}
66+
{E4F7858D-B0F7-4B42-928F-02688E843566} = {853E359A-18C5-4472-A712-D5C80EE99D6B}
6067
EndGlobalSection
6168
EndGlobal

ctor/Codingteam.Ctor.fsproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<ItemGroup>
1515
<ProjectReference Include="..\Fabricator\Fabricator.Console\Fabricator.Console.fsproj" />
1616
<ProjectReference Include="..\Fabricator\Fabricator.Resources\Fabricator.Resources.fsproj" />
17+
<ProjectReference Include="..\Fabricator\Fabricator.Templates\Fabricator.Templates.fsproj" />
1718
</ItemGroup>
1819

1920
</Project>

ctor/GreenCaptchaBot.fs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
open Fabricator.Core
44
open Fabricator.Resources.Files
55
open Fabricator.Resources.Docker
6+
open Fabricator.Templates.FileTemplates
67

78
let private hostConfigDirectory = "/opt/green-captcha-bot/"
89
let private docker =
@@ -20,6 +21,9 @@ let private docker =
2021
|]
2122
}
2223

23-
let private configFile = FileResource(templatedFile "GreenCaptchaBot.template.json", $"{hostConfigDirectory}/appsettings.json")
24+
let private configFile parameters = FileResource(
25+
templatedFile "GreenCaptchaBot.template.json" parameters,
26+
$"{hostConfigDirectory}/appsettings.json"
27+
)
2428

25-
let resources: IResource[] = [| configFile; docker |]
29+
let resources(parameters: Map<string, string>): IResource[] = [| configFile parameters; docker |]

ctor/Program.fs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
1-
open Codingteam.Ctor
2-
open Fabricator.Console
1+
open Fabricator.Console
32
open Fabricator.Core
3+
open Fabricator.Templates.FileTemplates
44

5-
let private cluster mode =
6-
let connectionsFileName = if mode = RunMode.Verify then "connections.stub.json" else "connections.private.json"
7-
[|
5+
open Codingteam.Ctor
6+
7+
let private cluster mode = task {
8+
let connectionsFileName = if mode = EntryPoint.RunMode.Verify then "connections.stub.json" else "connections.private.json"
9+
let! parameters = readParameterFile "parameters.json"
10+
return [|
811
{
912
Name = "ctor"
1013
Designator = Designators.fromConnectionsFile connectionsFileName "ctor"
11-
Resources = GreenCaptchaBot.resources
14+
Resources = GreenCaptchaBot.resources parameters
1215
Type = MachineType.Linux
1316
}
1417
|]
18+
}
1519

1620
let main (args: string[]): int =
17-
EntryPoint.main args cluster
21+
EntryPoint.main args (fun m -> (cluster m).GetAwaiter().GetResult())

0 commit comments

Comments
 (0)