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:
co-authored by
Kjeld Schouten-Lebbing
parent
5c2f503416
commit
d93ec26f60
@@ -1,9 +1,9 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
kubeVersion: ">=1.16.0-0"
|
kubeVersion: ">=1.16.0-0"
|
||||||
name: ipfs
|
name: ipfs
|
||||||
version: 1.0.8
|
version: 2.0.0
|
||||||
appVersion: "2.14.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
|
type: application
|
||||||
deprecated: false
|
deprecated: false
|
||||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/ipfs
|
home: https://github.com/truecharts/apps/tree/master/charts/stable/ipfs
|
||||||
@@ -23,6 +23,6 @@ maintainers:
|
|||||||
url: https://truecharts.org
|
url: https://truecharts.org
|
||||||
annotations:
|
annotations:
|
||||||
truecharts.org/catagories: |
|
truecharts.org/catagories: |
|
||||||
- incubator
|
- storage
|
||||||
truecharts.org/SCALE-support: "true"
|
truecharts.org/SCALE-support: "true"
|
||||||
truecharts.org/grade: U
|
truecharts.org/grade: U
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ portals:
|
|||||||
- "$kubernetes-resource_configmap_portal_host"
|
- "$kubernetes-resource_configmap_portal_host"
|
||||||
ports:
|
ports:
|
||||||
- "$kubernetes-resource_configmap_portal_port"
|
- "$kubernetes-resource_configmap_portal_port"
|
||||||
|
path: "/webui"
|
||||||
questions:
|
questions:
|
||||||
- variable: portal
|
- variable: portal
|
||||||
group: "Container Image"
|
group: "Container Image"
|
||||||
@@ -75,7 +76,18 @@ questions:
|
|||||||
- value: "OnDelete"
|
- value: "OnDelete"
|
||||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||||
# Include{controllerExpert}
|
# 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}
|
# Include{containerConfig}
|
||||||
|
|
||||||
- variable: service
|
- variable: service
|
||||||
@@ -144,17 +156,17 @@ questions:
|
|||||||
description: "The internal(!) port on the container the Application runs on"
|
description: "The internal(!) port on the container the Application runs on"
|
||||||
schema:
|
schema:
|
||||||
type: int
|
type: int
|
||||||
default: 80
|
default: 5001
|
||||||
- variable: peer
|
- variable: peer-tcp
|
||||||
label: "peer Service"
|
label: "Peer-TCP Service"
|
||||||
description: "The peer service."
|
description: "The Peer-TCP service."
|
||||||
schema:
|
schema:
|
||||||
additional_attrs: true
|
additional_attrs: true
|
||||||
type: dict
|
type: dict
|
||||||
attrs:
|
attrs:
|
||||||
# Include{serviceSelector}
|
# Include{serviceSelector}
|
||||||
- variable: peer
|
- variable: peer-tcp
|
||||||
label: "peer Service Port Configuration"
|
label: "Peer-TCP Service Port Configuration"
|
||||||
schema:
|
schema:
|
||||||
additional_attrs: true
|
additional_attrs: true
|
||||||
type: dict
|
type: dict
|
||||||
@@ -182,7 +194,7 @@ questions:
|
|||||||
label: "Port Type"
|
label: "Port Type"
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
default: "HTTP"
|
default: "TCP"
|
||||||
enum:
|
enum:
|
||||||
- value: HTTP
|
- value: HTTP
|
||||||
description: "HTTP"
|
description: "HTTP"
|
||||||
@@ -205,16 +217,16 @@ questions:
|
|||||||
schema:
|
schema:
|
||||||
type: int
|
type: int
|
||||||
default: 4001
|
default: 4001
|
||||||
- variable: api
|
- variable: peer-udp
|
||||||
label: "api Service"
|
label: "Peer-UDP Service"
|
||||||
description: "The api service."
|
description: "The Peer-udp service."
|
||||||
schema:
|
schema:
|
||||||
additional_attrs: true
|
additional_attrs: true
|
||||||
type: dict
|
type: dict
|
||||||
attrs:
|
attrs:
|
||||||
# Include{serviceSelector}
|
# Include{serviceSelector}
|
||||||
- variable: api
|
- variable: peer-udp
|
||||||
label: "api Service Port Configuration"
|
label: "Peer-UDP Service Port Configuration"
|
||||||
schema:
|
schema:
|
||||||
additional_attrs: true
|
additional_attrs: true
|
||||||
type: dict
|
type: dict
|
||||||
@@ -224,7 +236,7 @@ questions:
|
|||||||
description: "This port exposes the container port on the service"
|
description: "This port exposes the container port on the service"
|
||||||
schema:
|
schema:
|
||||||
type: int
|
type: int
|
||||||
default: 5001
|
default: 4001
|
||||||
required: true
|
required: true
|
||||||
- variable: advanced
|
- variable: advanced
|
||||||
label: "Show Advanced settings"
|
label: "Show Advanced settings"
|
||||||
@@ -242,7 +254,7 @@ questions:
|
|||||||
label: "Port Type"
|
label: "Port Type"
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
default: "HTTP"
|
default: "UDP"
|
||||||
enum:
|
enum:
|
||||||
- value: HTTP
|
- value: HTTP
|
||||||
description: "HTTP"
|
description: "HTTP"
|
||||||
@@ -264,17 +276,17 @@ questions:
|
|||||||
description: "The internal(!) port on the container the Application runs on"
|
description: "The internal(!) port on the container the Application runs on"
|
||||||
schema:
|
schema:
|
||||||
type: int
|
type: int
|
||||||
default: 5001
|
default: 4001
|
||||||
- variable: gateway
|
- variable: gateway
|
||||||
label: "gateway Service"
|
label: "Gateway Service"
|
||||||
description: "The gateway service."
|
description: "The Gateway Service."
|
||||||
schema:
|
schema:
|
||||||
additional_attrs: true
|
additional_attrs: true
|
||||||
type: dict
|
type: dict
|
||||||
attrs:
|
attrs:
|
||||||
# Include{serviceSelector}
|
# Include{serviceSelector}
|
||||||
- variable: gateway
|
- variable: gateway
|
||||||
label: "gateway Service Port Configuration"
|
label: "Gateway Service Port Configuration"
|
||||||
schema:
|
schema:
|
||||||
additional_attrs: true
|
additional_attrs: true
|
||||||
type: dict
|
type: dict
|
||||||
@@ -353,9 +365,162 @@ questions:
|
|||||||
additional_attrs: true
|
additional_attrs: true
|
||||||
type: dict
|
type: dict
|
||||||
attrs:
|
attrs:
|
||||||
- variable: config
|
- variable: data
|
||||||
label: "App Config Storage"
|
label: "App Data Storage"
|
||||||
description: "Stores the Application Configuration."
|
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:
|
schema:
|
||||||
additional_attrs: true
|
additional_attrs: true
|
||||||
type: dict
|
type: dict
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{{ include "common.all" . }}
|
{{- include "common.all" . }}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
image:
|
image:
|
||||||
repository: tccr.io/truecharts/ipfs
|
repository: ipfs/go-ipfs
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
tag: v2.14.0
|
tag: v0.12.1
|
||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsNonRoot: false
|
runAsNonRoot: false
|
||||||
@@ -11,37 +11,59 @@ podSecurityContext:
|
|||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
runAsGroup: 0
|
runAsGroup: 0
|
||||||
|
|
||||||
|
env:
|
||||||
|
IPFS_PROFILE: "server"
|
||||||
|
IPFS_SWARM_KEY: ""
|
||||||
|
IPFS_SWARM_KEY_FILE: ""
|
||||||
|
|
||||||
service:
|
service:
|
||||||
main:
|
main:
|
||||||
ports:
|
ports:
|
||||||
main:
|
main:
|
||||||
targetPort: 80
|
|
||||||
port: 10125
|
port: 10125
|
||||||
peer:
|
targetPort: 5001
|
||||||
|
peer-tcp:
|
||||||
enabled: true
|
enabled: true
|
||||||
ports:
|
ports:
|
||||||
peer:
|
peer-tcp:
|
||||||
enabled: true
|
enabled: true
|
||||||
targetPort: 4001
|
targetPort: 4001
|
||||||
port: 4001
|
port: 4001
|
||||||
api:
|
peer-udp:
|
||||||
enabled: true
|
enabled: true
|
||||||
ports:
|
ports:
|
||||||
api:
|
peer-udp:
|
||||||
|
protocol: UDP
|
||||||
enabled: true
|
enabled: true
|
||||||
targetPort: 5001
|
targetPort: 4001
|
||||||
port: 5001
|
port: 4001
|
||||||
gateway:
|
gateway:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
type: ClusterIP
|
||||||
ports:
|
ports:
|
||||||
gateway:
|
gateway:
|
||||||
enabled: true
|
enabled: true
|
||||||
targetPort: 8080
|
targetPort: 8080
|
||||||
port: 10147
|
port: 10147
|
||||||
|
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
path: "/webui"
|
||||||
|
readiness:
|
||||||
|
path: "/webui"
|
||||||
|
startup:
|
||||||
|
path: "/webui"
|
||||||
|
|
||||||
persistence:
|
persistence:
|
||||||
config:
|
data:
|
||||||
enabled: true
|
enabled: true
|
||||||
mountPath: "/config"
|
mountPath: "/data/ipfs"
|
||||||
varrun:
|
staging:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
mountPath: "/export"
|
||||||
|
ipfs:
|
||||||
|
enabled: true
|
||||||
|
mountPath: "/ipfs"
|
||||||
|
ipns:
|
||||||
|
enabled: true
|
||||||
|
mountPath: "/ipns"
|
||||||
|
|||||||
@@ -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.
|
||||||
@@ -20,6 +20,7 @@ These defaults can of course be changed, but as we guarantee "sane, working defa
|
|||||||
|
|
||||||
## Stable, Games and Incubator Apps
|
## Stable, Games and Incubator Apps
|
||||||
|
|
||||||
|
|
||||||
| App | Service | Port Name | Port | Protocol | Note |
|
| App | Service | Port Name | Port | Protocol | Note |
|
||||||
| :------------------------- | :-------------: | :-------------: | :---: | :------: | :-----------------------------------------------------: |
|
| :------------------------- | :-------------: | :-------------: | :---: | :------: | :-----------------------------------------------------: |
|
||||||
| amcrest2mqtt | main | main | - | - | Service disabled |
|
| 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 | playertcp | slimprototcp | 3483 | TCP | |
|
||||||
| logitech-media-server | playerudp | slimprotoudp | 3483 | UDP | |
|
| logitech-media-server | playerudp | slimprotoudp | 3483 | UDP | |
|
||||||
| ombi | main | main | 3579 | TCP | |
|
| 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 | |
|
| quassel-core | main | main | 4242 | TCP | |
|
||||||
| navidrome | main | main | 4533 | TCP | |
|
| navidrome | main | main | 4533 | TCP | |
|
||||||
| requestrr | main | main | 4545 | TCP | |
|
| requestrr | main | main | 4545 | TCP | |
|
||||||
| guacd | main | main | 4822 | TCP | |
|
| guacd | main | main | 4822 | TCP | |
|
||||||
| frigate | main | main | 5000 | TCP | |
|
| frigate | main | main | 5000 | TCP | |
|
||||||
| ipfs | api | api | 5001 | TCP | |
|
|
||||||
| appdaemon | main | main | 5050 | TCP | |
|
| appdaemon | main | main | 5050 | TCP | |
|
||||||
| overseer | main | main | 5055 | TCP | |
|
| overseer | main | main | 5055 | TCP | |
|
||||||
| nzbhydra | main | main | 5076 | 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 | |
|
| resilio-sync | bt-udp | bt-udp | 55555 | UDP | |
|
||||||
| quassel-web | main | main | 64080 | TCP | |
|
| quassel-web | main | main | 64080 | TCP | |
|
||||||
|
|
||||||
|
|
||||||
## Dependency Apps
|
## Dependency Apps
|
||||||
|
|
||||||
| App | Service | Port Name | Port | Protocol | Note |
|
| App | Service | Port Name | Port | Protocol | Note |
|
||||||
|
|||||||
Reference in New Issue
Block a user