@@ -14,11 +14,38 @@ docker_compose() {
14
14
set +x
15
15
}
16
16
17
+ sed_cmd () {
18
+ # Determine the sed in-place flag based on the operating system
19
+ if [ " $( uname) " = " Darwin" ]; then
20
+ sed -i ' ' " $@ "
21
+ else
22
+ sed -i " $@ "
23
+ fi
24
+ }
25
+
26
+ write_secrets () {
27
+ env_file=" $1 "
28
+
29
+ sed_cmd \
30
+ -e " s|^MAGIC_LINK_SECRET=.*|MAGIC_LINK_SECRET=$MAGIC_LINK_SECRET |" \
31
+ -e " s|^SESSION_SECRET=.*|SESSION_SECRET=$SESSION_SECRET |" \
32
+ -e " s|^ENCRYPTION_KEY=.*|ENCRYPTION_KEY=$ENCRYPTION_KEY |" \
33
+ -e " s|^PROVIDER_SECRET=.*|PROVIDER_SECRET=$PROVIDER_SECRET |" \
34
+ -e " s|^COORDINATOR_SECRET=.*|COORDINATOR_SECRET=$COORDINATOR_SECRET |" \
35
+ " $env_file "
36
+
37
+ if [ $? -ne 0 ]; then
38
+ return 1
39
+ fi
40
+
41
+ echo " Wrote secrets to $( basename " $env_file " ) "
42
+ }
43
+
17
44
generate_secrets () {
18
45
env_file=$1
19
46
20
47
echo " Generated secrets:"
21
-
48
+
22
49
MAGIC_LINK_SECRET=$( openssl rand -hex 16)
23
50
echo MAGIC_LINK_SECRET=" $MAGIC_LINK_SECRET "
24
51
@@ -34,14 +61,6 @@ generate_secrets() {
34
61
COORDINATOR_SECRET=$( openssl rand -hex 32)
35
62
echo COORDINATOR_SECRET=" $COORDINATOR_SECRET "
36
63
37
- write_secrets () {
38
- sed -i " s/MAGIC_LINK_SECRET=.*/MAGIC_LINK_SECRET=$MAGIC_LINK_SECRET /" " $env_file "
39
- sed -i " s/SESSION_SECRET=.*/SESSION_SECRET=$SESSION_SECRET /" " $env_file "
40
- sed -i " s/ENCRYPTION_KEY=.*/ENCRYPTION_KEY=$ENCRYPTION_KEY /" " $env_file "
41
- sed -i " s/PROVIDER_SECRET=.*/PROVIDER_SECRET=$PROVIDER_SECRET /" " $env_file "
42
- sed -i " s/COORDINATOR_SECRET=.*/COORDINATOR_SECRET=$COORDINATOR_SECRET /" " $env_file "
43
- }
44
-
45
64
if [ -z " $env_file " ]; then
46
65
return
47
66
fi
@@ -56,9 +75,11 @@ generate_secrets() {
56
75
* )
57
76
env_example_file=$( dirname " $env_file " ) /.env.example
58
77
cp -v " $env_example_file " " $env_file "
59
-
78
+
60
79
echo " Writing secrets to $( basename " $env_file " ) "
61
- write_secrets
80
+ if ! write_secrets " $env_file " ; then
81
+ return 1
82
+ fi
62
83
;;
63
84
esac
64
85
fi
@@ -70,12 +91,16 @@ generate_secrets() {
70
91
echo " Skipped writing secrets. You may want to add them manually to $( basename " $env_file " ) "
71
92
;;
72
93
* )
94
+ if ! cp " $env_file " " $env_file .backup" ; then
95
+ echo " Failed to backup $( basename " $env_file " ) "
96
+ return 1
97
+ fi
98
+ echo " Wrote backup to $( basename " $env_file " ) .backup"
99
+
73
100
echo " Overwriting secrets in $( basename " $env_file " ) "
74
- cp -v " $env_file " " $env_file .backup "
75
- write_secrets
76
- echo " Done. Backup written to: $( basename " $env_file " ) .backup "
101
+ if ! write_secrets " $env_file " ; then
102
+ return 1
103
+ fi
77
104
;;
78
105
esac
79
-
80
-
81
- }
106
+ }
0 commit comments