Skip to content

Instantly share code, notes, and snippets.

View virtualhobbit's full-sized avatar
:octocat:
Building clouds

Mark Brookfield virtualhobbit

:octocat:
Building clouds
View GitHub Profile
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: cert-manager-vault-approle
namespace: cert-manager
data:
secretId: "<insert base64 secret here>"
[Unit]
Description="HashiCorp Vault Agent"
Documentation=https://www.vaultproject.io/docs/
Requires=network-online.target
After=network-online.target
ConditionFileNotEmpty=/vault-agent/vault-agent.hcl
StartLimitIntervalSec=60
StartLimitBurst=3
[Service]
{% if ansible_os_family == "Windows" %}
{% raw %}{{ with secret "pki/issue/mdb-lab-dot-com" "ttl=86400s" {% endraw %}"common_name={{ ansible_fqdn }}" "ip_sans={{ ansible_ip_addresses[0] }}"{% raw %} }}{% endraw %}
{% elif ansible_os_family == "RedHat" %}
{% raw %}{{ with secret "pki/issue/mdb-lab-dot-com" "ttl=86400s" {% endraw %}"common_name={{ ansible_fqdn }}" "ip_sans={{ ansible_default_ipv4.address }}"{% raw %} }}{% endraw %}
{% endif %}
{% raw %}
{{ .Data.certificate }}
{{ end }}
{% endraw %}
{% if ansible_os_family == "Windows" %}
{% raw %}{{ with secret "pki/issue/mdb-lab-dot-com" "ttl=86400s" {% endraw %}"common_name={{ ansible_fqdn }}" "ip_sans={{ ansible_ip_addresses[0] }}"{% raw %} }}{% endraw %}
{% elif ansible_os_family == "RedHat" %}
{% raw %}{{ with secret "pki/issue/mdb-lab-dot-com" "ttl=86400s" {% endraw %}"common_name={{ ansible_fqdn }}" "ip_sans={{ ansible_default_ipv4.address }}"{% raw %} }}{% endraw %}
{% endif %}
{% raw %}
{{ .Data.private_key }}
{{ end }}
{% endraw %}
pid_file = "/vault-agent/agent.pid"
vault {
address = "{{ vault_server }}"
tls_skip_verify = true
}
auto_auth {
method "approle" {
config = {
---
- hosts: Linux
tasks:
- name: Add repository
yum_repository:
name: hashicorp
file: hashicorp
description: Hashicorp Stable - $basearch
baseurl: https://rpm.releases.hashicorp.com/RHEL/$releasever/$basearch/stable
path "pki/issue/mdb-lab-dot-com" {
capabilities = ["create", "update"]
}
path "auth/approle/role/sa_vault-agent/role-id" {
capabilities = [ "read" ]
}
path "auth/approle/role/sa_vault-agent/secret-id" {
capabilities = [ "create", "update" ]
}
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", jsonData.auth.client_token);
resources:
Cloud_Ansible_Tower_1:
type: Cloud.Ansible.Tower
metadata:
layoutPosition:
- 0
- 0
properties:
host: '${resource.Cloud_vSphere_Machine_1.*}'
account: NL-UTC-P-ANS-01