Skip to content

Commit

Permalink
Merge pull request argoproj#14 from blackrock/mmagaldi
Browse files Browse the repository at this point in the history
cleaning up artifact related documentation
  • Loading branch information
VaibhavPage authored Jun 6, 2018
2 parents 2ad7e88 + 4f9f441 commit daf02ab
Show file tree
Hide file tree
Showing 7 changed files with 230 additions and 674 deletions.
22 changes: 4 additions & 18 deletions docs/artifact-guide.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,8 @@
# Artifact Guide
`Sensors` supports S3 artifact repositories. To take advantage of these artifact signals, you can use this guide to get started with installing artifact services.

### Prerequisites
Up & Running kubernetes instance
`Sensors` support S3 artifact notifications. To take advantage of these artifact signals, you can use this guide to get started with installing artifact services.

## Minio
[Minio](https://www.minio.io/) is an distributed object storage server.

### Install
```
$ brew install kubernetes-helm # mac
$ helm init
$ helm repo add stable https://kubernetes-charts.storage.googleapis.com
$ helm repo update
$ helm install stable/minio --name artifacts --set service.type=LoadBalancer
$ helm upgrade -f docs/minio-config.yaml stable/minio
```
[Minio](https://www.minio.io/) is an distributed object storage server. Follow the Minio [Bucket Notification Guide](https://docs.minio.io/docs/minio-bucket-notification-guide) for help with configuring your minio server to listen and monitor for bucket event notifications. Note that you will need an `Axis` supported message queue up and running as a prerequisite for configuring your notification targets (i.e. NATS, WebHooks, Kafka, etc.).

Note: When minio is installed via Helm, it uses the following hard-wired default credentials and creates a kubernetes secret with a hash of these keys. Signal specifications rely on kubernetes secrets instead of the raw keys.
- AccessKey: AKIAIOSFODNN7EXAMPLE
- SecretKey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
### Enabling bucket notifications
Once the Minio server is configured with a notification target and you have restarted the server to put the changes into effect, you now need to explicitely enable event notifications for a specified bucket. Enabling these notifications are out of scope of `Axis` since bucket notifications are a construct within Minio that exists at the `bucket` level. This means that if `Axis` was responsible for the lifecycle of the bucket notifications, multiple sensors on the same S3 bucket would conflict with eachother. Thus, creating, updating, and deleting the Minio bucket notifications should be delegated to a separate process with knowledge of all notification targets including those outside of the `Axis` project.
8 changes: 1 addition & 7 deletions examples/s3-sensor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ spec:
artifact:
s3:
bucket: hello
event: s3:ObjectCreated:Put
endpoint: artifacts-minio.default:9000
insecure: true
accessKey:
Expand All @@ -18,13 +19,6 @@ spec:
secretKey:
key: secretkey
name: artifacts-minio
event: s3:ObjectCreated:Put
arn:
partition: minio
service: sqs
region: us-east-1
accountID: "1"
resource: nats
stream:
nats:
url: nats://example-nats-cluster:4222
Expand Down
Loading

0 comments on commit daf02ab

Please sign in to comment.