Skip to content

Commit

Permalink
feat(portainer): add portainer (#3859)
Browse files Browse the repository at this point in the history
* feat(portainer): add portainer

* edge is probably tcp

* fix and add few things

* whoops

* no quotes

* update probes

* rootless

* probes
  • Loading branch information
stavros-k authored Sep 24, 2022
1 parent 8823369 commit 64e19ec
Show file tree
Hide file tree
Showing 9 changed files with 352 additions and 0 deletions.
30 changes: 30 additions & 0 deletions charts/incubator/portainer-ce/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl
# docs folder
/docs
# icon
icon.png
26 changes: 26 additions & 0 deletions charts/incubator/portainer-ce/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: v2
appVersion: "10.6.2"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.5.10
description: Container management made easy
home: https://truecharts.org/docs/charts/stable/portainer-ce
icon: https://truecharts.org/img/hotlink-ok/chart-icons/portainer-ce.png
keywords:
- portainer
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: portainer-ce
sources:
- https://docs.portainer.io/v/ce-2.11/start/install/server/kubernetes/baremetal
- https://hub.docker.com/r/portainer/portainer-ce
version: 0.0.1
annotations:
truecharts.org/catagories: |
- management
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U
Empty file.
Binary file added charts/incubator/portainer-ce/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
191 changes: 191 additions & 0 deletions charts/incubator/portainer-ce/questions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{controller}
# Include{controllerDeployment}
# Include{replicas}
# Include{replica1}
# Include{strategy}
# Include{recreate}
# Include{controllerExpert}
# Include{controllerExpertExtraArgs}
- variable: portainer
group: Container Configuration
label: Portainer Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: logo
label: Logo URL
description: Specifies the URL to the image to be displayed as a logo in the UI. If not specified, the Portainer logo is used instead.
schema:
type: string
default: ""
- variable: templates
label: Templates URL
description: Specifies the URL to the templates (apps) definitions.
schema:
type: string
default: ""
- variable: edge_compute
label: Edge Compute
description: Automatically enables Edge Compute features.
schema:
type: boolean
default: false
- variable: snapshot_interval
label: Snapshot Interval
description: Specifies the time interval between two environment snapshot jobs expressed as a string. For example 30s, 5m, 1h… Supported by the time.ParseDuration method
schema:
type: string
default: 5m
- variable: hide_labels
label: Hide Labels
description: Hides containers with a specific label in the UI. Format "label=value"
schema:
type: list
default: []
items:
- variable: label
label: Label
schema:
type: string
default: ""
# Include{containerConfig}
# Include{serviceRoot}
- variable: main
label: Main Service
description: The Primary service on which the healthcheck runs, often the webUI
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: main
label: Main Service Port Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
description: This port exposes the container port on the service
schema:
type: int
default: 10400
required: true
# Include{advancedPortHTTPS}
- variable: targetPort
label: Target Port
description: The internal(!) port on the container the Application runs on
schema:
type: int
default: 9443
- variable: edge
label: Edge Service
description: The Edge Service
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: edge
label: Edge Service Port Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
description: This port exposes the container port on the service
schema:
type: int
default: 10401
required: true
# Include{advancedPortTCP}
- variable: targetPort
label: Target Port
description: The internal(!) port on the container the Application runs on
schema:
type: int
default: 10401
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: config
label: App Config Storage
description: Stores the Application Configuration.
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: Main Ingress
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: Privileged mode
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: ReadOnly Root Filesystem
schema:
type: boolean
default: true
- variable: allowPrivilegeEscalation
label: Allow Privilege Escalation
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: runAsNonRoot
schema:
type: boolean
default: true
# Include{securityContextAdvanced}
# Include{podSecurityContextRoot}
- variable: runAsUser
label: runAsUser
description: The UserID of the user running the application
schema:
type: int
default: 568
- variable: runAsGroup
label: runAsGroup
description: The groupID this App of the user running the application
schema:
type: int
default: 568
- variable: fsGroup
label: fsGroup
description: The group that should own ALL storage.
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
# Include{documentation}
22 changes: 22 additions & 0 deletions charts/incubator/portainer-ce/templates/_args.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{{- define "portainer.args" -}}
args:
- --tunnel-port={{ .Values.service.edge.ports.edge.port }}
- --http-disabled
{{- with .Values.portainer.logo }}
- --logo={{ . }}
{{- end }}
{{- with .Values.portainer.templates }}
- --templates={{ . }}
{{- end }}
{{- if .Values.portainer.edge_compute }}
- --edge-compute
{{- end }}
{{- with .Values.portainer.snapshot_interval }}
- --snapshot-interval={{ . }}
{{- end }}
{{- if .Values.portainer.hide_labels }}
{{- range .Values.portainer.hide_labels }}
- --hide-label={{ . }}
{{- end }}
{{- end }}
{{- end -}}
10 changes: 10 additions & 0 deletions charts/incubator/portainer-ce/templates/common.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.common.loader.init" . }}

{{- $newArgs := (include "portainer.args" . | fromYaml) }}
{{- $_ := set .Values "newArgs" $newArgs -}}
{{- $args := concat .Values.args .Values.newArgs.args }}
{{- $_ := set .Values "args" $args -}}

{{/* Render the templates */}}
{{ include "tc.common.loader.apply" . }}
72 changes: 72 additions & 0 deletions charts/incubator/portainer-ce/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
image:
repository: tccr.io/truecharts/portainer-ce
tag: 2.15.1@sha256:fa301d57c2e4668a911ebedf920af5639dc101d3cea0a3266885a999a0c4398b
pullPolicy: IfNotPresent

portainer:
# Logo URL
logo: ""
# Templates URL
templates: ""
# Enables Edge Compute Features
edge_compute: false
# Sets Snapshot interval
snapshot_interval: 5m
hide_labels:
# - label1=value1
# - label2=value2

serviceAccount:
main:
enabled: true

rbac:
main:
enabled: true

probes:
liveness:
custom: true
spec:
httpGet:
path: /
port: 9443
scheme: HTTPS
readiness:
custom: true
spec:
httpGet:
path: /
port: 9443
scheme: HTTPS
startup:
custom: true
spec:
httpGet:
path: /
port: 9443
scheme: HTTPS

service:
main:
ports:
main:
port: 10400
protocol: HTTPS
targetPort: 9443
edge:
enabled: true
ports:
edge:
enabled: true
port: 10401
protocol:
targetPort: 10401

persistence:
data:
enabled: true
mountPath: "/data"

portal:
enabled: true
1 change: 1 addition & 0 deletions cspell.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ words:
- playout
- plex
- plextraktsync
- portainer
- preconfigured
- prefs
- preload
Expand Down

0 comments on commit 64e19ec

Please sign in to comment.