hyrax 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +19 -8
- data/.dassie/config/role_map.yml +2 -0
- data/.dassie/db/seeds.rb +1 -1
- data/.env +1 -1
- data/CONTAINERS.md +20 -0
- data/app/actors/hyrax/actors/file_set_actor.rb +10 -5
- data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +0 -4
- data/app/forms/hyrax/forms/resource_form.rb +11 -1
- data/app/helpers/hyrax/dashboard_helper_behavior.rb +20 -5
- data/app/helpers/hyrax/embargo_helper.rb +4 -0
- data/app/helpers/hyrax/lease_helper.rb +4 -0
- data/app/helpers/hyrax/url_helper.rb +4 -1
- data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +2 -0
- data/app/indexers/hyrax/valkyrie_work_indexer.rb +1 -1
- data/app/jobs/ingest_local_file_job.rb +18 -2
- data/app/models/collection_branding_info.rb +25 -9
- data/app/models/concerns/hyrax/embargoable.rb +24 -0
- data/app/models/concerns/hyrax/work_behavior.rb +1 -1
- data/app/presenters/hyrax/admin_set_options_presenter.rb +13 -1
- data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +119 -0
- data/app/presenters/hyrax/work_show_presenter.rb +5 -1
- data/app/search_builders/hyrax/collection_member_search_builder.rb +6 -1
- data/app/search_builders/hyrax/my/collections_search_builder.rb +1 -1
- data/app/search_builders/hyrax/nested_collections_parent_search_builder.rb +1 -1
- data/app/search_builders/hyrax/single_collection_search_builder.rb +1 -1
- data/app/services/hyrax/contextual_path.rb +1 -1
- data/app/services/hyrax/edit_permissions_service.rb +47 -21
- data/app/services/hyrax/find_objects_via_solr_service.rb +27 -0
- data/app/services/hyrax/multiple_membership_checker.rb +6 -2
- data/app/services/hyrax/solr_query_builder_service.rb +17 -3
- data/app/services/hyrax/visibility_intention.rb +20 -2
- data/app/views/hyrax/base/_form_child_work_relationships.html.erb +1 -1
- data/app/views/hyrax/base/_form_visibility_error.html.erb +2 -0
- data/app/views/hyrax/base/_guts4form.html.erb +1 -1
- data/app/views/hyrax/base/_show_actions.html.erb +1 -1
- data/app/views/hyrax/base/_work_button_row.html.erb +1 -1
- data/app/views/hyrax/batch_uploads/_form.html.erb +1 -1
- data/bin/db-migrate-seed.sh +3 -1
- data/bin/hyrax-entrypoint.sh +0 -14
- data/bin/solrcloud-assign-configset.sh +5 -0
- data/bin/solrcloud-upload-configset.sh +14 -5
- data/chart/hyrax/Chart.yaml +8 -4
- data/chart/hyrax/README.md +5 -4
- data/chart/hyrax/templates/_helpers.tpl +14 -0
- data/chart/hyrax/templates/branding-pvc.yaml +2 -2
- data/chart/hyrax/templates/configmap-env.yaml +7 -1
- data/chart/hyrax/templates/deployment-worker.yaml +39 -5
- data/chart/hyrax/templates/deployment.yaml +42 -0
- data/chart/hyrax/templates/derivatives-pvc.yaml +2 -2
- data/chart/hyrax/templates/ingress.yaml +13 -4
- data/chart/hyrax/templates/secrets.yaml +8 -0
- data/chart/hyrax/templates/uploads-pvc.yaml +2 -2
- data/chart/hyrax/values.yaml +71 -1
- data/config/initializers/valkryrie_storage.rb +7 -0
- data/docker-compose.yml +38 -8
- data/documentation/developing-your-hyrax-based-app.md +3 -3
- data/documentation/legacyREADME.md +4 -4
- data/lib/hyrax/configuration.rb +12 -0
- data/lib/hyrax/engine.rb +1 -0
- data/lib/hyrax/resource_name.rb +1 -0
- data/lib/hyrax/specs/capybara.rb +2 -2
- data/lib/hyrax/valkyrie_simple_path_generator.rb +20 -0
- data/lib/hyrax/version.rb +1 -1
- data/lib/wings.rb +0 -21
- data/lib/wings/active_fedora_converter/default_work.rb +15 -0
- data/lib/wings/model_transformer.rb +17 -1
- data/lib/wings/setup.rb +1 -0
- data/template.rb +1 -1
- metadata +8 -3
@@ -1,10 +1,11 @@
|
|
1
1
|
{{- if .Values.ingress.enabled -}}
|
2
2
|
{{- $fullName := include "hyrax.fullname" . -}}
|
3
3
|
{{- $svcPort := .Values.service.port -}}
|
4
|
-
{{-
|
4
|
+
{{- $beta := semverCompare "<1.19-0" (default .Capabilities.KubeVersion.Version .Values.kubeVersion) -}}
|
5
|
+
{{- if $beta }}
|
5
6
|
apiVersion: networking.k8s.io/v1beta1
|
6
|
-
{{- else
|
7
|
-
apiVersion:
|
7
|
+
{{- else }}
|
8
|
+
apiVersion: networking.k8s.io/v1
|
8
9
|
{{- end }}
|
9
10
|
kind: Ingress
|
10
11
|
metadata:
|
@@ -32,10 +33,18 @@ spec:
|
|
32
33
|
http:
|
33
34
|
paths:
|
34
35
|
{{- range .paths }}
|
35
|
-
- path: {{ .
|
36
|
+
- path: {{ .path }}
|
37
|
+
pathType: {{ .pathType | default "ImplementationSpecific" }}
|
36
38
|
backend:
|
39
|
+
{{- if $beta }}
|
37
40
|
serviceName: {{ $fullName }}
|
38
41
|
servicePort: {{ $svcPort }}
|
42
|
+
{{- else }}
|
43
|
+
service:
|
44
|
+
name: {{ $fullName }}
|
45
|
+
port:
|
46
|
+
number: {{ $svcPort }}
|
47
|
+
{{- end }}
|
39
48
|
{{- end }}
|
40
49
|
{{- end }}
|
41
50
|
{{- end }}
|
@@ -7,7 +7,15 @@ metadata:
|
|
7
7
|
type: Opaque
|
8
8
|
data:
|
9
9
|
SECRET_KEY_BASE: {{ randAlphaNum 20 | b64enc | quote }}
|
10
|
+
DB_PASSWORD: {{ include "hyrax.postgresql.password" . | b64enc }}
|
10
11
|
DATABASE_URL: {{ printf "postgresql://%s:%s@%s/%s?pool=5" ( include "hyrax.postgresql.username" . ) ( include "hyrax.postgresql.password" . ) ( include "hyrax.postgresql.host" . ) ( include "hyrax.postgresql.database" . ) | b64enc }}
|
12
|
+
{{- if .Values.minio.enabled }}
|
13
|
+
MINIO_ACCESS_KEY: {{ .Values.minio.accessKey.password | b64enc}}
|
14
|
+
MINIO_SECRET_KEY: {{ .Values.minio.secretKey.password | b64enc}}
|
15
|
+
{{- end }}
|
16
|
+
{{- if not .Values.solrExistingSecret }}
|
17
|
+
SOLR_ADMIN_PASSWORD: {{ include "hyrax.solr.password" . | b64enc }}
|
18
|
+
{{- end }}
|
11
19
|
{{- if .Values.redis.enabled }}
|
12
20
|
REDIS_PASSWORD: {{ .Values.redis.password | b64enc}}
|
13
21
|
SIDEKIQ_REDIS_URL: {{ include "hyrax.redis.url" . | b64enc }}
|
@@ -6,9 +6,9 @@ metadata:
|
|
6
6
|
labels:
|
7
7
|
{{- include "hyrax.labels" . | nindent 4 }}
|
8
8
|
spec:
|
9
|
-
|
10
|
-
- ReadWriteMany
|
9
|
+
{{ include "hyrax.sharedPvcAccessModes" . | nindent 2 }}
|
11
10
|
resources:
|
12
11
|
requests:
|
13
12
|
storage: {{ .Values.uploadsVolume.size }}
|
13
|
+
storageClassName: {{ .Values.uploadsVolume.storageClass }}
|
14
14
|
{{- end }}
|
data/chart/hyrax/values.yaml
CHANGED
@@ -10,33 +10,87 @@ image:
|
|
10
10
|
# Overrides the image tag whose default is the chart appVersion.
|
11
11
|
tag: ""
|
12
12
|
|
13
|
+
# use true to skip loading Hyrax engine database seed file
|
14
|
+
skipHyraxEngineSeed: false
|
15
|
+
|
13
16
|
# use false to skip the configset management init container
|
14
17
|
loadSolrConfigSet: true
|
15
18
|
# the host and auth details for an external solr service;
|
16
19
|
# ignored if `solr.enabled` is true
|
20
|
+
solrExistingSecret: ""
|
17
21
|
externalSolrHost: ""
|
18
22
|
externalSolrUser: ""
|
19
23
|
externalSolrPassword: ""
|
20
24
|
externalSolrCollection: "hyrax"
|
21
25
|
|
26
|
+
# additional environment variables, evaluated as a template. e.g.
|
27
|
+
#
|
28
|
+
# extraEnvVars:
|
29
|
+
# - name: RAILS_SERVE_STATIC_FILES
|
30
|
+
# value: "1"
|
31
|
+
# - name: GOOGLE_OAUTH_APP_NAME
|
32
|
+
# value: "my_hyrax_app"
|
33
|
+
extraEnvVars: []
|
34
|
+
|
35
|
+
## Extra init containers
|
36
|
+
## Example
|
37
|
+
##
|
38
|
+
## extraInitContainers:
|
39
|
+
## - name: do-something
|
40
|
+
## image: busybox
|
41
|
+
## command: ['echo', 'Hello, Hyrax.']
|
42
|
+
##
|
43
|
+
extraInitContainers: []
|
44
|
+
|
45
|
+
# Extra envFrom (secrets/configmaps)
|
46
|
+
# Example
|
47
|
+
#
|
48
|
+
# extraEnvFrom:
|
49
|
+
# - configMapRef:
|
50
|
+
# name: existingConfigMap
|
51
|
+
# - secretRef:
|
52
|
+
# name: existingSecret
|
53
|
+
#
|
54
|
+
extraEnvFrom: []
|
55
|
+
|
56
|
+
# an existing volume containing a Hyrax-based application
|
57
|
+
# must be a ReadWriteMany volume if worker is enabled
|
58
|
+
applicationExistingClaim: ""
|
59
|
+
|
22
60
|
brandingVolume:
|
23
61
|
enabled: true
|
62
|
+
# the name of an existing volume claim; must be an ReadWriteMany volume
|
24
63
|
existingClaim: ""
|
25
64
|
size: 2Gi
|
26
65
|
storageClass: ""
|
27
66
|
|
28
67
|
derivativesVolume:
|
29
68
|
enabled: true
|
69
|
+
# the name of an existing volume claim; must be an ReadWriteMany volume
|
30
70
|
existingClaim: ""
|
31
71
|
size: 10Gi
|
32
72
|
storageClass: ""
|
33
73
|
|
34
74
|
uploadsVolume:
|
35
75
|
enabled: true
|
76
|
+
# the name of an existing volume claim; must be an ReadWriteMany volume
|
36
77
|
existingClaim: ""
|
37
78
|
size: 20Gi
|
38
79
|
storageClass: ""
|
39
80
|
|
81
|
+
# additional volumes and volume mounts, evaluated as a template, e.g.
|
82
|
+
#
|
83
|
+
# extraVolumeMounts
|
84
|
+
# - name: local-app
|
85
|
+
# mountPath: /app/samvera/hyrax-webapp
|
86
|
+
# extraVolumes:
|
87
|
+
# - name: local-app
|
88
|
+
# hostPath:
|
89
|
+
# path: /src
|
90
|
+
# type: DirectoryOrCreate
|
91
|
+
extraVolumeMounts: []
|
92
|
+
extraVolumes: []
|
93
|
+
|
40
94
|
# configuration for an external/existing fcrepo service;
|
41
95
|
# ignored if `fcrepo.enabled` is true
|
42
96
|
externalFcrepoHost: ""
|
@@ -93,7 +147,9 @@ ingress:
|
|
93
147
|
# kubernetes.io/tls-acme: "true"
|
94
148
|
hosts:
|
95
149
|
- host: hyrax.local
|
96
|
-
paths:
|
150
|
+
paths:
|
151
|
+
- path: /
|
152
|
+
pathType: ImplementationSpecific
|
97
153
|
tls: []
|
98
154
|
|
99
155
|
livenessProbe:
|
@@ -117,11 +173,15 @@ readinessProbe:
|
|
117
173
|
resources: {}
|
118
174
|
|
119
175
|
worker:
|
176
|
+
enabled: true
|
120
177
|
replicaCount: 3
|
121
178
|
image:
|
122
179
|
repository: samveralabs/dassie-worker
|
123
180
|
pullPolicy: IfNotPresent
|
124
181
|
tag: ""
|
182
|
+
extraInitContainers: []
|
183
|
+
extraVolumeMounts: []
|
184
|
+
extraVolumes: []
|
125
185
|
imagePullSecrets: []
|
126
186
|
podSecurityContext: {}
|
127
187
|
nodeSelector: {}
|
@@ -142,6 +202,16 @@ fcrepo:
|
|
142
202
|
memcached:
|
143
203
|
enabled: false
|
144
204
|
|
205
|
+
minio:
|
206
|
+
enabled: false
|
207
|
+
accessKey:
|
208
|
+
password: hyrax-access-key
|
209
|
+
secretKey:
|
210
|
+
password: hyrax-secret-key
|
211
|
+
persistence:
|
212
|
+
enabled: false
|
213
|
+
# defaultBuckets: bucketOne;bucketTwo
|
214
|
+
|
145
215
|
postgresql:
|
146
216
|
enabled: true
|
147
217
|
image:
|
data/docker-compose.yml
CHANGED
@@ -7,7 +7,7 @@ services:
|
|
7
7
|
target: hyrax-engine-dev
|
8
8
|
args:
|
9
9
|
- EXTRA_APK_PACKAGES=git less
|
10
|
-
image:
|
10
|
+
image: ghcr.io/samvera/dassie
|
11
11
|
stdin_open: true
|
12
12
|
tty: true
|
13
13
|
user: root
|
@@ -33,6 +33,8 @@ services:
|
|
33
33
|
- hyrax-uploads:/app/samvera/hyrax-webapp/uploads
|
34
34
|
- rails-public:/app/samvera/hyrax-webapp/public
|
35
35
|
- rails-tmp:/app/samvera/hyrax-webapp/tmp
|
36
|
+
networks:
|
37
|
+
- hyrax
|
36
38
|
|
37
39
|
chrome:
|
38
40
|
image: selenium/standalone-chrome:3.141
|
@@ -44,9 +46,11 @@ services:
|
|
44
46
|
ports:
|
45
47
|
- "4444:4444"
|
46
48
|
- "5959:5900"
|
49
|
+
networks:
|
50
|
+
- hyrax
|
47
51
|
|
48
52
|
db_migrate:
|
49
|
-
image:
|
53
|
+
image: ghcr.io/samvera/dassie
|
50
54
|
user: root
|
51
55
|
env_file:
|
52
56
|
- .env
|
@@ -59,6 +63,8 @@ services:
|
|
59
63
|
- .:/app/samvera/hyrax-engine:cached
|
60
64
|
- rails-public:/app/samvera/hyrax-webapp/public
|
61
65
|
- rails-tmp:/app/samvera/hyrax-webapp/tmp
|
66
|
+
networks:
|
67
|
+
- hyrax
|
62
68
|
|
63
69
|
postgres:
|
64
70
|
image: postgres:latest
|
@@ -72,33 +78,47 @@ services:
|
|
72
78
|
- "5432:5432"
|
73
79
|
volumes:
|
74
80
|
- db:/var/lib/postgresql/data
|
81
|
+
networks:
|
82
|
+
- hyrax
|
75
83
|
|
76
84
|
fcrepo:
|
77
|
-
image:
|
85
|
+
image: ghcr.io/samvera/fcrepo4:4.7.5
|
78
86
|
volumes:
|
79
|
-
- fcrepo:/data
|
87
|
+
- fcrepo:/data:cached
|
80
88
|
ports:
|
81
89
|
- 8080:8080
|
82
|
-
|
83
|
-
-
|
90
|
+
networks:
|
91
|
+
- hyrax
|
84
92
|
|
85
93
|
memcached:
|
86
94
|
image: bitnami/memcached
|
87
95
|
ports:
|
88
96
|
- '11211:11211'
|
97
|
+
networks:
|
98
|
+
- hyrax
|
89
99
|
|
90
100
|
redis:
|
91
101
|
image: redis:5-alpine
|
92
102
|
volumes:
|
93
103
|
- redis:/data
|
104
|
+
networks:
|
105
|
+
- hyrax
|
94
106
|
|
95
107
|
sidekiq:
|
96
108
|
build:
|
97
109
|
context: .
|
98
110
|
target: hyrax-engine-dev-worker
|
111
|
+
image: ghcr.io/samvera/dassie-worker
|
99
112
|
env_file:
|
100
113
|
- .env
|
101
114
|
- .dassie/.env
|
115
|
+
depends_on:
|
116
|
+
- db_migrate
|
117
|
+
- fcrepo
|
118
|
+
- memcached
|
119
|
+
- postgres
|
120
|
+
- redis
|
121
|
+
- solr
|
102
122
|
volumes:
|
103
123
|
- .dassie:/app/samvera/hyrax-webapp:cached
|
104
124
|
- .:/app/samvera/hyrax-engine:cached
|
@@ -106,6 +126,8 @@ services:
|
|
106
126
|
- hyrax-uploads:/app/samvera/hyrax-webapp/uploads
|
107
127
|
- sidekiq-public:/app/samvera/hyrax-webapp/public
|
108
128
|
- sidekiq-tmp:/app/samvera/hyrax-webapp/tmp
|
129
|
+
networks:
|
130
|
+
- hyrax
|
109
131
|
|
110
132
|
solr:
|
111
133
|
image: solr:8.7
|
@@ -114,10 +136,12 @@ services:
|
|
114
136
|
command:
|
115
137
|
- sh
|
116
138
|
- "-c"
|
117
|
-
- "precreate-core hyrax_test /opt/solr/server/configsets/hyraxconf; precreate-core hyrax-valkyrie-test /opt/solr/server/configsets/hyraxconf; solr-precreate hyrax /opt/solr/server/configsets/hyraxconf"
|
139
|
+
- "precreate-core hyrax_test /opt/solr/server/configsets/hyraxconf; precreate-core hyrax-valkyrie-test /opt/solr/server/configsets/hyraxconf; precreate-core hyrax-valkyrie-dev /opt/solr/server/configsets/hyraxconf; solr-precreate hyrax /opt/solr/server/configsets/hyraxconf"
|
118
140
|
volumes:
|
119
|
-
- solr_home:/
|
141
|
+
- solr_home:/var/solr/data:cached
|
120
142
|
- .dassie/solr/conf:/opt/solr/server/configsets/hyraxconf
|
143
|
+
networks:
|
144
|
+
- hyrax
|
121
145
|
|
122
146
|
volumes:
|
123
147
|
db:
|
@@ -130,3 +154,9 @@ volumes:
|
|
130
154
|
sidekiq-public:
|
131
155
|
sidekiq-tmp:
|
132
156
|
solr_home:
|
157
|
+
|
158
|
+
networks:
|
159
|
+
hyrax:
|
160
|
+
driver: bridge
|
161
|
+
driver_opts:
|
162
|
+
com.docker.network.bridge.name: br-hyrax
|
@@ -105,11 +105,11 @@ Starting up Redis will depend on your operating system, and may in fact already
|
|
105
105
|
|
106
106
|
## Rails
|
107
107
|
|
108
|
-
Hyrax requires Rails 5. We recommend the latest Rails 5.2
|
108
|
+
Hyrax requires Rails 5. We recommend the latest Rails 5.2 release.
|
109
109
|
|
110
110
|
```
|
111
111
|
# If you don't already have Rails at your disposal...
|
112
|
-
gem install rails -v 5.2.
|
112
|
+
gem install rails -v 5.2.6
|
113
113
|
```
|
114
114
|
|
115
115
|
### JavaScript runtime
|
@@ -125,7 +125,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
|
|
125
125
|
Generate a new Rails application using the template.
|
126
126
|
|
127
127
|
```
|
128
|
-
rails _5.2.
|
128
|
+
rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.0.2/template.rb
|
129
129
|
```
|
130
130
|
|
131
131
|
Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
|
@@ -50,7 +50,7 @@ The Samvera community is here to help. Please see our [support guide](./.github/
|
|
50
50
|
# Getting started
|
51
51
|
|
52
52
|
This document contains instructions specific to setting up an app with __Hyrax
|
53
|
-
v3.0.
|
53
|
+
v3.0.2__. If you are looking for instructions on installing a different
|
54
54
|
version, be sure to select the appropriate branch or tag from the drop-down
|
55
55
|
menu above.
|
56
56
|
|
@@ -139,11 +139,11 @@ Starting up Redis will depend on your operating system, and may in fact already
|
|
139
139
|
|
140
140
|
## Rails
|
141
141
|
|
142
|
-
Hyrax requires Rails 5. We recommend the latest Rails 5.2
|
142
|
+
Hyrax requires Rails 5. We recommend the latest Rails 5.2 release.
|
143
143
|
|
144
144
|
```
|
145
145
|
# If you don't already have Rails at your disposal...
|
146
|
-
gem install rails -v 5.2.
|
146
|
+
gem install rails -v 5.2.6
|
147
147
|
```
|
148
148
|
|
149
149
|
### JavaScript runtime
|
@@ -159,7 +159,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
|
|
159
159
|
Generate a new Rails application using the template.
|
160
160
|
|
161
161
|
```
|
162
|
-
rails _5.2.
|
162
|
+
rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.0.2/template.rb
|
163
163
|
```
|
164
164
|
|
165
165
|
Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
|
data/lib/hyrax/configuration.rb
CHANGED
@@ -385,6 +385,18 @@ module Hyrax
|
|
385
385
|
# @!endgroup
|
386
386
|
# @!group Valkyrie
|
387
387
|
|
388
|
+
##
|
389
|
+
# @return [Valkyrie::StorageAdapter]
|
390
|
+
def branding_storage_adapter
|
391
|
+
@branding_storage_adapter ||= Valkyrie::StorageAdapter.find(:branding_disk)
|
392
|
+
end
|
393
|
+
|
394
|
+
##
|
395
|
+
# @param [#to_sym] adapter
|
396
|
+
def branding_storage_adapter=(adapter)
|
397
|
+
@branding_storage_adapter = Valkyrie::StorageAdapter.find(adapter.to_sym)
|
398
|
+
end
|
399
|
+
|
388
400
|
##
|
389
401
|
# @return [#save, #save_all, #delete, #wipe!] an indexing adapter
|
390
402
|
def index_adapter
|
data/lib/hyrax/engine.rb
CHANGED
@@ -31,6 +31,7 @@ module Hyrax
|
|
31
31
|
require 'hyrax/search_state'
|
32
32
|
require 'hyrax/transactions'
|
33
33
|
require 'hyrax/errors'
|
34
|
+
require 'hyrax/valkyrie_simple_path_generator'
|
34
35
|
|
35
36
|
# Force these models to be added to Legato's registry in development mode
|
36
37
|
config.eager_load_paths += %W[
|
data/lib/hyrax/resource_name.rb
CHANGED
data/lib/hyrax/specs/capybara.rb
CHANGED
@@ -15,9 +15,9 @@ require 'capybara/rspec'
|
|
15
15
|
require 'capybara/rails'
|
16
16
|
require 'capybara-screenshot/rspec'
|
17
17
|
require 'selenium-webdriver'
|
18
|
-
require 'webdrivers'
|
18
|
+
require 'webdrivers' unless ENV['IN_DOCKER'].present? || ENV['HUB_URL'].present?
|
19
19
|
|
20
|
-
if ENV['IN_DOCKER'].present?
|
20
|
+
if ENV['IN_DOCKER'].present? || ENV['HUB_URL'].present?
|
21
21
|
args = %w[disable-gpu no-sandbox whitelisted-ips window-size=1400,1400]
|
22
22
|
args.push('headless') if ActiveModel::Type::Boolean.new.cast(ENV['CHROME_HEADLESS_MODE'])
|
23
23
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Hyrax
|
3
|
+
##
|
4
|
+
# Provide "simple", paths for the valkyrie disk storage adapter.
|
5
|
+
#
|
6
|
+
# By default, Valkyrie does bucketed/pairtree style paths. Since some of our
|
7
|
+
# older on-disk file storage does not do this, we need this to provide
|
8
|
+
# backward compatibility.
|
9
|
+
class ValkyrieSimplePathGenerator
|
10
|
+
attr_reader :base_path
|
11
|
+
|
12
|
+
def initialize(base_path:)
|
13
|
+
@base_path = base_path
|
14
|
+
end
|
15
|
+
|
16
|
+
def generate(resource:, file:, original_filename:) # rubocop:disable Lint/UnusedMethodArgument
|
17
|
+
Pathname.new(base_path).join(resource.id, original_filename)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|