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 23:37:50 +03:00
committed by GitHub
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"
+7
View File
@@ -0,0 +1,7 @@
# Initial Install
IPFS comes with it's web access disabled to even LAN connections.
First time you visit it's webUI, it will show you what you need to do, in order to have access.
It requires to open a shell to the App, which you can easily do. On the App card by click the 3-dots > Shell.
+4 -2
View File
@@ -20,6 +20,7 @@ These defaults can of course be changed, but as we guarantee "sane, working defa
## Stable, Games and Incubator Apps
| App | Service | Port Name | Port | Protocol | Note |
| :------------------------- | :-------------: | :-------------: | :---: | :------: | :-----------------------------------------------------: |
| amcrest2mqtt | main | main | - | - | Service disabled |
@@ -76,13 +77,13 @@ These defaults can of course be changed, but as we guarantee "sane, working defa
| logitech-media-server | playertcp | slimprototcp | 3483 | TCP | |
| logitech-media-server | playerudp | slimprotoudp | 3483 | UDP | |
| ombi | main | main | 3579 | TCP | |
| ipfs | peer | peer | 4001 | TCP | |
| ipfs | peer-tcp | peer-tcp | 4001 | TCP | |
| ipfs | peer-udp | peer-udp | 4001 | UDP | |
| quassel-core | main | main | 4242 | TCP | |
| navidrome | main | main | 4533 | TCP | |
| requestrr | main | main | 4545 | TCP | |
| guacd | main | main | 4822 | TCP | |
| frigate | main | main | 5000 | TCP | |
| ipfs | api | api | 5001 | TCP | |
| appdaemon | main | main | 5050 | TCP | |
| overseer | main | main | 5055 | TCP | |
| nzbhydra | main | main | 5076 | TCP | |
@@ -424,6 +425,7 @@ These defaults can of course be changed, but as we guarantee "sane, working defa
| resilio-sync | bt-udp | bt-udp | 55555 | UDP | |
| quassel-web | main | main | 64080 | TCP | |
## Dependency Apps
| App | Service | Port Name | Port | Protocol | Note |