Thanks to all developers opinions, I will complete the proposal in the near
future


Best,
Huajie Wang



gongzhongqiang <[email protected]> 于2024年4月2日周二 15:55写道:

> Hi Ben,
>
> I agree with the points you've made. It will be clear for users.
>
> Best regards,
>
> Zhongqiang Gong
>
> Huajie Wang <[email protected]> 于2024年3月30日周六 18:08写道:
>
> > hi devs:
> >
> >
> > Currently, the streampark platform provides multiple configuration
> > files for user configuration, such as: application.yml,
> > application-pgsql.yml, application-mysql.yml, kerberos.yml... , We can
> > improve these configuration files. Many config files are internal
> > system configurations, for example, in application.yml, a large number
> > of configurations are internal platform configurations, such as
> > jackson config for integration Spring Boot, swagger-ui config. the
> > 'allow-circular-references' parameter for Spring... These do not need
> > user configuration and should not be exposed to users.
> >
> > application.yml:
> > ```yaml
> >
> > server:
> >   port: 10000
> >   undertow:
> >     buffer-size: 1024
> >     direct-buffers: true
> >     threads:
> >       io: 4
> >       worker: 20
> >
> > logging:
> >   level:
> >     root: info
> >
> > knife4j:
> >   enable: true
> >   basic:
> >     # basic authentication, used to access swagger-ui and doc
> >     enable: false
> >     username: admin
> >     password: streampark
> >
> > springdoc:
> >   api-docs:
> >     enabled: true
> >   swagger-ui:
> >     path: /swagger-ui.html
> >   packages-to-scan: org.apache.streampark.console
> >
> > spring:
> >   profiles.active: h2 #[h2,pgsql,mysql]
> >   application.name: StreamPark
> >   devtools.restart.enabled: false
> >   mvc.pathmatch.matching-strategy: ant_path_matcher
> >   servlet:
> >     multipart:
> >       enabled: true
> >       max-file-size: 500MB
> >       max-request-size: 500MB
> >   aop.proxy-target-class: true
> >   messages.encoding: utf-8
> >   jackson:
> >     date-format: yyyy-MM-dd HH:mm:ss
> >     time-zone: GMT+8
> >     deserialization:
> >       fail-on-unknown-properties: false
> >   main:
> >     allow-circular-references: true
> >     banner-mode: off
> >   mvc:
> >     converters:
> >       preferred-json-mapper: jackson
> >
> > management:
> >   endpoints:
> >     web:
> >       exposure:
> >         include: [ 'health', 'httptrace', 'metrics' ]
> >   endpoint:
> >     health:
> >       enabled: true
> >       show-details: always
> >       probes:
> >         enabled: true
> >   health:
> >     ldap:
> >       enabled: false
> >
> > streampark:
> >   proxy:
> >     # knox process address
> > https://cdpsit02.example.cn:8443/gateway/cdp-proxy/yarn
> >     yarn-url:
> >     # lark alert proxy,default https://open.feishu.cn
> >     lark-url:
> >   yarn:
> >       # default simple, or kerberos
> >     http-auth: simple
> >
> >   # HADOOP_USER_NAME
> >   hadoop-user-name: hdfs
> >   # local workspace, used to store source code and build dir etc.
> >   workspace:
> >     local: /opt/streampark_workspace
> >     remote: hdfs:///streampark   # support hdfs:///streampark/ 、
> > /streampark 、hdfs://host:ip/streampark/
> >
> >   # remote docker register namespace for streampark
> >   docker:
> >     # instantiating DockerHttpClient
> >     http-client:
> >       max-connections: 10000
> >       connection-timeout-sec: 10000
> >       response-timeout-sec: 12000
> >       docker-host: ""
> >
> >   # flink-k8s tracking configuration
> >   flink-k8s:
> >     tracking:
> >       silent-state-keep-sec: 10
> >       polling-task-timeout-sec:
> >         job-status: 120
> >         cluster-metric: 120
> >       polling-interval-sec:
> >         job-status: 2
> >         cluster-metric: 3
> >     # If you need to specify an ingress controller, you can use this.
> >     ingress:
> >       class: nginx
> >
> >   # packer garbage resources collection configuration
> >   packer-gc:
> >     # maximum retention time for temporary build resources
> >     max-resource-expired-hours: 120
> >     # gc task running interval hours
> >     exec-cron: 0 0 0/6 * * ?
> >
> >   shiro:
> >     # token timeout, unit second
> >     jwtTimeOut: 86400
> >     # backend authentication-free resources url
> >     anonUrl: >
> >
> > ldap:
> >   # Is ldap enabled? If so, please modify the urls
> >   enable: false
> >   ## AD server IP, default port 389
> >   urls: ldap://99.99.99.99:389
> >   ## Login Account
> >   base-dn: dc=streampark,dc=com
> >   username: cn=Manager,dc=streampark,dc=com
> >   password: streampark
> >   user:
> >     identity-attribute: uid
> >     email-attribute: mail
> >
> > ```
> >
> >
> > So, I propose that we improve these configurations by providing users
> > with only one configuration file(only one). The configurations in this
> > file should be completely user-focused, clear, and core
> > configurations.
> >
> > e.g:
> > ```yaml
> >
> > # logging level
> > logging.level.root: info
> > # server port
> > server.port: 10000
> > # The user's login session has a validity period. If it exceeds this
> > time, the user will be automatically logout
> > # unit: s|m|h|d, s: second, m:minute, h:hour, d: day
> > server.session.ttl: 2h # unit[s|m|h|d], e.g: 24h, 2d....
> >
> > # see:
> >
> https://github.com/undertow-io/undertow/blob/master/core/src/main/java/io/undertow/Undertow.java
> > server.undertow.direct-buffers: true
> > server.undertow.buffer-size: 1024
> > server.undertow.threads.io: 16
> > server.undertow.threads.worker: 256
> >
> > # system database, default h2, mysql|pgsql|h2
> > datasource.dialect: h2 # h2, pgsql
> > #-------if datasource.dialect is mysql or pgsql, it is necessary to
> > set-------
> > datasource.username:
> > datasource.password:
> > # mysql jdbc url example:
> > # datasource.url:
> >
> >
> jdbc:mysql://localhost:3306/streampark?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
> > # postgresql jdbc url example:
> > # datasource.url:
> > jdbc:postgresql://localhost:5432/streampark?stringtype=unspecified
> > datasource.url:
> >
> >
> #---------------------------------------------------------------------------------
> >
> > # Directory for storing locally built project
> > streampark.workspace.local: /tmp/streampark
> > # The root hdfs path of the jars, Same as yarn.provided.lib.dirs for
> > flink on yarn-application
> > # and Same as --jars for spark on yarn
> > streampark.workspace.remote: hdfs:///streampark/
> > # hadoop yarn proxy path, e.g: knox process address
> > https://streampark.com:8443/proxy/yarn
> > streampark.proxy.yarn-url:
> > # lark proxy address, default https://open.feishu.cn
> > streampark.proxy.lark-url:
> > # flink on yarn or spark on yarn, monitoring job status from yarn, it
> > is necessary to set hadoop.http.authentication.type
> > streampark.yarn.http-auth: simple  # default simple, or kerberos
> > # flink on yarn or spark on yarn, it is necessary to set
> > streampark.hadoop-user-name: hdfs
> > # flink on k8s ingress setting, If an ingress controller is specified
> > in the configuration, the ingress class
> > #  kubernetes.io/ingress.class must be specified when creating the
> > ingress, since there are often
> > #  multiple ingress controllers in a production environment.
> > streampark.flink-k8s.ingress.class: nginx
> >
> > # sign streampark with ldap.
> > ldap.enable: false  # ldap enabled
> > ldap.urls: ldap://99.99.99.99:389 #AD server IP, default port 389
> > ldap.base-dn: dc=streampark,dc=com  # Login Account
> > ldap.username: cn=Manager,dc=streampark,dc=com
> > ldap.password: streampark
> > ldap.user.identity-attribute: uid
> > ldap.user.email-attribute: mail
> >
> > # flink on yarn or spark on yarn, when the hadoop cluster enable
> > kerberos authentication,
> > # it is necessary to set up Kerberos authentication related parameters.
> > security.kerberos.login.enable: false
> > security.kerberos.login.debug: false
> > # kerberos principal path
> > security.kerberos.login.principal:
> > security.kerberos.login.krb5:
> > security.kerberos.login.keytab:
> > security.kerberos.ttl: 2h # unit [s|m|h|d]
> >
> > ```
> >
> > this is issue:
> https://github.com/apache/incubator-streampark/issues/3641
> >
> > What's your opinion on this? Welcome to discuss
> >
> >
> >
> > Best,
> > Huajie Wang
> >
>

Reply via email to