Skip to content

Commit

Permalink
Releases 1.1.0 (#54)
Browse files Browse the repository at this point in the history
New Features:
- Added Site CRD
- Added Allocation CRD
- Added Subnet CRD

Improvements:
- Disabling CalicoWatcher when Calico CNI not detected
- Added */finalizers resource for all CRDs' RBAC

Bug Fixes:
- Fixed finalizers names for all CRDs
- Minor fixes and linter warnings fixes

Co-authored-by: Artashes Balabekyan <[email protected]>
  • Loading branch information
pogossian and artashesbalabekyan authored Feb 2, 2022
1 parent 745a016 commit b708889
Show file tree
Hide file tree
Showing 9 changed files with 751 additions and 3 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:experimental
# Build the manager binary
FROM golang:1.16 as builder
FROM golang:1.17 as builder

WORKDIR /workspace

Expand Down
4 changes: 2 additions & 2 deletions deploy/charts/netris-operator/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.4.3
version: 0.5.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: v1.0.3
appVersion: v1.1.0
home: https://github.com/netrisai/netris-operator
icon: https://www.netris.ai/wp-content/uploads/2021/01/logo-300.png # [todo] Change url to permalink
keywords:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: allocationmeta.k8s.netris.ai
spec:
group: k8s.netris.ai
names:
kind: AllocationMeta
listKind: AllocationMetaList
plural: allocationmeta
singular: allocationmeta
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: AllocationMeta is the Schema for the allocationmeta API
properties:
apiVersion:
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'
type: string
kind:
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'
type: string
metadata:
type: object
spec:
description: AllocationMetaSpec defines the desired state of AllocationMeta
properties:
allocationGeneration:
format: int64
type: integer
allocationName:
type: string
id:
type: integer
imported:
description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
Important: Run "make" to regenerate code after modifying this file'
type: boolean
prefix:
type: string
reclaimPolicy:
type: boolean
tenant:
type: string
required:
- allocationGeneration
- allocationName
- id
- imported
- prefix
- reclaimPolicy
- tenant
type: object
status:
description: AllocationMetaStatus defines the observed state of AllocationMeta
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
82 changes: 82 additions & 0 deletions deploy/charts/netris-operator/crds/k8s.netris.ai_allocations.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: allocations.k8s.netris.ai
spec:
group: k8s.netris.ai
names:
kind: Allocation
listKind: AllocationList
plural: allocations
singular: allocation
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.prefix
name: Prefix
type: string
- jsonPath: .spec.tenant
name: Tenant
type: string
- jsonPath: .status.status
name: Status
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: Allocation is the Schema for the allocations API
properties:
apiVersion:
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'
type: string
kind:
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'
type: string
metadata:
type: object
spec:
description: AllocationSpec defines the desired state of Allocation
properties:
prefix:
pattern: (^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/([0-9]|[12]\d|3[0-2]))?$)|(^((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?(\/([1-9]|[1-5][0-9]|6[0-4]))?$)
type: string
tenant:
type: string
required:
- prefix
- tenant
type: object
status:
description: AllocationStatus defines the observed state of Allocation
properties:
message:
type: string
status:
description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
of cluster Important: Run "make" to regenerate code after modifying
this file'
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
90 changes: 90 additions & 0 deletions deploy/charts/netris-operator/crds/k8s.netris.ai_sitemeta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: sitemeta.k8s.netris.ai
spec:
group: k8s.netris.ai
names:
kind: SiteMeta
listKind: SiteMetaList
plural: sitemeta
singular: sitemeta
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: SiteMeta is the Schema for the sitemeta API
properties:
apiVersion:
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'
type: string
kind:
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'
type: string
metadata:
type: object
spec:
description: SiteMetaSpec defines the desired state of SiteMeta
properties:
aclDefaultPolicy:
type: string
id:
type: integer
imported:
description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
Important: Run "make" to regenerate code after modifying this file'
type: boolean
publicAsn:
type: integer
reclaimPolicy:
type: boolean
rohAsn:
type: integer
rohRoutingProfile:
type: integer
siteGeneration:
format: int64
type: integer
siteMesh:
type: string
siteName:
type: string
vmAsn:
type: integer
required:
- aclDefaultPolicy
- id
- imported
- publicAsn
- reclaimPolicy
- rohAsn
- rohRoutingProfile
- siteGeneration
- siteMesh
- siteName
- vmAsn
type: object
status:
description: SiteMetaStatus defines the observed state of SiteMeta
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
123 changes: 123 additions & 0 deletions deploy/charts/netris-operator/crds/k8s.netris.ai_sites.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.1
creationTimestamp: null
name: sites.k8s.netris.ai
spec:
group: k8s.netris.ai
names:
kind: Site
listKind: SiteList
plural: sites
singular: site
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.publicAsn
name: Public ASN
type: integer
- jsonPath: .spec.rohAsn
name: ROH ASN
type: integer
- jsonPath: .spec.vmAsn
name: VM ASN
type: integer
- jsonPath: .spec.rohRoutingProfile
name: ROH Routing Profile
type: string
- jsonPath: .spec.siteMesh
name: Site Mesh
type: string
- jsonPath: .spec.aclDefaultPolicy
name: ACL Default Policy
type: string
- jsonPath: .status.status
name: Status
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: Site is the Schema for the sites API
properties:
apiVersion:
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'
type: string
kind:
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'
type: string
metadata:
type: object
spec:
description: SiteSpec defines the desired state of Site
properties:
aclDefaultPolicy:
enum:
- permit
- deny
type: string
publicAsn:
maximum: 65534
minimum: 0
type: integer
rohAsn:
maximum: 65534
minimum: 0
type: integer
rohRoutingProfile:
enum:
- default
- default_agg
- full
type: string
siteMesh:
enum:
- disabled
- hub
- spoke
- dspoke
type: string
vmAsn:
maximum: 65534
minimum: 0
type: integer
required:
- aclDefaultPolicy
- publicAsn
- rohAsn
- rohRoutingProfile
- siteMesh
- vmAsn
type: object
status:
description: SiteStatus defines the observed state of Site
properties:
message:
type: string
status:
description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
of cluster Important: Run "make" to regenerate code after modifying
this file'
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Loading

0 comments on commit b708889

Please sign in to comment.