feat(ipfs): Use official image BREAKING CHANGE (#2331)

BREAKING CHANGE

* pass tests

* firstrun

* no underscores

* different way

* dont do installConainers

* add installContainers

* add vars

* add vars to installCont

* add init command

* nmo key

* space

* switch to job

* move ifinstall to commonyaml

* fix env

* identation

* fix logic

* whoops

* escape everywhere

* less escapes

* try 1

* wait some time

* wait less

* try more aggresive

* whoops

* revert to installContainers again

* try again

* arg?

* Update charts/stable/ipfs/values.yaml

* Update charts/stable/ipfs/values.yaml

* document

Co-authored-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
This commit is contained in:
Stavros Kois
2022-03-31 20:37:50 +00:00
committed by GitHub
co-authored by Kjeld Schouten-Lebbing
parent 5c2f503416
commit d93ec26f60
6 changed files with 236 additions and 40 deletions
+3 -3
View File
@@ -1,9 +1,9 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: ipfs
version: 1.0.8
version: 2.0.0
appVersion: "2.14.0"
description: Ipfs - A peer-to-peer hypermedia protocol designed to make the web faster, safer, and more open
description: IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas from previous systems such Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bittorrent swarm, exchanging git objects.
type: application
deprecated: false
home: https://github.com/truecharts/apps/tree/master/charts/stable/ipfs
@@ -23,6 +23,6 @@ maintainers:
url: https://truecharts.org
annotations:
truecharts.org/catagories: |
- incubator
- storage
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U
+187 -22
View File
@@ -7,6 +7,7 @@ portals:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
path: "/webui"
questions:
- variable: portal
group: "Container Image"
@@ -75,7 +76,18 @@ questions:
- value: "OnDelete"
description: "(Legacy) OnDelete: ignore .spec.template changes"
# Include{controllerExpert}
- variable: IPFS_SWARM_KEY
label: "IPFS_SWARM_KEY"
description: "The IPFS_SWARM_KEY creates swarm.key with the contents of the variable itself."
schema:
type: string
default: ""
- variable: IPFS_PROFILE
label: "IPFS_PROFILE (Initial install only)"
description: "When starting a container running ipfs for the first time with an empty data directory, it will call ipfs init to initialize configuration files and generate a new keypair. At this time, you can choose which profile to apply using the IPFS_PROFILE."
schema:
type: string
default: "server"
# Include{containerConfig}
- variable: service
@@ -144,17 +156,17 @@ questions:
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 80
- variable: peer
label: "peer Service"
description: "The peer service."
default: 5001
- variable: peer-tcp
label: "Peer-TCP Service"
description: "The Peer-TCP service."
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: peer
label: "peer Service Port Configuration"
- variable: peer-tcp
label: "Peer-TCP Service Port Configuration"
schema:
additional_attrs: true
type: dict
@@ -182,7 +194,7 @@ questions:
label: "Port Type"
schema:
type: string
default: "HTTP"
default: "TCP"
enum:
- value: HTTP
description: "HTTP"
@@ -205,16 +217,16 @@ questions:
schema:
type: int
default: 4001
- variable: api
label: "api Service"
description: "The api service."
- variable: peer-udp
label: "Peer-UDP Service"
description: "The Peer-udp service."
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: api
label: "api Service Port Configuration"
- variable: peer-udp
label: "Peer-UDP Service Port Configuration"
schema:
additional_attrs: true
type: dict
@@ -224,7 +236,7 @@ questions:
description: "This port exposes the container port on the service"
schema:
type: int
default: 5001
default: 4001
required: true
- variable: advanced
label: "Show Advanced settings"
@@ -242,7 +254,7 @@ questions:
label: "Port Type"
schema:
type: string
default: "HTTP"
default: "UDP"
enum:
- value: HTTP
description: "HTTP"
@@ -264,17 +276,17 @@ questions:
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 5001
default: 4001
- variable: gateway
label: "gateway Service"
description: "The gateway service."
label: "Gateway Service"
description: "The Gateway Service."
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: gateway
label: "gateway Service Port Configuration"
label: "Gateway Service Port Configuration"
schema:
additional_attrs: true
type: dict
@@ -353,9 +365,162 @@ questions:
additional_attrs: true
type: dict
attrs:
- variable: config
label: "App Config Storage"
description: "Stores the Application Configuration."
- variable: data
label: "App Data Storage"
description: "Stores the Application Data."
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: "Type of Storage"
description: "Sets the persistence type, Anything other than PVC could break rollback!"
schema:
type: string
default: "simplePVC"
enum:
- value: "simplePVC"
description: "PVC (simple)"
- value: "simpleHP"
description: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
# Include{persistenceBasic}
- variable: hostPath
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: "EmptyDir Medium"
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "Memory"
description: "Memory"
# Include{persistenceAdvanced}
- variable: persistence
label: "Integrated Persistent Storage"
description: "Integrated Persistent Storage"
group: "Storage and Persistence"
schema:
additional_attrs: true
type: dict
attrs:
- variable: staging
label: "App Staging Storage"
description: "Stores the Application Staging."
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: "Type of Storage"
description: "Sets the persistence type, Anything other than PVC could break rollback!"
schema:
type: string
default: "simplePVC"
enum:
- value: "simplePVC"
description: "PVC (simple)"
- value: "simpleHP"
description: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
# Include{persistenceBasic}
- variable: hostPath
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: "EmptyDir Medium"
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "Memory"
description: "Memory"
# Include{persistenceAdvanced}
- variable: persistence
label: "Integrated Persistent Storage"
description: "Integrated Persistent Storage"
group: "Storage and Persistence"
schema:
additional_attrs: true
type: dict
attrs:
- variable: ipfs
label: "App IPFS Storage"
description: "Stores the Application IPFS."
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: "Type of Storage"
description: "Sets the persistence type, Anything other than PVC could break rollback!"
schema:
type: string
default: "simplePVC"
enum:
- value: "simplePVC"
description: "PVC (simple)"
- value: "simpleHP"
description: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
# Include{persistenceBasic}
- variable: hostPath
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: "EmptyDir Medium"
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "Memory"
description: "Memory"
# Include{persistenceAdvanced}
- variable: persistence
label: "Integrated Persistent Storage"
description: "Integrated Persistent Storage"
group: "Storage and Persistence"
schema:
additional_attrs: true
type: dict
attrs:
- variable: ipns
label: "App IPNS Storage"
description: "Stores the Application IPNS."
schema:
additional_attrs: true
type: dict
+1 -1
View File
@@ -1 +1 @@
{{ include "common.all" . }}
{{- include "common.all" . }}
+34 -12
View File
@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/ipfs
repository: ipfs/go-ipfs
pullPolicy: IfNotPresent
tag: v2.14.0
tag: v0.12.1
securityContext:
runAsNonRoot: false
@@ -11,37 +11,59 @@ podSecurityContext:
runAsUser: 0
runAsGroup: 0
env:
IPFS_PROFILE: "server"
IPFS_SWARM_KEY: ""
IPFS_SWARM_KEY_FILE: ""
service:
main:
ports:
main:
targetPort: 80
port: 10125
peer:
targetPort: 5001
peer-tcp:
enabled: true
ports:
peer:
peer-tcp:
enabled: true
targetPort: 4001
port: 4001
api:
peer-udp:
enabled: true
ports:
api:
peer-udp:
protocol: UDP
enabled: true
targetPort: 5001
port: 5001
targetPort: 4001
port: 4001
gateway:
enabled: true
type: ClusterIP
ports:
gateway:
enabled: true
targetPort: 8080
port: 10147
probes:
liveness:
path: "/webui"
readiness:
path: "/webui"
startup:
path: "/webui"
persistence:
config:
data:
enabled: true
mountPath: "/config"
varrun:
mountPath: "/data/ipfs"
staging:
enabled: true
mountPath: "/export"
ipfs:
enabled: true
mountPath: "/ipfs"
ipns:
enabled: true
mountPath: "/ipns"