Compare commits
No commits in common. "c20666a028cae0ab429d1aaaf06b82a60722e448" and "7dddc84ff0a6cf5217d9d3ec37ae753ed1cc7adf" have entirely different histories.
c20666a028
...
7dddc84ff0
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
kind: pipeline
|
||||
name: publish docker image
|
||||
steps:
|
||||
- name: build and publish
|
||||
image: plugins/docker
|
||||
settings:
|
||||
username: 3wordchant
|
||||
password:
|
||||
from_secret: git_coopcloud_tech_token_3wc
|
||||
repo: git.coopcloud.tech/wiki-cafe/wiki-farm
|
||||
tags: latest
|
||||
registry: git.coopcloud.tech
|
|
@ -0,0 +1,34 @@
|
|||
FROM node:lts-alpine
|
||||
|
||||
RUN apk add --update --no-cache \
|
||||
dumb-init \
|
||||
git \
|
||||
jq
|
||||
|
||||
WORKDIR "/home/node"
|
||||
|
||||
ARG WIKI_PACKAGE=wiki@0.31.0
|
||||
|
||||
USER node
|
||||
|
||||
RUN npm install -g --prefix . $WIKI_PACKAGE
|
||||
RUN cd lib/node_modules/wiki/node_modules && \
|
||||
rm -r wiki-security-passportjs && \
|
||||
git clone https://git.coopcloud.tech/3wordchant/wiki-security-passportjs.git
|
||||
|
||||
RUN cd lib/node_modules/wiki/node_modules/wiki-security-passportjs && \
|
||||
npm install
|
||||
|
||||
RUN mkdir -p .wiki
|
||||
|
||||
VOLUME "/home/node/.wiki"
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
ENV PATH="${PATH}:/home/node/bin"
|
||||
|
||||
ENV NPM_CONFIG_PREFIX="${HOME}"
|
||||
|
||||
ENTRYPOINT ["dumb-init"]
|
||||
|
||||
CMD ["wiki", "--farm"]
|
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
61
README.md
61
README.md
|
@ -0,0 +1,61 @@
|
|||
# Federated Wiki Farm
|
||||
|
||||
Start Playing Federated Wiki: http://start.fed.wiki
|
||||
|
||||
### Run a local wiki farm
|
||||
|
||||
docker run -p 3000:3000 -it --rm \
|
||||
dobbs/farm
|
||||
|
||||
Visit http://localhost:3000 and http://anything.localhost:3000
|
||||
|
||||
### Run a local wiki that will survive a reboot
|
||||
|
||||
docker run -p 3000:3000 -it --rm \
|
||||
-v ~/.wiki:/home/node/.wiki \
|
||||
dobbs/farm
|
||||
|
||||
Your wiki pages and configuration will be saved in the ~/.wiki folder.
|
||||
|
||||
# Development
|
||||
|
||||
This image's tag does not match the version of the included wiki
|
||||
software. Our version indicates the scale of changes in this tiny
|
||||
devops pipeline.
|
||||
|
||||
Testing new images locally:
|
||||
|
||||
``` bash
|
||||
TAG=1.0.14-prefer-title
|
||||
IMAGE=dobbs/farm:$TAG
|
||||
docker build --tag $IMAGE .
|
||||
```
|
||||
|
||||
# Publish containers
|
||||
|
||||
GitHub
|
||||
|
||||
``` bash
|
||||
git tag -am "" "$TAG"
|
||||
git push --atomic origin main "$TAG"
|
||||
```
|
||||
|
||||
Docker Hub
|
||||
|
||||
``` bash
|
||||
docker build --tag $IMAGE . # if you haven't already
|
||||
docker build --tag dobbs/farm:latest . # if you haven't already
|
||||
docker push $IMAGE
|
||||
docker push dobbs/farm:latest
|
||||
```
|
||||
|
||||
# Experiment with K8S
|
||||
|
||||
With the local kubernetes example (see [examples/k8s/README.md](./examples/k8s/README.md)):
|
||||
|
||||
``` bash
|
||||
k3d image import $IMAGE --cluster wiki
|
||||
kubectl patch deployment.apps/wiki-deployment \
|
||||
--type='json' \
|
||||
-p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"'$IMAGE'"}]'
|
||||
```
|
|
@ -0,0 +1,15 @@
|
|||
# Release Notes for 1.0.0
|
||||
|
||||
This is a significant **breaking** change from pre-1.0 releases. Especially:
|
||||
|
||||
* changed the user from `app` (`uid=1001(app) gid=1001(app) groups=1001(app)`)
|
||||
to `node` (`uid=1000(node) gid=1000(node) groups=1000(node),1000(node)`)
|
||||
|
||||
* no longer installing `bash`, `configure-wiki`, nor `set-owner-name`
|
||||
|
||||
* no longer creating `/home/app/.wiki/wiki.json`
|
||||
|
||||
Those changes in particular will impose some work on authors upgrading
|
||||
from previous versions.
|
||||
|
||||
The last non-breaking revision is 0.52.0 https://github.com/dobbs/farm/tree/0.52.0#readme
|
|
@ -0,0 +1,56 @@
|
|||
# Wiki Farm in Kubernetes
|
||||
|
||||
There are easier ways to get started with federated wiki. Here we are
|
||||
using wiki to drive some learning about kubernetes.
|
||||
|
||||
# We're using MacOS, Docker Desktop, and k3d
|
||||
|
||||
brew install --cask docker
|
||||
brew install k3d
|
||||
|
||||
mkdir -p ~/.wiki-k8s ~/workspace/fedwiki
|
||||
k3d create \
|
||||
--server-arg --tls-san="127.0.0.1" \
|
||||
--publish 80:80 \
|
||||
-v "$HOME/.wiki-k8s:/macos/.wiki-k8s" \
|
||||
-v "$HOME/workspace/fedwiki:/macos/fedwiki" \
|
||||
--name wiki
|
||||
|
||||
# example ~/.wiki-k8s/config.json
|
||||
|
||||
{
|
||||
"admin": "any memorable password",
|
||||
"autoseed": true,
|
||||
"farm": true,
|
||||
"cookieSecret": "any random string",
|
||||
"secure_cookie": false,
|
||||
"security_type": "friends",
|
||||
"wikiDomains": {
|
||||
"localhost": {
|
||||
"id": "/home/node/.wiki/localhost.owner.json"
|
||||
},
|
||||
"example.com": {
|
||||
"id": "/home/node/.wiki/example.com.owner.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# example ~/.wiki-k8s/localhost.owner.json
|
||||
|
||||
`.friend.secret` must match the `.admin` field from `config.json`
|
||||
|
||||
{
|
||||
"name": "The Owner",
|
||||
"friend": {
|
||||
"secret": "any memorable password"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Deploy Wiki
|
||||
|
||||
kubectl apply -f http://deploy.wiki.do/assets/wiki/wiki.yaml
|
||||
|
||||
# Play with the wiki
|
||||
|
||||
open http://wiki.localhost
|
|
@ -0,0 +1,29 @@
|
|||
# HashiCorp Vault in kubernetes
|
||||
|
||||
HashiCorp recomend installing vault via helm. Your author prefers
|
||||
plain old kubernetes configs.
|
||||
|
||||
So we generated the yaml via helm's template command.
|
||||
|
||||
helm template incubator/vault \
|
||||
--name-template=vault \
|
||||
--replicaCount=1 \
|
||||
--set vault.dev=false \
|
||||
--set vault.config.storage.file.path=/macos/.wiki-k8s/vault \
|
||||
| egrep -v 'heritage: "?Helm"?' \
|
||||
> vault.html
|
||||
|
||||
kubectl apply -k .
|
||||
kubectl port-forward svc/vault 8200:8200 &> /dev/null &
|
||||
|
||||
export VAULT_ADDR=http://127.0.0.1:8200
|
||||
vault status
|
||||
vault operator init
|
||||
vault operator unseal
|
||||
# paste key-fragment 1
|
||||
vault operator unseal
|
||||
# paste key-fragment 2
|
||||
vault operator unseal
|
||||
# paste key-fragment 3
|
||||
vault login
|
||||
# paste root token
|
|
@ -0,0 +1,16 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: vault
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: vault
|
||||
volumeMounts:
|
||||
- name: vault-data
|
||||
mountPath: /macos/.wiki-k8s/vault
|
||||
volumes:
|
||||
- name: vault-data
|
||||
hostPath:
|
||||
path: /macos/.wiki-k8s/vault
|
|
@ -0,0 +1,10 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
images:
|
||||
- name: vault
|
||||
newName: vault
|
||||
newTag: 1.3.1
|
||||
resources:
|
||||
- vault.yaml
|
||||
patchesStrategicMerge:
|
||||
- deployment-volumes.yaml
|
|
@ -0,0 +1,181 @@
|
|||
---
|
||||
# Source: vault/templates/clusterrolebinding.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: vault
|
||||
labels:
|
||||
app: vault
|
||||
release: "vault"
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: system:auth-delegator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: vault
|
||||
namespace: default
|
||||
---
|
||||
# Source: vault/templates/configmap.yaml
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "vault-config"
|
||||
labels:
|
||||
app: "vault"
|
||||
release: "vault"
|
||||
data:
|
||||
config.json: |
|
||||
{"listener":{"tcp":{"address":"[::]:8200","cluster_address":"[::]:8201","tls_disable":true}},"storage":{"file":{"path":"/macos/.wiki-k8s/vault"}}}
|
||||
---
|
||||
# Source: vault/templates/deployment.yaml
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: vault
|
||||
labels:
|
||||
app: vault
|
||||
release: vault
|
||||
annotations:
|
||||
{}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: vault
|
||||
release: vault
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxUnavailable: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: vault
|
||||
release: vault
|
||||
annotations:
|
||||
checksum/config: 6868eb00aa48ca9485c365c3523ae431e7031233a1c046817a32c61e24ea817d
|
||||
spec:
|
||||
containers:
|
||||
- name: vault
|
||||
image: "vault:1.2.3"
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["vault", "server", "-config", "/vault/config/config.json"]
|
||||
ports:
|
||||
- containerPort: 8200
|
||||
name: api
|
||||
- containerPort: 8201
|
||||
name: cluster-address
|
||||
livenessProbe:
|
||||
# Alive if Vault is successfully responding to requests
|
||||
httpGet:
|
||||
path: /v1/sys/health?standbyok=true&uninitcode=204&sealedcode=204&
|
||||
port: 8200
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 10
|
||||
readinessProbe:
|
||||
# Ready depends on preference
|
||||
httpGet:
|
||||
path: /v1/sys/health?standbycode=204&uninitcode=204&
|
||||
port: 8200
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
capabilities:
|
||||
add:
|
||||
- IPC_LOCK
|
||||
env:
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: VAULT_API_ADDR
|
||||
value: "http://$(POD_IP):8200"
|
||||
- name: VAULT_CLUSTER_ADDR
|
||||
value: "https://$(POD_IP):8201"
|
||||
- name: VAULT_LOG_LEVEL
|
||||
value: "info"
|
||||
resources:
|
||||
{}
|
||||
volumeMounts:
|
||||
- name: vault-config
|
||||
mountPath: /vault/config/
|
||||
- name: vault-root
|
||||
mountPath: /root/
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- podAffinityTerm:
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
app: 'vault'
|
||||
release: 'vault'
|
||||
topologyKey: kubernetes.io/hostname
|
||||
weight: 100
|
||||
serviceAccountName: vault
|
||||
volumes:
|
||||
- name: vault-config
|
||||
configMap:
|
||||
name: "vault-config"
|
||||
- name: vault-root
|
||||
emptyDir: {}
|
||||
---
|
||||
# Source: vault/templates/pdb.yaml
|
||||
apiVersion: policy/v1beta1
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: vault
|
||||
spec:
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: vault
|
||||
release: vault
|
||||
---
|
||||
# Source: vault/templates/service.yaml
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: vault
|
||||
labels:
|
||||
app: vault
|
||||
release: vault
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 8200
|
||||
protocol: TCP
|
||||
targetPort: 8200
|
||||
name: api
|
||||
selector:
|
||||
app: vault
|
||||
release: vault
|
||||
---
|
||||
# Source: vault/templates/serviceaccount.yaml
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: vault
|
||||
labels:
|
||||
app: vault
|
||||
release: "vault"
|
||||
---
|
||||
# Source: vault/templates/tests/test-vault-status.yaml
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "vault-vault-status-test"
|
||||
annotations:
|
||||
"helm.sh/hook": test-success
|
||||
spec:
|
||||
containers:
|
||||
- name: vault-vault-status-test
|
||||
image: "vault:1.2.3"
|
||||
env:
|
||||
- name: VAULT_ADDR
|
||||
value: http://vault.default:8200
|
||||
command: ["sh", "-c", "vault status"]
|
||||
restartPolicy: Never
|
Loading…
Reference in New Issue