README
¶
Azure DevOps Environment Creation
Use this tool to set up an Azure DevOps Environment. An Environment is a collection of resources that can be targeted by deployments from a pipeline.
Requirements
To run this tool, you need:
- Azure DevOps account
- Azure DevOps PAT with the following permissions:
- Environment (Read & manage)
- Service Connections (Read, query, & manage)
- For Kubernetes resources:
- Kubernetes Cluster
- RBAC access with the following permissions:
- get, create and patch namespaces
- get and create serviceaccounts
- get and create secrets
Kubernetes Resources
For Kubernetes resources these are the resources that can be configured:
Resource | Type | Can use existent | Notes |
---|---|---|---|
Environment | Azure DevOps | Yes | - |
Environment Resource | Azure DevOps | No | it must be deleted before creating a new one |
Service Connection | Azure DevOps | Yes | - |
Namespace | Kubernetes | Yes | - |
Service Account | Kubernetes | Yes | you have to create role/clusterrole and bind to service account your own |
Secret | Kubernetes | Yes | - |
NOTE: In some cases, cli will try to use existent resource before create a new one.
Kubernetes detailed permissions
To create and get some resources, cli will need some permissions. See an example of ClusterRole below:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: azenv
rules:
- apiGroups:
- ""
resources:
- namespaces
- serviceaccounts
- secret
verbs:
- get
- create
- apiGroups:
- ""
resources:
- namespaces
verbs:
- patch
Usage example
See above an example, the fields are self-explanatory. Replace by your own values.
./azenv \
create kubernetes \
--pat <generate-azure-devops-pat> \
--project <organization-name>/<project-name> \
--name <environment-name> \
--service-account <namespace>/<service-account-name> \
--service-connection <service-connection-name> \
--namespace-label label1=value1 \
--namespace-label label2=value2 \
--show-kubeconfig=false
Documentation
¶
There is no documentation for this package.
Click to show internal directories.
Click to hide internal directories.