Skip to content

Commit 7cd7d04

Browse files
authored
ingress component [minor] (#29)
1 parent 470f618 commit 7cd7d04

7 files changed

Lines changed: 27 additions & 20 deletions

File tree

cmd/create.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,11 @@ func createDefinition() plugin.CreateSpec {
2727
{Service: "drupal", Image: "libops/drupal:php84", BuildPolicy: plugin.BuildPolicyIfNotPresent},
2828
},
2929
DockerComposeInit: []string{
30-
"if [ ! -f .env ]; then cp sample.env .env; fi",
3130
"mkdir -p ./certs",
3231
"id -u > ./certs/UID",
3332
"docker compose run --rm -e HOST_UID=\"$(id -u)\" -e HOST_GID=\"$(id -g)\" init",
3433
},
3534
InitArtifacts: []plugin.InitArtifact{
36-
{Path: ".env"},
3735
{Path: "certs/cert.pem"},
3836
{Path: "certs/privkey.pem"},
3937
{Path: "certs/rootCA.pem"},

cmd/create_test.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,12 @@ func TestCreateDefinition(t *testing.T) {
2020
if !spec.Default {
2121
t.Fatal("expected Drupal create definition to be the default")
2222
}
23-
if len(spec.DockerComposeInit) != 4 || spec.DockerComposeInit[0] != "if [ ! -f .env ]; then cp sample.env .env; fi" {
23+
if len(spec.DockerComposeInit) != 3 || spec.DockerComposeInit[0] != "mkdir -p ./certs" {
2424
t.Fatalf("expected inline init create commands, got %+v", spec.DockerComposeInit)
2525
}
26-
if spec.DockerComposeInit[3] != "docker compose run --rm -e HOST_UID=\"$(id -u)\" -e HOST_GID=\"$(id -g)\" init" {
26+
if spec.DockerComposeInit[2] != "docker compose run --rm -e HOST_UID=\"$(id -u)\" -e HOST_GID=\"$(id -g)\" init" {
2727
t.Fatalf("expected init service command, got %+v", spec.DockerComposeInit)
2828
}
29-
if len(spec.InitArtifacts) == 0 || spec.InitArtifacts[0].Path != ".env" {
30-
t.Fatalf("expected explicit init artifacts, got %+v", spec.InitArtifacts)
31-
}
3229
var foundUID bool
3330
for _, artifact := range spec.InitArtifacts {
3431
if artifact.Path == "certs/UID" && artifact.ValueFrom == plugin.InitArtifactValueFromHostUID {

cmd/healthcheck.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var drupalHealthcheckRunner = plugin.StandardComposeWebHealthcheck(plugin.Standa
66
AppService: "drupal",
77
HTTPName: "http:drupal",
88
DefaultScheme: "http",
9-
DefaultDomain: "drupal.traefik.me",
9+
DefaultDomain: "localhost",
1010
DatabaseService: "mariadb",
1111
CheckDatabaseDependency: true,
1212
SolrService: "solr",

cmd/memcached.go

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,23 @@ func drupalServiceComponents() ([]corecomponent.ComposeServiceComponent, error)
9898
if err != nil {
9999
return nil, err
100100
}
101-
reverseProxy, err := coretraefik.ReverseProxy(coretraefik.ReverseProxyOptions{AppService: "drupal"})
102-
if err != nil {
103-
return nil, err
104-
}
105-
uploadLimits, err := coretraefik.UploadLimits(coretraefik.UploadLimitsOptions{AppService: "drupal"})
101+
ingress, err := coretraefik.Ingress(coretraefik.IngressOptions{
102+
AppService: "drupal",
103+
HTTPEntrypoint: "http",
104+
HTTPSEntrypoint: "https",
105+
RouterHosts: map[string]string{
106+
"drupal": "{domain}",
107+
"solr": "solr.{domain}",
108+
"traefik": "traefik.{domain}",
109+
},
110+
ServiceEnvTemplates: map[string]map[string]string{
111+
"drupal": {
112+
"DRUPAL_DEFAULT_SITE_URL": "{base_url}",
113+
"DRUPAL_ENABLE_HTTPS": "{https_enabled}",
114+
"DRUSH_OPTIONS_URI": "{base_url}",
115+
},
116+
},
117+
})
106118
if err != nil {
107119
return nil, err
108120
}
@@ -120,5 +132,5 @@ func drupalServiceComponents() ([]corecomponent.ComposeServiceComponent, error)
120132
if err != nil {
121133
return nil, err
122134
}
123-
return []corecomponent.ComposeServiceComponent{memcached, reverseProxy, uploadLimits, devMode}, nil
135+
return []corecomponent.ComposeServiceComponent{memcached, ingress, devMode}, nil
124136
}

cmd/memcached_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ func TestDrupalMemcachedComponentDefinition(t *testing.T) {
1414
if err != nil {
1515
t.Fatalf("drupalServiceComponents() error = %v", err)
1616
}
17-
if len(components) != 4 {
18-
t.Fatalf("expected four Drupal service components, got %d", len(components))
17+
if len(components) != 3 {
18+
t.Fatalf("expected three Drupal service components, got %d", len(components))
1919
}
2020

2121
definitions := map[string]corecomponent.Definition{}
2222
for _, component := range components {
2323
def := component.Definition()
2424
definitions[def.Name] = def
2525
}
26-
for _, name := range []string{"memcached", "reverse-proxy", "upload-limits", "dev-mode"} {
26+
for _, name := range []string{"memcached", "ingress", "dev-mode"} {
2727
if _, ok := definitions[name]; !ok {
2828
t.Fatalf("expected component %q in definitions %#v", name, definitions)
2929
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/libops/sitectl-drupal
33
go 1.26.1
44

55
require (
6-
github.com/libops/sitectl v0.25.1
6+
github.com/libops/sitectl v0.28.0
77
github.com/spf13/cobra v1.10.2
88
gopkg.in/yaml.v3 v3.0.1
99
)

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
8282
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
8383
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
8484
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
85-
github.com/libops/sitectl v0.25.1 h1:h2e5znVwyLHQ27p59hdqhHtdxpGxj8Sr8W2cxMmf0vU=
86-
github.com/libops/sitectl v0.25.1/go.mod h1:uoXxmr3TSUYVgcWxwcFSOiDUmmKQW2ASr856dk/9yd8=
85+
github.com/libops/sitectl v0.28.0 h1:JWjiWAAkvzYJEEEHrvUq7uwUv83WhfjAR9LVO3gOMcA=
86+
github.com/libops/sitectl v0.28.0/go.mod h1:uoXxmr3TSUYVgcWxwcFSOiDUmmKQW2ASr856dk/9yd8=
8787
github.com/lucasb-eyer/go-colorful v1.4.0 h1:UtrWVfLdarDgc44HcS7pYloGHJUjHV/4FwW4TvVgFr4=
8888
github.com/lucasb-eyer/go-colorful v1.4.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
8989
github.com/mattn/go-runewidth v0.0.24 h1:cpokDiIn0MGnhdHwuWnJBITySJ20QyNGnY2kR/ay2DU=

0 commit comments

Comments
 (0)