Skip to content

Commit 337bf86

Browse files
authored
Merge branch 'main' into add-deploy-fsxn-with-cloudformation
2 parents a70ee4e + 87ce7cf commit 337bf86

File tree

25 files changed

+13615
-470
lines changed

25 files changed

+13615
-470
lines changed

.github/linters/.tflint.hcl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ rule "terraform_required_providers" {
1313
rule "terraform_unused_declarations" {
1414
enabled = false
1515
}
16+
17+
rule "terraform_module_pinned_source" {
18+
enabled = false
19+
}

Management-Utilities/auto_create_sm_relationships/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,19 @@ To run it as a Lambda function you will need to:
7070
- Create the AWS service endpoints mentioned above.
7171
- Adjust the default timeout from 4 seconds to at least 60 seconds.
7272
- Once you have tested that it run successfully, creating an eventBridge that will trigger it to run on a regular basis (e.g. once or twice a day).
73+
74+
## Author Information
75+
76+
This repository is maintained by the contributors listed on [GitHub](https://github.com/NetApp/FSx-ONTAP-samples-scripts/graphs/contributors).
77+
78+
## License
79+
80+
Licensed under the Apache License, Version 2.0 (the "License").
81+
82+
You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0).
83+
84+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" basis, without WARRANTIES or conditions of any kind, either express or implied.
85+
86+
See the License for the specific language governing permissions and limitations under the License.
87+
88+
© 2024 NetApp, Inc. All Rights Reserved.

Management-Utilities/fsxn-rotate-secret/fsxn_rotate_secret.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import os
1313
import json
1414

15-
charactersToExcludeInPassword = '/"\'\\'
15+
charactersToExcludeInPassword = '/"*\'\\'
1616

1717
################################################################################
1818
# This function is used to get the value of a tag from a list of tags.

Monitoring/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Monitoring Overview
2+
This subfolder contains tools that can help you monitor your FSx ONTAP file system.
3+
4+
| Tool | Description |
5+
| --- | --- |
6+
| [LUN-monitoring](/Monitoring/LUN-monitoring) | This tool exports FSxN LUN metrics to CloudWatch and creates a CloudWatch dashboard to you can monitor your LUNs. |
7+
| [auto-add-cw-alarms](/Monitoring/auto-add-cw-alarms) | This tool will automatically add CloudWatch alarms that will alert you when:<br><ul><li>The utilization of the primary storage of any FSx ONTAP file system gets above a specified threshold.</li><li>The CPU utilization of any file system gets above a specified threshold.</li><li>The utilization of any volume within any file system gets above a specified threshold.</li></ul>|
8+
| [monitor-ontap-services](/Monitoring/monitor-ontap-services)| This tool helps you monitor various Data ONTAP services and send SNS alerts if anything of interest is detected. The following services are monitored:<br><ul><li>EMS Messages</li><li>SnapMirror health, including tag time</li><li>Aggregate, volume or Quota utilization based on user provided thresholds</li><li>Overall health of the File System</ul>|
9+
| [monitor_fsxn_with_harvest_on_eks](/Monitoring/monitor_fsxn_with_harvest_on_eks) | This tool helps you install Harvest, and Prometheus and Grafana if needed, into your EKS cluster so you can use them to monitor an FSx file system. |
10+
11+
## Author Information
12+
13+
This repository is maintained by the contributors listed on [GitHub](https://github.com/NetApp/FSx-ONTAP-samples-scripts/graphs/contributors).
14+
15+
## License
16+
17+
Licensed under the Apache License, Version 2.0 (the "License").
18+
19+
You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0).
20+
21+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an _"AS IS"_ basis, without WARRANTIES or conditions of any kind, either express or implied.
22+
23+
See the License for the specific language governing permissions and limitations under the License.
24+
25+
© 2024 NetApp, Inc. All Rights Reserved.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: v2
2+
name: harvest
3+
description: A Helm chart for harvest
4+
type: application
5+
version: 0.1.0
6+
appVersion: "1.0.0"
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
annotations:
5+
kompose.cmd: kompose convert --file harvest-compose.yml --volumes configMap -o kub.yaml
6+
kompose.version: 1.28.0 (HEAD)
7+
creationTimestamp: null
8+
labels:
9+
io.kompose.service: harvest-service
10+
name: harvest
11+
namespace: harvest
12+
spec:
13+
replicas: 1
14+
selector:
15+
matchLabels:
16+
io.kompose.service: harvest-service
17+
strategy:
18+
type: Recreate
19+
template:
20+
metadata:
21+
annotations:
22+
kompose.cmd: kompose convert --file harvest-compose.yml --volumes configMap -o kub.yaml
23+
kompose.version: 1.28.0 (HEAD)
24+
creationTimestamp: null
25+
labels:
26+
io.kompose.network/harvest-default: "true"
27+
io.kompose.service: harvest-service
28+
spec:
29+
containers:
30+
- args:
31+
- --poller
32+
- fsx
33+
- --promPort
34+
- "12990"
35+
- --config
36+
- /opt/harvest.yml
37+
image: ghcr.io/netapp/harvest:latest
38+
name: poller-fsx
39+
ports:
40+
- containerPort: 12990
41+
resources: {}
42+
volumeMounts:
43+
- mountPath: /opt/harvest/cert
44+
name: harvest-cm
45+
- mountPath: /opt/harvest.yml
46+
name: harvest-config
47+
subPath: harvest.yml
48+
restartPolicy: Always
49+
volumes:
50+
- configMap:
51+
name: harvest-cm
52+
name: harvest-cm
53+
- configMap:
54+
items:
55+
- key: harvest.yml
56+
path: harvest.yml
57+
name: harvest-config
58+
name: harvest-config
59+
status: {}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
labels:
5+
io.kompose.service: harvest-service
6+
name: harvest-cm
7+
namespace: harvest
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
annotations:
5+
use-subpath: "true"
6+
creationTimestamp: null
7+
labels:
8+
io.kompose.service: harvest-service
9+
name: harvest-config
10+
namespace: harvest
11+
data:
12+
harvest.yml: |+
13+
Tools:
14+
Exporters:
15+
prometheus1:
16+
exporter: Prometheus
17+
port_range: 12990-14000
18+
add_meta_tags: false
19+
Defaults:
20+
use_insecure_tls: true
21+
Pollers:
22+
fsx:
23+
datacenter: fsx
24+
addr: {{ .Values.fsx.managment_lif }}
25+
username: {{ .Values.fsx.username }}
26+
password: {{ .Values.fsx.password }}
27+
collectors:
28+
- Zapi
29+
- ZapiPerf
30+
- Rest
31+
- RestPerf
32+
- Ems
33+
exporters:
34+
- prometheus1
35+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: monitoring.coreos.com/v1
2+
kind: ServiceMonitor
3+
metadata:
4+
annotations:
5+
release-name: harvest
6+
release-namespace: harvest
7+
labels:
8+
release: {{ .Values.prometheus }}
9+
name: harvest-exporter
10+
namespace: harvest
11+
spec:
12+
endpoints:
13+
- interval: 30s
14+
port: "12990"
15+
path: /metrics
16+
namespaceSelector:
17+
matchNames:
18+
- harvest
19+
selector:
20+
matchLabels:
21+
io.kompose.service: harvest-service
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
annotations:
5+
kompose.cmd: kompose convert --file harvest-compose.yml --volumes configMap -o kub.yaml
6+
kompose.version: 1.28.0 (HEAD)
7+
creationTimestamp: null
8+
labels:
9+
io.kompose.service: harvest-service
10+
name: harvest-service
11+
namespace: harvest
12+
spec:
13+
ports:
14+
- name: "12990"
15+
port: 12990
16+
targetPort: 12990
17+
selector:
18+
io.kompose.service: harvest-service
19+
status:
20+
loadBalancer: {}

0 commit comments

Comments
 (0)