Skip to content

Commit

Permalink
adding CRD install instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
cnadolny committed Jun 5, 2020
1 parent 73b7b3d commit b2f3a2a
Show file tree
Hide file tree
Showing 7 changed files with 281 additions and 10 deletions.
27 changes: 24 additions & 3 deletions charts/azure-service-operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ azureOperatorKeyvault: OperatorSecretKeyVault

### Install Chart

#### Pre-Install

If you are deploying into an already created namespace, be sure to set the following variable to false:
```
createNamespace: False
Expand All @@ -79,10 +81,29 @@ and specify the namespace name:
namespace: your-namespace
```

To upgrade your existing CRDs, or install the latest version, run:
Prior to installing the Helm Chart, we recommend updating your CRDs, as Helm will not remove or update them if they already exist on the cluster.

##### Default Namespace

If you do not need a custom namespace, run the command below to update your CRDs:
```
kubectl apply -f charts/azure-service-operator/crds/
kubectl apply -f ./crds
```

##### Custom Namespace

If installing to a custom namespace, some additional variable replacement will need to be done on the CRDs. Run the command below, replacing <your namespace> with the desired custom namespace:
```
NAMESPACE=<your namespace>
find ./charts/azure-service-operator/templates/generated/ -type f -exec perl -pi -e s,azureoperator-system,$NAMESPACE,g {} \;
```

Then, apply the CRDs:
```
kubectl apply -f ./crds
```

#### Install

Finally, install the chart with your added values. The chart can be installed by using a values file or environment variables.
```
Expand Down Expand Up @@ -112,7 +133,7 @@ The following table lists the configurable parameters of the azure-service-opera
| `azureClientSecret` | Azure Service Principal Client Secret | `` |
| `azureUseMI` | Set to True if using Managed Identity for authentication | `False` |
| `azureOperatorKeyvault` | Set this value with the name of your Azure Key Vault resource if you prefer to store secrets in Key Vault rather than as Kubernetes secrets (default) | `` |
| `image.repository` | Image repository | `mcr.microsoft.com/k8s/azure-service-operator:latest` |
| `image.repository` | Image repository | `mcr.microsoft.com/k8s/azure-service-operator:0.0.20258` |
| `cloudEnvironment` | Set the cloud environment, possible values include: AzurePublicCloud, AzureUSGovernmentCloud, AzureChinaCloud, AzureGermanCloud | `AzurePublicCloud` |
| `createNamespace` | Set to True if you would like the namespace autocreated, otherwise False if you have an existing namespace. If using an existing namespace, the `namespace` field must also be updated | `True` |
| `namespace` | Configure a custom namespace to deploy the operator into | `azureoperator-system` |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.5
creationTimestamp: null
name: rediscacheactions.azure.microsoft.com
spec:
additionalPrinterColumns:
- JSONPath: .status.provisioned
name: Provisioned
type: string
- JSONPath: .status.message
name: Message
type: string
group: azure.microsoft.com
names:
kind: RedisCacheAction
listKind: RedisCacheActionList
plural: rediscacheactions
singular: rediscacheaction
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: RedisCacheAction is the Schema for the rediscacheactions 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: RedisCacheActionSpec defines the desired state of RedisCacheAction
properties:
actionName:
enum:
- rollallkeys
- rollprimarykey
- rollsecondarykey
type: string
cacheName:
type: string
keyVaultToStoreSecrets:
type: string
resourceGroup:
type: string
secretName:
type: string
required:
- actionName
- cacheName
- resourceGroup
type: object
status:
description: ASOStatus (AzureServiceOperatorsStatus) defines the observed
state of resource actions
properties:
completed:
format: date-time
type: string
containsUpdate:
type: boolean
failedProvisioning:
type: boolean
flattenedSecrets:
type: boolean
message:
type: string
pollingUrl:
type: string
provisioned:
type: boolean
provisioning:
type: boolean
requested:
format: date-time
type: string
resourceId:
type: string
specHash:
type: string
state:
type: string
type: object
type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.5
creationTimestamp: null
name: rediscachefirewallrules.azure.microsoft.com
spec:
additionalPrinterColumns:
- JSONPath: .status.provisioned
name: Provisioned
type: string
- JSONPath: .status.message
name: Message
type: string
group: azure.microsoft.com
names:
kind: RedisCacheFirewallRule
listKind: RedisCacheFirewallRuleList
plural: rediscachefirewallrules
singular: rediscachefirewallrule
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: RedisCacheFirewallRule is the Schema for the rediscachefirewallrules
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: RedisCacheFirewallRuleSpec defines the desired state of RedisCacheFirewallRule
properties:
properties:
description: RedisCacheFirewallRuleProperties the parameters of the
RedisCacheFirewallRule
properties:
endIP:
type: string
startIP:
type: string
required:
- endIP
- startIP
type: object
redisCache:
type: string
resourceGroup:
type: string
required:
- properties
- redisCache
- resourceGroup
type: object
status:
description: ASOStatus (AzureServiceOperatorsStatus) defines the observed
state of resource actions
properties:
completed:
format: date-time
type: string
containsUpdate:
type: boolean
failedProvisioning:
type: boolean
flattenedSecrets:
type: boolean
message:
type: string
pollingUrl:
type: string
provisioned:
type: boolean
provisioning:
type: boolean
requested:
format: date-time
type: string
resourceId:
type: string
specHash:
type: string
state:
type: string
type: object
type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
Original file line number Diff line number Diff line change
Expand Up @@ -688,6 +688,46 @@ rules:
- get
- patch
- update
- apiGroups:
- azure.microsoft.com
resources:
- rediscacheactions
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- azure.microsoft.com
resources:
- rediscacheactions/status
verbs:
- get
- patch
- update
- apiGroups:
- azure.microsoft.com
resources:
- rediscachefirewallrules
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- azure.microsoft.com
resources:
- rediscachefirewallrules/status
verbs:
- get
- patch
- update
- apiGroups:
- azure.microsoft.com
resources:
Expand Down
2 changes: 1 addition & 1 deletion charts/azure-service-operator/templates/namespace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ metadata:
labels:
control-plane: controller-manager
name: {{ .Values.namespace }}
{{- end}}
{{- end }}
3 changes: 0 additions & 3 deletions charts/azure-service-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ azureOperatorKeyvault: ""
# Set to False if you do not need the namespace autocreated
createNamespace: True

# If installing multiple instances of ASO, set this to True
multipleInstances: False

# Optional, Custom Namespace
namespace: azureoperator-system

Expand Down
6 changes: 3 additions & 3 deletions charts/index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ entries:
azure-service-operator:
- apiVersion: v2
appVersion: 0.1.0
created: "2020-06-02T09:40:24.98057+08:00"
created: "2020-06-04T20:43:33.203494-07:00"
dependencies:
- condition: azureUseMI
name: aad-pod-identity
repository: https://raw.githubusercontent.com/Azure/aad-pod-identity/master/charts
version: 1.5.5
description: Deploy components and dependencies of azure-service-operator
digest: b549a78f07f6dca8a8f761cd65791ca8cad73b3bf90b03891101fa2cd70e3de8
digest: e84dd7eb72d9a73058aac92e99ffe319a2528fc4df1d528947af930de7207682
home: https://github.com/Azure/azure-service-operator
name: azure-service-operator
sources:
- https://github.com/Azure/azure-service-operator
urls:
- azure-service-operator-0.1.0.tgz
version: 0.1.0
generated: "2020-06-02T09:40:24.976336+08:00"
generated: "2020-06-04T20:43:33.199492-07:00"

0 comments on commit b2f3a2a

Please sign in to comment.