Skip to content

Commit 350a21f

Browse files
authored
Merge pull request #936 from lsst-it/IT-6193/konkong-obc
(konkong) manage all existing s3 buckets with obc
2 parents 19775ce + becdf14 commit 350a21f

22 files changed

+445
-348
lines changed

fleet/lib/rook-ceph-conf/charts/elqui/templates/obc-rubinobs-raw-comcam.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ spec:
6262
}
6363
},
6464
{
65-
"ID": "ExpireAfter30Days",
65+
"ID": "ExpireAfter90Days",
6666
"Status": "Enabled",
6767
"Prefix": "",
6868
"Expiration": {

fleet/lib/rook-ceph-conf/charts/elqui/templates/obc-rubinobs-raw-latiss.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ spec:
6262
}
6363
},
6464
{
65-
"ID": "ExpireAfter30Days",
65+
"ID": "ExpireAfter90Days",
6666
"Status": "Enabled",
6767
"Prefix": "",
6868
"Expiration": {

fleet/lib/rook-ceph-conf/charts/elqui/templates/obc-rubinobs-raw-lsstcam.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ spec:
6262
}
6363
},
6464
{
65-
"ID": "ExpireAfter30Days",
65+
"ID": "ExpireAfter90Days",
6666
"Status": "Enabled",
6767
"Prefix": "",
6868
"Expiration": {

fleet/lib/rook-ceph-conf/charts/konkong/templates/cephobjectstore-lfa.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,3 +268,13 @@ spec:
268268
pg_num: "256"
269269
replicated:
270270
size: 3
271+
---
272+
apiVersion: storage.k8s.io/v1
273+
kind: StorageClass
274+
metadata:
275+
name: lfa
276+
provisioner: rook-ceph.ceph.rook.io/bucket
277+
parameters:
278+
objectStoreName: lfa
279+
objectStoreNamespace: rook-ceph
280+
reclaimPolicy: Retain
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
apiVersion: objectbucket.io/v1alpha1
3+
kind: ObjectBucketClaim
4+
metadata:
5+
name: &name rubinobs-butler-latiss
6+
namespace: rook-ceph
7+
spec:
8+
bucketName: *name
9+
storageClassName: lfa
10+
additionalConfig:
11+
bucketOwner: latiss
12+
bucketMaxSize: 1Ti
13+
bucketPolicy: |
14+
{
15+
"Version": "2012-10-17",
16+
"Statement": [
17+
{
18+
"Effect": "Allow",
19+
"Principal": {
20+
"AWS": "arn:aws:iam:::user/butler"
21+
},
22+
"Action": [
23+
"s3:GetObject",
24+
"s3:PutObject",
25+
"s3:DeleteObject",
26+
"s3:ListBucket",
27+
"s3:GetBucketLocation"
28+
],
29+
"Resource": [
30+
"arn:aws:s3:::rubinobs-butler-latiss",
31+
"arn:aws:s3:::rubinobs-butler-latiss/*"
32+
]
33+
},
34+
{
35+
"Effect": "Allow",
36+
"Principal": {
37+
"AWS": "arn:aws:iam:::user/oods-latiss"
38+
},
39+
"Action": [
40+
"s3:GetObject",
41+
"s3:PutObject",
42+
"s3:DeleteObject",
43+
"s3:ListBucket",
44+
"s3:GetBucketLocation"
45+
],
46+
"Resource": [
47+
"arn:aws:s3:::rubinobs-butler-latiss",
48+
"arn:aws:s3:::rubinobs-butler-latiss/*"
49+
]
50+
}
51+
]
52+
}
53+
bucketLifecycle: |
54+
{
55+
"Rules": [
56+
{
57+
"ID": "AbortIncompleteMultipartUploads",
58+
"Status": "Enabled",
59+
"Prefix": "",
60+
"AbortIncompleteMultipartUpload": {
61+
"DaysAfterInitiation": 1
62+
}
63+
}
64+
]
65+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
apiVersion: objectbucket.io/v1alpha1
3+
kind: ObjectBucketClaim
4+
metadata:
5+
name: &name rubinobs-butler-lsstcam
6+
namespace: rook-ceph
7+
spec:
8+
bucketName: *name
9+
storageClassName: lfa
10+
additionalConfig:
11+
bucketOwner: lsstcam
12+
bucketMaxSize: 34Ti
13+
bucketPolicy: |
14+
{
15+
"Version": "2012-10-17",
16+
"Statement": [
17+
{
18+
"Effect": "Allow",
19+
"Principal": {
20+
"AWS": "arn:aws:iam:::user/butler"
21+
},
22+
"Action": [
23+
"s3:GetObject",
24+
"s3:PutObject",
25+
"s3:DeleteObject",
26+
"s3:ListBucket",
27+
"s3:GetBucketLocation"
28+
],
29+
"Resource": [
30+
"arn:aws:s3:::rubinobs-butler-lsstcam",
31+
"arn:aws:s3:::rubinobs-butler-lsstcam/*"
32+
]
33+
},
34+
{
35+
"Effect": "Allow",
36+
"Principal": {
37+
"AWS": "arn:aws:iam:::user/oods-lsstcam"
38+
},
39+
"Action": [
40+
"s3:GetObject",
41+
"s3:PutObject",
42+
"s3:DeleteObject",
43+
"s3:ListBucket",
44+
"s3:GetBucketLocation"
45+
],
46+
"Resource": [
47+
"arn:aws:s3:::rubinobs-butler-lsstcam",
48+
"arn:aws:s3:::rubinobs-butler-lsstcam/*"
49+
]
50+
}
51+
]
52+
}
53+
54+
bucketLifecycle: |
55+
{
56+
"Rules": [
57+
{
58+
"ID": "AbortIncompleteMultipartUploads",
59+
"Status": "Enabled",
60+
"Prefix": "",
61+
"AbortIncompleteMultipartUpload": {
62+
"DaysAfterInitiation": 1
63+
}
64+
}
65+
]
66+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
apiVersion: objectbucket.io/v1alpha1
3+
kind: ObjectBucketClaim
4+
metadata:
5+
name: &name rubinobs-calibrations
6+
namespace: rook-ceph
7+
spec:
8+
bucketName: *name
9+
storageClassName: lfa
10+
additionalConfig:
11+
bucketOwner: calib
12+
bucketMaxSize: 4Ti
13+
bucketPolicy: |
14+
{
15+
"Version": "2012-10-17",
16+
"Statement": [
17+
{
18+
"Effect": "Allow",
19+
"Principal": {
20+
"AWS": "arn:aws:iam:::user/butler"
21+
},
22+
"Action": [
23+
"s3:GetObject",
24+
"s3:ListBucket",
25+
"s3:GetBucketLocation"
26+
],
27+
"Resource": [
28+
"arn:aws:s3:::rubinobs-calibrations",
29+
"arn:aws:s3:::rubinobs-calibrations/*"
30+
]
31+
},
32+
{
33+
"Effect": "Allow",
34+
"Principal": {
35+
"AWS": "arn:aws:iam:::user/oods-latiss"
36+
},
37+
"Action": [
38+
"s3:GetObject",
39+
"s3:ListBucket",
40+
"s3:GetBucketLocation"
41+
],
42+
"Resource": [
43+
"arn:aws:s3:::rubinobs-calibrations",
44+
"arn:aws:s3:::rubinobs-calibrations/*"
45+
]
46+
}
47+
]
48+
}
49+
bucketLifecycle: |
50+
{
51+
"Rules": [
52+
{
53+
"ID": "AbortIncompleteMultipartUploads",
54+
"Status": "Enabled",
55+
"Prefix": "",
56+
"AbortIncompleteMultipartUpload": {
57+
"DaysAfterInitiation": 1
58+
}
59+
}
60+
]
61+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
apiVersion: objectbucket.io/v1alpha1
3+
kind: ObjectBucketClaim
4+
metadata:
5+
name: &name rubinobs-lfa-ls
6+
namespace: rook-ceph
7+
spec:
8+
bucketName: *name
9+
storageClassName: lfa
10+
additionalConfig:
11+
bucketOwner: saluser
12+
bucketMaxSize: 1Ti
13+
bucketPolicy: |
14+
{
15+
"Version": "2012-10-17",
16+
"Statement": [
17+
{
18+
"Sid": "PublicRead",
19+
"Effect": "Allow",
20+
"Principal": "*",
21+
"Action": [
22+
"s3:GetObject",
23+
"s3:GetObjectVersion"
24+
],
25+
"Resource": ["arn:aws:s3:::*"]
26+
}
27+
]
28+
}
29+
bucketLifecycle: |
30+
{
31+
"Rules": [
32+
{
33+
"ID": "AbortIncompleteMultipartUploads",
34+
"Status": "Enabled",
35+
"Prefix": "",
36+
"AbortIncompleteMultipartUpload": {
37+
"DaysAfterInitiation": 1
38+
}
39+
},
40+
{
41+
"ID": "ExpireAfter30Days",
42+
"Status": "Enabled",
43+
"Prefix": "",
44+
"Expiration": {
45+
"Days": 30
46+
}
47+
}
48+
]
49+
}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
apiVersion: objectbucket.io/v1alpha1
3+
kind: ObjectBucketClaim
4+
metadata:
5+
name: &name rubinobs-raw-latiss
6+
namespace: rook-ceph
7+
labels:
8+
bucket-notification-lsst.s3.raw.latiss: lsst.s3.raw.latiss
9+
spec:
10+
bucketName: *name
11+
storageClassName: lfa
12+
additionalConfig:
13+
bucketOwner: latiss
14+
bucketMaxSize: 1Ti
15+
bucketPolicy: |
16+
{
17+
"Version": "2012-10-17",
18+
"Statement": [
19+
{
20+
"Effect": "Allow",
21+
"Principal": {
22+
"AWS": "arn:aws:iam:::user/butler"
23+
},
24+
"Action": [
25+
"s3:GetObject",
26+
"s3:ListBucket",
27+
"s3:GetBucketLocation"
28+
],
29+
"Resource": [
30+
"arn:aws:s3:::rubinobs-raw-latiss",
31+
"arn:aws:s3:::rubinobs-raw-latiss/*"
32+
]
33+
},
34+
{
35+
"Effect": "Allow",
36+
"Principal": {
37+
"AWS": "arn:aws:iam:::user/oods-latiss"
38+
},
39+
"Action": [
40+
"s3:GetObject",
41+
"s3:ListBucket",
42+
"s3:DeleteObject",
43+
"s3:GetBucketLocation",
44+
"s3:PutObject"
45+
],
46+
"Resource": [
47+
"arn:aws:s3:::rubinobs-raw-latiss",
48+
"arn:aws:s3:::rubinobs-raw-latiss/*"
49+
]
50+
}
51+
]
52+
}
53+
bucketLifecycle: |
54+
{
55+
"Rules": [
56+
{
57+
"ID": "AbortIncompleteMultipartUploads",
58+
"Status": "Enabled",
59+
"Prefix": "",
60+
"AbortIncompleteMultipartUpload": {
61+
"DaysAfterInitiation": 1
62+
}
63+
},
64+
{
65+
"ID": "ExpireAfter90Days",
66+
"Status": "Enabled",
67+
"Prefix": "",
68+
"Expiration": {
69+
"Days": 90
70+
}
71+
}
72+
]
73+
}
74+
---
75+
apiVersion: ceph.rook.io/v1
76+
kind: CephBucketNotification
77+
metadata:
78+
name: lsst.s3.raw.latiss
79+
namespace: rook-ceph
80+
spec:
81+
topic: lsst.s3.raw.latiss
82+
events:
83+
- s3:ObjectCreated:*

0 commit comments

Comments
 (0)