Skip to content

Commit edb7b42

Browse files
Release 0.4.0 (#165)
1 parent 64946ed commit edb7b42

17 files changed

+4686
-123
lines changed

bundle.Dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM scratch
2+
3+
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
4+
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
5+
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
6+
LABEL operators.operatorframework.io.bundle.package.v1=mongodb-atlas-kubernetes
7+
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
8+
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.4.2
9+
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
10+
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3
11+
LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/
12+
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
13+
COPY bundle/manifests /manifests/
14+
COPY bundle/metadata /metadata/
15+
COPY bundle/tests/scorecard /tests/scorecard/

bundle/manifests/atlas.mongodb.com_atlasclusters.yaml

Lines changed: 348 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
annotations:
5+
controller-gen.kubebuilder.io/version: v0.4.1
6+
creationTimestamp: null
7+
name: atlasdatabaseusers.atlas.mongodb.com
8+
spec:
9+
group: atlas.mongodb.com
10+
names:
11+
kind: AtlasDatabaseUser
12+
listKind: AtlasDatabaseUserList
13+
plural: atlasdatabaseusers
14+
singular: atlasdatabaseuser
15+
scope: Namespaced
16+
versions:
17+
- additionalPrinterColumns:
18+
- jsonPath: .spec.name
19+
name: Name
20+
type: string
21+
name: v1
22+
schema:
23+
openAPIV3Schema:
24+
description: AtlasDatabaseUser is the Schema for the Atlas Database User API
25+
properties:
26+
apiVersion:
27+
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
28+
type: string
29+
kind:
30+
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
31+
type: string
32+
metadata:
33+
type: object
34+
spec:
35+
description: AtlasDatabaseUserSpec defines the desired state of Database User in Atlas
36+
properties:
37+
databaseName:
38+
default: admin
39+
description: DatabaseName is a Database against which Atlas authenticates the user. Default value is 'admin'.
40+
type: string
41+
deleteAfterDate:
42+
description: DeleteAfterDate is a timestamp in ISO 8601 date and time format in UTC after which Atlas deletes the user. The specified date must be in the future and within one week.
43+
type: string
44+
labels:
45+
description: Labels is an array containing key-value pairs that tag and categorize the database user. Each key and value has a maximum length of 255 characters.
46+
items:
47+
description: LabelSpec contains key-value pairs that tag and categorize the Cluster/DBUser
48+
properties:
49+
key:
50+
maxLength: 255
51+
type: string
52+
value:
53+
type: string
54+
required:
55+
- key
56+
- value
57+
type: object
58+
type: array
59+
passwordSecretRef:
60+
description: PasswordSecret is a reference to the Secret keeping the user password.
61+
properties:
62+
name:
63+
description: Name is the name of the Kubernetes Resource
64+
type: string
65+
required:
66+
- name
67+
type: object
68+
projectRef:
69+
description: Project is a reference to AtlasProject resource the user belongs to
70+
properties:
71+
name:
72+
description: Name is the name of the Kubernetes Resource
73+
type: string
74+
required:
75+
- name
76+
type: object
77+
roles:
78+
description: Roles is an array of this user's roles and the databases / collections on which the roles apply. A role allows the user to perform particular actions on the specified database.
79+
items:
80+
description: RoleSpec allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well.
81+
properties:
82+
collectionName:
83+
description: CollectionName is a collection for which the role applies.
84+
type: string
85+
databaseName:
86+
description: DatabaseName is a database on which the user has the specified role. A role on the admin database can include privileges that apply to the other databases.
87+
type: string
88+
roleName:
89+
description: RoleName is a name of the role. This value can either be a built-in role or a custom role.
90+
type: string
91+
required:
92+
- databaseName
93+
- roleName
94+
type: object
95+
minItems: 1
96+
type: array
97+
scopes:
98+
description: Scopes is an array of clusters and Atlas Data Lakes that this user has access to.
99+
items:
100+
description: ScopeSpec if present a database user only have access to the indicated resource (Cluster or Atlas Data Lake) if none is given then it has access to all. It's highly recommended to restrict the access of the database users only to a limited set of resources.
101+
properties:
102+
name:
103+
description: Name is a name of the cluster or Atlas Data Lake that the user has access to.
104+
type: string
105+
type:
106+
description: Type is a type of resource that the user has access to.
107+
enum:
108+
- CLUSTER
109+
- DATA_LAKE
110+
type: string
111+
required:
112+
- name
113+
- type
114+
type: object
115+
type: array
116+
username:
117+
description: Username is a username for authenticating to MongoDB.
118+
type: string
119+
required:
120+
- passwordSecretRef
121+
- projectRef
122+
- roles
123+
- username
124+
type: object
125+
status:
126+
description: AtlasDatabaseUserStatus defines the observed state of AtlasProject
127+
properties:
128+
conditions:
129+
description: Conditions is the list of statuses showing the current state of the Atlas Custom Resource
130+
items:
131+
description: Condition describes the state of an Atlas Custom Resource at a certain point.
132+
properties:
133+
lastTransitionTime:
134+
description: Last time the condition transitioned from one status to another.
135+
format: date-time
136+
type: string
137+
message:
138+
description: A human readable message indicating details about the transition.
139+
type: string
140+
reason:
141+
description: The reason for the condition's last transition.
142+
type: string
143+
status:
144+
description: Status of the condition, one of True, False, Unknown.
145+
type: string
146+
type:
147+
description: Type of Atlas Custom Resource condition.
148+
type: string
149+
required:
150+
- status
151+
- type
152+
type: object
153+
type: array
154+
connectionSecrets:
155+
additionalProperties:
156+
type: string
157+
type: object
158+
observedGeneration:
159+
description: ObservedGeneration indicates the generation of the resource specification that the Atlas Operator is aware of. The Atlas Operator updates this field to the 'metadata.generation' as soon as it starts reconciliation of the resource.
160+
format: int64
161+
type: integer
162+
required:
163+
- conditions
164+
type: object
165+
type: object
166+
served: true
167+
storage: true
168+
subresources:
169+
status: {}
170+
status:
171+
acceptedNames:
172+
kind: ""
173+
plural: ""
174+
conditions: []
175+
storedVersions: []
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
annotations:
5+
controller-gen.kubebuilder.io/version: v0.4.1
6+
creationTimestamp: null
7+
name: atlasprojects.atlas.mongodb.com
8+
spec:
9+
group: atlas.mongodb.com
10+
names:
11+
kind: AtlasProject
12+
listKind: AtlasProjectList
13+
plural: atlasprojects
14+
singular: atlasproject
15+
scope: Namespaced
16+
versions:
17+
- additionalPrinterColumns:
18+
- jsonPath: .spec.name
19+
name: Name
20+
type: string
21+
name: v1
22+
schema:
23+
openAPIV3Schema:
24+
description: AtlasProject is the Schema for the atlasprojects API
25+
properties:
26+
apiVersion:
27+
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
28+
type: string
29+
kind:
30+
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
31+
type: string
32+
metadata:
33+
type: object
34+
spec:
35+
description: AtlasProjectSpec defines the desired state of Project in Atlas
36+
properties:
37+
connectionSecretRef:
38+
description: ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to Atlas (organization ID, API keys). The default Operator connection configuration will be used if not provided.
39+
properties:
40+
name:
41+
description: Name is the name of the Kubernetes Resource
42+
type: string
43+
required:
44+
- name
45+
type: object
46+
name:
47+
description: Name is the name of the Project that is created in Atlas by the Operator if it doesn't exist yet.
48+
type: string
49+
projectIpAccessList:
50+
description: ProjectIPAccessList allows to enable the IP Access List for the Project. See more information at https://docs.atlas.mongodb.com/reference/api/ip-access-list/add-entries-to-access-list/
51+
items:
52+
properties:
53+
awsSecurityGroup:
54+
description: Unique identifier of AWS security group in this access list entry.
55+
type: string
56+
cidrBlock:
57+
description: Range of IP addresses in CIDR notation in this access list entry.
58+
type: string
59+
comment:
60+
description: Comment associated with this access list entry.
61+
type: string
62+
deleteAfterDate:
63+
description: Timestamp in ISO 8601 date and time format in UTC after which Atlas deletes the temporary access list entry.
64+
type: string
65+
ipAddress:
66+
description: Entry using an IP address in this access list entry.
67+
type: string
68+
type: object
69+
type: array
70+
required:
71+
- name
72+
type: object
73+
status:
74+
description: AtlasProjectStatus defines the observed state of AtlasProject
75+
properties:
76+
conditions:
77+
description: Conditions is the list of statuses showing the current state of the Atlas Custom Resource
78+
items:
79+
description: Condition describes the state of an Atlas Custom Resource at a certain point.
80+
properties:
81+
lastTransitionTime:
82+
description: Last time the condition transitioned from one status to another.
83+
format: date-time
84+
type: string
85+
message:
86+
description: A human readable message indicating details about the transition.
87+
type: string
88+
reason:
89+
description: The reason for the condition's last transition.
90+
type: string
91+
status:
92+
description: Status of the condition, one of True, False, Unknown.
93+
type: string
94+
type:
95+
description: Type of Atlas Custom Resource condition.
96+
type: string
97+
required:
98+
- status
99+
- type
100+
type: object
101+
type: array
102+
expiredIpAccessList:
103+
description: The list of IP Access List entries that are expired due to 'deleteAfterDate' being less than the current date. Note, that this field is updated by the Atlas Operator only after specification changes
104+
items:
105+
properties:
106+
awsSecurityGroup:
107+
description: Unique identifier of AWS security group in this access list entry.
108+
type: string
109+
cidrBlock:
110+
description: Range of IP addresses in CIDR notation in this access list entry.
111+
type: string
112+
comment:
113+
description: Comment associated with this access list entry.
114+
type: string
115+
deleteAfterDate:
116+
description: Timestamp in ISO 8601 date and time format in UTC after which Atlas deletes the temporary access list entry.
117+
type: string
118+
ipAddress:
119+
description: Entry using an IP address in this access list entry.
120+
type: string
121+
type: object
122+
type: array
123+
id:
124+
description: The ID of the Atlas Project
125+
type: string
126+
observedGeneration:
127+
description: ObservedGeneration indicates the generation of the resource specification that the Atlas Operator is aware of. The Atlas Operator updates this field to the 'metadata.generation' as soon as it starts reconciliation of the resource.
128+
format: int64
129+
type: integer
130+
required:
131+
- conditions
132+
type: object
133+
type: object
134+
served: true
135+
storage: true
136+
subresources:
137+
status: {}
138+
status:
139+
acceptedNames:
140+
kind: ""
141+
plural: ""
142+
conditions: []
143+
storedVersions: []
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+
labels:
6+
control-plane: controller-manager
7+
name: mongodb-atlas-controller-manager-metrics-service
8+
spec:
9+
ports:
10+
- name: https
11+
port: 8443
12+
targetPort: https
13+
selector:
14+
control-plane: controller-manager
15+
status:
16+
loadBalancer: {}

0 commit comments

Comments
 (0)