Skip to content

Commit 85691db

Browse files
authored
operator ack-sagemaker-controller (1.4.1)
1 parent e9f458d commit 85691db

File tree

31 files changed

+11082
-0
lines changed

31 files changed

+11082
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
FROM scratch
2+
3+
# Core bundle labels.
4+
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
5+
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
6+
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
7+
LABEL operators.operatorframework.io.bundle.package.v1=ack-sagemaker-controller
8+
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
9+
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
10+
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.0
11+
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
12+
LABEL operators.operatorframework.io.metrics.project_layout=unknown
13+
14+
# Labels for testing.
15+
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
16+
LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/
17+
18+
# Copy files to locations specified by labels.
19+
COPY bundle/manifests /manifests/
20+
COPY bundle/metadata /metadata/
21+
COPY bundle/tests/scorecard /tests/scorecard/

operators/ack-sagemaker-controller/1.4.1/manifests/ack-sagemaker-controller.clusterserviceversion.yaml

Lines changed: 598 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-sagemaker-metrics-service
6+
spec:
7+
ports:
8+
- name: metricsport
9+
port: 8080
10+
protocol: TCP
11+
targetPort: http
12+
selector:
13+
app.kubernetes.io/name: ack-sagemaker-controller
14+
type: ClusterIP
15+
status:
16+
loadBalancer: {}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-sagemaker-reader
6+
rules:
7+
- apiGroups:
8+
- sagemaker.services.k8s.aws
9+
resources:
10+
- apps
11+
- dataqualityjobdefinitions
12+
- domains
13+
- endpoints
14+
- endpointconfigs
15+
- featuregroups
16+
- hyperparametertuningjobs
17+
- inferencecomponents
18+
- labelingjobs
19+
- models
20+
- modelbiasjobdefinitions
21+
- modelexplainabilityjobdefinitions
22+
- modelpackages
23+
- modelpackagegroups
24+
- modelqualityjobdefinitions
25+
- monitoringschedules
26+
- notebookinstances
27+
- notebookinstancelifecycleconfigs
28+
- pipelines
29+
- pipelineexecutions
30+
- processingjobs
31+
- trainingjobs
32+
- transformjobs
33+
- userprofiles
34+
verbs:
35+
- get
36+
- list
37+
- watch
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Role
3+
metadata:
4+
creationTimestamp: null
5+
name: ack-sagemaker-writer
6+
rules:
7+
- apiGroups:
8+
- sagemaker.services.k8s.aws
9+
resources:
10+
- apps
11+
- dataqualityjobdefinitions
12+
- domains
13+
- endpoints
14+
- endpointconfigs
15+
- featuregroups
16+
- hyperparametertuningjobs
17+
- inferencecomponents
18+
- labelingjobs
19+
- models
20+
- modelbiasjobdefinitions
21+
- modelexplainabilityjobdefinitions
22+
- modelpackages
23+
- modelpackagegroups
24+
- modelqualityjobdefinitions
25+
- monitoringschedules
26+
- notebookinstances
27+
- notebookinstancelifecycleconfigs
28+
- pipelines
29+
- pipelineexecutions
30+
- processingjobs
31+
- trainingjobs
32+
- transformjobs
33+
- userprofiles
34+
verbs:
35+
- create
36+
- delete
37+
- get
38+
- list
39+
- patch
40+
- update
41+
- watch
42+
- apiGroups:
43+
- sagemaker.services.k8s.aws
44+
resources:
45+
- apps
46+
- dataqualityjobdefinitions
47+
- domains
48+
- endpoints
49+
- endpointconfigs
50+
- featuregroups
51+
- hyperparametertuningjobs
52+
- inferencecomponents
53+
- labelingjobs
54+
- models
55+
- modelbiasjobdefinitions
56+
- modelexplainabilityjobdefinitions
57+
- modelpackages
58+
- modelpackagegroups
59+
- modelqualityjobdefinitions
60+
- monitoringschedules
61+
- notebookinstances
62+
- notebookinstancelifecycleconfigs
63+
- pipelines
64+
- pipelineexecutions
65+
- processingjobs
66+
- trainingjobs
67+
- transformjobs
68+
- userprofiles
69+
verbs:
70+
- get
71+
- patch
72+
- update
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
annotations:
5+
controller-gen.kubebuilder.io/version: v0.16.2
6+
creationTimestamp: null
7+
name: apps.sagemaker.services.k8s.aws
8+
spec:
9+
group: sagemaker.services.k8s.aws
10+
names:
11+
kind: App
12+
listKind: AppList
13+
plural: apps
14+
singular: app
15+
scope: Namespaced
16+
versions:
17+
- additionalPrinterColumns:
18+
- jsonPath: .status.status
19+
name: STATUS
20+
type: string
21+
name: v1alpha1
22+
schema:
23+
openAPIV3Schema:
24+
description: App is the Schema for the Apps API
25+
properties:
26+
apiVersion:
27+
description: |-
28+
APIVersion defines the versioned schema of this representation of an object.
29+
Servers should convert recognized schemas to the latest internal value, and
30+
may reject unrecognized values.
31+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
32+
type: string
33+
kind:
34+
description: |-
35+
Kind is a string value representing the REST resource this object represents.
36+
Servers may infer this from the endpoint the client submits requests to.
37+
Cannot be updated.
38+
In CamelCase.
39+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
40+
type: string
41+
metadata:
42+
type: object
43+
spec:
44+
description: AppSpec defines the desired state of App.
45+
properties:
46+
appName:
47+
description: |-
48+
The name of the app.
49+
50+
Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$`
51+
type: string
52+
appType:
53+
description: The type of app.
54+
type: string
55+
domainID:
56+
description: |-
57+
The domain ID.
58+
59+
Regex Pattern: `^d-(-*[a-z0-9]){1,61}$`
60+
type: string
61+
resourceSpec:
62+
description: |-
63+
The instance type and the Amazon Resource Name (ARN) of the SageMaker image
64+
created on the instance.
65+
66+
The value of InstanceType passed as part of the ResourceSpec in the CreateApp
67+
call overrides the value passed as part of the ResourceSpec configured for
68+
the user profile or the domain. If InstanceType is not specified in any of
69+
those three ResourceSpec values for a KernelGateway app, the CreateApp call
70+
fails with a request validation error.
71+
properties:
72+
instanceType:
73+
type: string
74+
lifecycleConfigARN:
75+
type: string
76+
sageMakerImageARN:
77+
type: string
78+
sageMakerImageVersionARN:
79+
type: string
80+
sageMakerImageVersionAlias:
81+
type: string
82+
type: object
83+
tags:
84+
description: |-
85+
Each tag consists of a key and an optional value. Tag keys must be unique
86+
per resource.
87+
items:
88+
description: |-
89+
A tag object that consists of a key and an optional value, used to manage
90+
metadata for SageMaker Amazon Web Services resources.
91+
92+
You can add tags to notebook instances, training jobs, hyperparameter tuning
93+
jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations,
94+
and endpoints. For more information on adding tags to SageMaker resources,
95+
see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html).
96+
97+
For more information on adding metadata to your Amazon Web Services resources
98+
with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
99+
For advice on best practices for managing Amazon Web Services resources with
100+
tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services
101+
Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf).
102+
properties:
103+
key:
104+
type: string
105+
value:
106+
type: string
107+
type: object
108+
type: array
109+
userProfileName:
110+
description: |-
111+
The user profile name. If this value is not set, then SpaceName must be set.
112+
113+
Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$`
114+
type: string
115+
required:
116+
- appName
117+
- appType
118+
- domainID
119+
type: object
120+
status:
121+
description: AppStatus defines the observed state of App
122+
properties:
123+
ackResourceMetadata:
124+
description: |-
125+
All CRs managed by ACK have a common `Status.ACKResourceMetadata` member
126+
that is used to contain resource sync state, account ownership,
127+
constructed ARN for the resource
128+
properties:
129+
arn:
130+
description: |-
131+
ARN is the Amazon Resource Name for the resource. This is a
132+
globally-unique identifier and is set only by the ACK service controller
133+
once the controller has orchestrated the creation of the resource OR
134+
when it has verified that an "adopted" resource (a resource where the
135+
ARN annotation was set by the Kubernetes user on the CR) exists and
136+
matches the supplied CR's Spec field values.
137+
https://github.com/aws/aws-controllers-k8s/issues/270
138+
type: string
139+
ownerAccountID:
140+
description: |-
141+
OwnerAccountID is the AWS Account ID of the account that owns the
142+
backend AWS service API resource.
143+
type: string
144+
region:
145+
description: Region is the AWS region in which the resource exists
146+
or will exist.
147+
type: string
148+
required:
149+
- ownerAccountID
150+
- region
151+
type: object
152+
conditions:
153+
description: |-
154+
All CRs managed by ACK have a common `Status.Conditions` member that
155+
contains a collection of `ackv1alpha1.Condition` objects that describe
156+
the various terminal states of the CR and its backend AWS service API
157+
resource
158+
items:
159+
description: |-
160+
Condition is the common struct used by all CRDs managed by ACK service
161+
controllers to indicate terminal states of the CR and its backend AWS
162+
service API resource
163+
properties:
164+
lastTransitionTime:
165+
description: Last time the condition transitioned from one status
166+
to another.
167+
format: date-time
168+
type: string
169+
message:
170+
description: A human readable message indicating details about
171+
the transition.
172+
type: string
173+
reason:
174+
description: The reason for the condition's last transition.
175+
type: string
176+
status:
177+
description: Status of the condition, one of True, False, Unknown.
178+
type: string
179+
type:
180+
description: Type is the type of the Condition
181+
type: string
182+
required:
183+
- status
184+
- type
185+
type: object
186+
type: array
187+
status:
188+
description: The status.
189+
type: string
190+
type: object
191+
type: object
192+
served: true
193+
storage: true
194+
subresources:
195+
status: {}
196+
status:
197+
acceptedNames:
198+
kind: ""
199+
plural: ""
200+
conditions: null
201+
storedVersions: null

0 commit comments

Comments
 (0)