2021-07-15 11:43:20 -04:00

45 lines
1.4 KiB
Django/Jinja

# Create Openshift/Kubernetes credential for Minikube
# This script gets called by the bootstrap_development process
# awx-manage shell < bootstrap_minikube.py
from awx.main.utils.encryption import encrypt_field
from awx.main.models import Credential, CredentialType, InstanceGroup
from django.conf import settings
NAME = 'Minikube'
POD_SPEC = """apiVersion: v1
kind: Pod
metadata:
namespace: {{ minikube_service_account_namespace }}
spec:
containers:
- image: 'quay.io/ansible/awx-ee:devel'
name: worker
args:
- ansible-runner
- worker
- '--private-data-dir=/runner'"""
# Creates Minikube credential
if not Credential.objects.filter(name=NAME).count():
cred = Credential()
cred.name = NAME
cred.credential_type = CredentialType.objects.get(name='OpenShift or Kubernetes API Bearer Token')
cred.description = 'Minikube Devel'
cred.inputs['host'] = 'https://minikube:8443'
cred.inputs['verify_ssl'] = False
cred.inputs['bearer_token'] = '{{ service_account_token }}'
encrypt_field(cred, 'bearer_token', secret_key=settings.SECRET_KEY)
cred.save()
# Create Container Group for Minikube
if not InstanceGroup.objects.filter(name=NAME).count():
ccgrp = InstanceGroup()
ccgrp.name = NAME
ccgrp.credential = cred
ccgrp.pod_spec_override = POD_SPEC
ccgrp.is_container_group = True
ccgrp.save()